http://freeloda.blog.51cto.com/2033581/1275384
成都創(chuàng)新互聯(lián)專注于泰興企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。泰興網(wǎng)站建設(shè)公司,為泰興等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
升級內(nèi)核:
http://88fly.blog.163.com/blog/static/1226803902013111345347479/
常見錯誤
http://blog.csdn.net/t1anyuan/article/details/52143789
heartbeat
http://www.iyunv.com/thread-39963-1-1.html
http://czmmiao.iteye.com/blog/1174010
http://www.linuxidc.com/Linux/2014-04/99503.htm
http://oldboy.blog.51cto.com/2561410/515345
http://oldboy.blog.51cto.com/2561410/1240412
大綱
一、前言
二、DRBD 是什么
三、DRBD 主要功能
四、DRBD 工作原理
五、DRBD與HA 集群
六、DRBD 復(fù)制模式
七、DRBD 配置工具
八、DRBD 配置文件
九、DRBD 資源
十、DRBD 支持的底層設(shè)備
十一、DRBD 配置步驟
十二、安裝與配置 DRBD 詳解
十三、DRBD 雙主模式配置示例
一、前言
在這一篇博文中我們主要講解DRBD,在這里說點題外話,其實學(xué)習(xí)任何Linux知識點,最好的方式就是去看官方文檔,這是Linux的特點,也是開源精神的體現(xiàn),不但提供軟件,還提供學(xué)習(xí)資料,這里DRBD的官方文檔http://www.drbd.org/users-guide/把DRBD講的非常詳細(xì),但是全是英文的,學(xué)習(xí)Linux有點好,就是有很多博友受開源精神影響,也會去做很無私事,這不有哥們就把我們的文檔翻譯出來了,這是翻譯版供大家參考http://blog.csdn.net/liuyunfengheda/article/details/6460814,我在這里主要說一下DRBD的重要知識點,有時間的博友可以認(rèn)真的學(xué)習(xí)一下官方文檔。
二、DRBD 是什么
簡單的說,DRBD (Distributed Replicated Block Device,分布式復(fù)制塊設(shè)備)是由內(nèi)核模塊和相關(guān)腳本而構(gòu)成,用以構(gòu)建高可用性的集群。其實現(xiàn)方式是通過網(wǎng)絡(luò)來鏡像整個設(shè)備。你可以把它看作是一種網(wǎng)絡(luò)RAID1。
三、DRBD 主要功能
簡單說一下DRBD主要功能,DRBD 負(fù)責(zé)接收數(shù)據(jù),把數(shù)據(jù)寫到本地磁盤,然后通過網(wǎng)絡(luò)將同樣的數(shù)據(jù)發(fā)送給另一個主機(jī),另一個主機(jī)再將數(shù)據(jù)存到自己的磁盤中。
四、DRBD 工作原理
每個設(shè)備(drbd 提供了不止一個設(shè)備)都有一個狀態(tài),可能是‘主’狀態(tài)或‘從’狀態(tài)。在主節(jié)點上,應(yīng)用程序應(yīng)能運行和訪問drbd設(shè)備(/dev/drbd*)。每次寫入都會發(fā)往本地磁盤設(shè)備和從節(jié)點設(shè)備中。從節(jié)點只能簡單地把數(shù)據(jù)寫入它的磁盤設(shè)備上。 讀取數(shù)據(jù)通常在本地進(jìn)行。 如果主節(jié)點發(fā)生故障,心跳(heartbeat或corosync)將會把從節(jié)點轉(zhuǎn)換到主狀態(tài),并啟動其上的應(yīng)用程序。(如果您將它和無日志FS 一起使用,則需要運行fsck)。如果發(fā)生故障的節(jié)點恢復(fù)工作,它就會成為新的從節(jié)點,而且必須使自己的內(nèi)容與主節(jié)點的內(nèi)容保持同步。當(dāng)然,這些操作不會干擾到后臺的服務(wù)。
五、DRBD與HA 集群
大部分現(xiàn)行高可用性集群(如:惠普、IBM、Dell)使用的是共享存儲器,因此存儲器連接多個節(jié)點(用共享的SCSI 總線或光纖通道就可以做到)。DRBD 也可以作為一個共享的設(shè)備,但是它并不需要任何不常見的硬件。它在IP 網(wǎng)絡(luò)中運行,而且在價格上IP 網(wǎng)絡(luò)要比專用的存儲網(wǎng)絡(luò)經(jīng)濟(jì)的多。目前,DRBD 每次只允許對一個節(jié)點進(jìn)行讀寫訪問,這對于通常的故障切換高可用性集群來講已經(jīng)足夠用了?,F(xiàn)在的版本將支持兩個節(jié)點同時進(jìn)行讀寫存取。這很有用,比如對GFS 來講就是如此。兼容性DRBD可以在IDE、SCSI 分區(qū)和整個驅(qū)動器之上運行,但不能在回路模塊設(shè)備上運行。(如果您硬要這樣做,它就會發(fā)生死鎖)。DRBD 也不能在回送網(wǎng)絡(luò)設(shè)備中運行。(因為它同樣會發(fā)生死鎖:所有請求都會被發(fā)送設(shè)備占用,發(fā)送流程也會阻塞在sock_sendmsg()中。有時,接收線程正從網(wǎng)絡(luò)中提取數(shù)據(jù)塊,并試圖把它放在高速緩存器中;但系統(tǒng)卻要把一些數(shù)據(jù)塊從高速緩存器中取到磁盤中。這種情況往往會在接收器的環(huán)境下發(fā)生,因為所有的請求都已經(jīng)被接收器塊占用了。
六、DRBD 復(fù)制模式
協(xié)議A:異步復(fù)制協(xié)議。本地寫成功后立即返回,數(shù)據(jù)放在發(fā)送buffer中,可能丟失。
協(xié)議B:內(nèi)存同步(半同步)復(fù)制協(xié)議。本地寫成功并將數(shù)據(jù)發(fā)送到對方后立即返回,如果雙機(jī)掉電,數(shù)據(jù)可能丟失。
協(xié)議C:同步復(fù)制協(xié)議。本地和對方寫成功確認(rèn)后返回。如果雙機(jī)掉電或磁盤同時損壞,則數(shù)據(jù)可能丟失。
一般用協(xié)議C,但選擇C協(xié)議將影響流量,從而影響網(wǎng)絡(luò)時延。為了數(shù)據(jù)可靠性,我們在生產(chǎn)環(huán)境中還是用C協(xié)議。
七、DRBD 配置工具
drbdadm:高級管理工具,管理/etc/drbd.conf,向drbdsetup和drbdmeta發(fā)送指令。
drbdsetup:配置裝載進(jìn)kernel的DRBD模塊,平時很少直接用。
drbdmeta:管理META數(shù)據(jù)結(jié)構(gòu),平時很少直接用。
八、DRBD 配置文件
DRBD的主配置文件為/etc/drbd.conf;為了管理的便捷性,目前通常會將些配置文件分成多個部分,且都保存至/etc/drbd.d目錄中,主配置文件中僅使用"include"指令將這些配置文件片斷整合起來。通常,/etc/drbd.d目錄中的配置文件為global_common.conf和所有以.res結(jié)尾的文件。其中g(shù)lobal_common.conf中主要定義global段和common段,而每一個.res的文件用于定義一個資源。
在配置文件中,global段僅能出現(xiàn)一次,且如果所有的配置信息都保存至同一個配置文件中而不分開為多個文件的話,global段必須位于配置文件的最開始處。目前global段中可以定義的參數(shù)僅有minor-count, dialog-refresh, disable-ip-verification和usage-count。
common段則用于定義被每一個資源默認(rèn)繼承的參數(shù),可以在資源定義中使用的參數(shù)都可以在common段中定義。實際應(yīng)用中,common段并非必須,但建議將多個資源共享的參數(shù)定義為common段中的參數(shù)以降低配置文件的復(fù)雜度。
resource段則用于定義drbd資源,每個資源通常定義在一個單獨的位于/etc/drbd.d目錄中的以.res結(jié)尾的文件中。資源在定義時必須為其命名,名字可以由非空白的ASCII字符組成。每一個資源段的定義中至少要包含兩個host子段,以定義此資源關(guān)聯(lián)至的節(jié)點,其它參數(shù)均可以從common段或drbd的默認(rèn)中進(jìn)行繼承而無須定義。
九、DRBD 資源
Resource name:可以是除了空白字符的任意的ACSII碼字符
DRBD device:在雙方節(jié)點上,此DRBD設(shè)備的設(shè)備文件;一般為/dev/drbdN,其主設(shè)備號147
Disk configuration:在雙方節(jié)點上,各自提供的存儲設(shè)備
Nerwork configuration:雙方數(shù)據(jù)同步時所使用的網(wǎng)絡(luò)屬性
案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | resource web { #資源名為“web” on node1.magedu.com { #設(shè)置節(jié)點cluster1 device /dev/drbd0 ; #指出drbd的標(biāo)示名 disk /dev/sda5 ; #指出作為drbd的設(shè)備 address 172.16.100.11:7789; #指定ip和端口號 meta-disk internal; #網(wǎng)絡(luò)通信屬性,指定drbd的元數(shù)據(jù)在本機(jī) } on node2.magedu.com { device /dev/drbd0 ; disk /dev/sda5 ; address 172.16.100.12:7789; meta-disk internal; } } |
十、DRBD 支持的底層設(shè)備
DRBD需要構(gòu)建在底層設(shè)備之上,然后構(gòu)建出一個塊設(shè)備出來。對于用戶來說,一個DRBD設(shè)備,就像是一塊物理的磁盤,可以在商脈內(nèi)創(chuàng)建文件系統(tǒng)。DRBD所支持的底層設(shè)備有以下這些類:
一個磁盤,或者是磁盤的某一個分區(qū)。
一個soft raid 設(shè)備。
一個LVM的邏輯卷。
一個EVMS(Enterprise Volume Management System,企業(yè)卷管理系統(tǒng))的卷。
其他任何的塊設(shè)備。
十一、DRBD 配置步驟
安裝drbd
配置資源文件(定義資料名稱,磁盤,節(jié)點信息,同步限制等)
將drbd加入到系統(tǒng)服務(wù)chkconfig --add drbd
初始化資源組drbdadm create-md resource_name
啟動服務(wù) service drbd start
設(shè)置primary主機(jī),并同步數(shù)據(jù)
分區(qū)、格式化/dev/drbd*
一個節(jié)點進(jìn)行掛載
查看狀態(tài)
十二、安裝與配置 DRBD 詳解
1.實驗拓?fù)?/p>
2.實驗環(huán)境
(1).操作系統(tǒng)
CentOS 6.4 X86_64
(2).軟件環(huán)境
kmod-drbd84-8.4.2-1.el6_3.elrepo.x86_64
drbd84-utils-8.4.2-1.el6.elrepo.x86_64
(3).安裝epel源
node1:
1 2 3 4 5 6 7 8 | [root@node1 src] # wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@node1 src] # rpm -ivh epel-release-6-8.noarch.rpm warning: epel-release-6-8.noarch.rpm: Header V3 RSA /SHA256Signature , key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@node1 src] # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [root@node1 ~] # rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm [root@node1 ~] # yum list |
node2:
1 2 3 4 5 6 7 8 | [root@node2 src] # wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@node2 src] # rpm -ivh epel-release-6-8.noarch.rpm warning: epel-release-6-8.noarch.rpm: Header V3 RSA /SHA256Signature , key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@node2 src] # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [root@node2 ~] # rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm [root@node2 ~] # yum list |
3.安裝DRBD
說明:drbd共有兩部分組成:內(nèi)核模塊和用戶空間的管理工具。其中drbd內(nèi)核模塊代碼已經(jīng)整合進(jìn)Linux內(nèi)核2.6.33以后的版本中,因此,如果您的內(nèi)核版本高于此版本的話,你只需要安裝管理工具即可;否則,您需要同時安裝內(nèi)核模塊和管理工具兩個軟件包,并且此兩者的版本號一定要保持對應(yīng)。CentOS 6.4的內(nèi)核版本是2.6.32-358.el6.x86_64,所以還提安裝內(nèi)核模塊。
node1:
1 | [root@node1 ~] # yum -y install drbd84 kmod-drbd84 |
node2:
1 | [root@node2 ~] # yum -y install drbd84 kmod-drbd84 |
4.配置DRBD
(1).查看一下配置文件
1 2 3 4 5 | [root@node1 ~] # ll /etc/drbd.conf /etc/drbd.d/ -rw-r--r-- 1 root root 133 9月 6 2012 /etc/drbd .conf /etc/drbd .d/: 總用量 4 -rw-r--r-- 1 root root 1650 9月 6 2012 global_common.conf |
名稱欄目:DRBD+heartbeat介紹及安裝測試
URL鏈接:http://aaarwkj.com/article42/jpopec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)頁設(shè)計公司、網(wǎng)站營銷、動態(tài)網(wǎng)站、定制網(wǎng)站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)