利用heartbeat+drbd實現(xiàn)雙機熱備

keepavled是專門為高可用的集群而誕生的,而heartbeat生是雙機熱備的人死是雙機熱備的死人。
大體來說就是heartbeat+drbd。heartbeat自是不用說,用它來實現(xiàn)資源的統(tǒng)一調(diào)度;而drbd就是本文的重頭戲。這是個什么呢?就是實現(xiàn)兩臺機器的兩塊硬盤的實時完整復制(drbd即磁盤鏡像)。它的出現(xiàn),解決了兩臺機器做雙機時的數(shù)據(jù)一致性問題。
ok,廢話半天,說一下本文的實現(xiàn)環(huán)境:
os:ubuntu9.04
ip1:192.168.1.11 drbd1
ip2:192.168.1.12 drbd2
disk:/dev/sdb1(一個8G的分區(qū))
通過drbd,掛在每臺機器上的sdb1這塊分區(qū)將成為咱們“存儲”。let's go !
++++++現(xiàn)在開始兩臺機器配置一樣++++++
1.設定hosts
vi /etc/hosts
192.168.1.11 drbd1
192.168.1.12 drbd2
注意:比如在1.11這臺機器上。drbd1是你執(zhí)行hostname命令看到的,而不是隨手一寫的喲:)
2.安裝并配置drbd
1).安裝drbd。
你可以去http://oss.linbit.com/drbd/下載最新的版本。本文為了方便直接從ubuntu的源進行安裝
apt-get install drbd8-utils
2).創(chuàng)建配置文件
如果用apt-get或者yum的方式安裝的話,會默認創(chuàng)建配置文件,而編譯安裝則不會。不管直接清空或改名,寫入以下內(nèi)容。
vi /etc/drbd.conf
common {
syncer { rate 10M; } #速率
}
resource r0 {
protocol C;
disk { on-io-error detach; }
on drbd1 { #drbd1為第一臺機器的機器名
device /dev/drbd0; #創(chuàng)建的虛擬資源
disk /dev/sdb1; #實際的物理分區(qū),一定要注意,是一個單獨的分區(qū),而且是未經(jīng)格式化的
address 192.168.1.11:7788; #第一臺機器的ip地址,及通訊端口
meta-disk internal; #類型,局域網(wǎng)
}
on drbd2 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.1.12:7788;
meta-disk internal;
}
}
3)創(chuàng)建資源
drbdadm create-md r0 #r0為剛才配置文件里的資源名
會提示三個疑問,如果你英文還可以的話,可以閱讀一下,不然的話,直接回車。在終點你會看到
success
:)
4)啟動drbd服務
/etc/init.d/drbd start
cat /proc/drbd
你應該可以看到

image.png
  注意里面我標注的"Secondary/Secondary"意思是說現(xiàn)在這塊盤是從盤,主盤不知道。

  ++++++現(xiàn)在開始只在drbd1上操作++++++
  5)初始化網(wǎng)絡硬盤
  drbdsetup /dev/drbd0 primary -o
  cat /proc/drbd
image.png
  你會發(fā)現(xiàn)現(xiàn)在已經(jīng)是"Primary/Secondary"了,而且已經(jīng)開始同步硬盤狀態(tài)。
  為了實時的查看同步情況,你可以在drbd1上執(zhí)行
  watch -n1 cat /proc/drbd
image.png
  同步還在進行
image.png
  經(jīng)過一段時間的等待,你會發(fā)現(xiàn)成功完成!
image.png
  同步完成以后,在drbd2上查看硬盤狀態(tài)
image.png
  注意磁盤狀態(tài)是:"Secondary/Primary"
  格式化網(wǎng)絡磁盤
image.png
  6)設置drbd開機啟動
  在兩臺機器上都執(zhí)行
  chkconfig drbd on
  7)手工測試drbd是不是正常工作
  在drbd1上建立3個文件
image.png
  在drbd2上驗證結果
image.png
  ok,我們現(xiàn)在已經(jīng)確定drbd是正常工作的了。也相信在這么細致的介紹下,你已經(jīng)熟悉了它是怎么工作了。我們現(xiàn)在有了“網(wǎng)絡存儲”了。下一步就是讓一個東東幫我們調(diào)度資源了。簡單的幾步配置有請heartbeat出場
  3.配置heartbeat
  1)安裝heartbeat
  apt-get install heartbeat
  2)配置heartbeat
  vi /etc/heartbeat/ha.cf
  logfacility     local0
  keepalive 2
  deadtime 10
  auto_failback off
  bcast   eth0
  node drbd1 drbd2

  vi /etc/heartbeat/haresources
  drbd1 drbddisk::r0 Filesystem::/dev/drbd0::/mnt::ext3

  vi authkeys
  auth 3
  3 md5 abc

  chmod 600 authkeys 
  3)相同的配置復制到drbd2
  scp authkeys haresources ha.cf root@192.168.1.12:/etc/heartbeat/
  4)確保服務都是正常運行的
  /etc/init.d/drbd start
  /etc/init.d/heartbeat start

  5)切換測試
  通過cat /proc/drbd查看drbd的狀態(tài)或者mount查看/mnt是不是已經(jīng)掛載確定資源所在的機器。然后在那臺機器的/mnt新建立一些文件并停掉那臺機器上的heartbeat。看另一臺機器上/mnt是不是被自動掛載了呢?里面是不是有剛創(chuàng)建的文件?good luck!

  總結:基本兩臺linux實現(xiàn)的雙機熱備到此就要結束了?;仡櫼幌颅h(huán)境:兩臺機器;兩塊獨立的分區(qū),最好是一樣大,只分區(qū),而沒有格式化;linux操作系統(tǒng);drbd網(wǎng)絡磁盤;heartbeat實現(xiàn)資源調(diào)度;好像就這么多東西吧??赡苣f了,看完這篇文章,一點實際意義都沒有,因為只是實現(xiàn)了共享磁盤。哈哈,我要說,要想發(fā)揮威力就要仔細的看一下heartbeat的資源調(diào)度了,有了這位大管家,還有啥實現(xiàn)不了的服務呢?

原文地址;http://www.cnblogs.com/fatt/p/4431886.html

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容