DRBD測試成功,可是在工做中,咱們不能夠在主節點壞掉以後,再手動的切換到從節點,這樣達不到真正的高可用性,咱們可讓drbd與heardbeat和nfs相結合來實現自動化的切換。node
節點一和節點二的配置方法徹底同樣,我如今只貼再來在rdbd1.a.com配置heardbeat的方法。
12. 配置yum源,安裝heardbeat軟件
[root@drbd1 ~]# mkdir /mnt/cdrom
[root@drbd1 ~]# mount /dev/cdrom /mnt/cdrom
[root@drbd1 ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
Heartbeat軟件須要本身下載,下載好以後,使用本地安裝方式來安裝
[root@drbd1 ~]# yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-ldirectord-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck
13.拷貝配置文件到/etc/ha.d/目錄中
[root@drbd1 ~]# cd /usr/share/doc/heartbeat-2.1.4/
[root@drbd1 heartbeat-2.1.4]# cp ha.cf haresources authkeys /etc/ha.d/
14.配置結點
[root@drbd1 heartbeat-2.1.4]# cd /etc/ha.d
[root@drbd1 ha.d]# vim ha.cf 修改以下幾項
bcast eth1 //廣播網卡
node drbd1.a.com //指明兩個結點
node drbd2.a.com
15. 配置認證文件authkeys
隨機生成一個md5密鑰
[root@drbd1 ha.d]# vim authkeys 寫入以下內容
auth 3
3 md5 fb713288c2d675b9f4db893dde6c7baa
修改權限,必定要修改的
[root@drbd1 ha.d]# chmod 600 authkeys
16.手工建立文件killnfsd
[root@drbd1 ha.d]# vim resource.d/killnfsd
加入以下內容
[root@drbd1 ha.d]# chmod 755 resource.d/killnfsd
配置加載虛擬IP文件
[root@drbd1 ha.d]# vim haresources 加入以下一行
drbd1.a.com IPaddr::192.168.2.11/24/eth0 drbddisk::web Filesystem::/dev/drbd0::/mnt/drbd::ext3 killnfsd
17.配置NFS服務共享
編寫共享
[root@drbd1 ha.d]# vim /etc/exports //寫入以下共享清單
/mnt/drbd 192.168.2.0/24(ro)
導出共享清單
[root@drbd1 ha.d]# exportfs -rv
exporting 192.168.2.10/24:/mnt/drbd
修改nfs啓動腳本
[root@drbd1 ha.d]# vim /etc/init.d/nfs //修改以下
122 killproc nfsd -9
18.啓動nfs與heartbeat服務器
[root@drbd1 ha.d]# service nfs start
[root@drbd1 ha.d]# service heartbeat start
19.測試
查看heartbeat是否正常
由於咱們是把drbd1.a.com作爲主,因此查看是否有eth0:0
也能夠ping通
查看drbd的狀態
能夠看到drbd1.a.com自動變成了主節點
使用測試機掛載,查看內容
能夠看到掛載成功,而且可以獲得文件
如今咱們把主節點破壞掉,再檢查狀況
能夠在drbd1.a.com上看到主節點已經變成了對端
也能夠在drbd2.a.com上查看
也能夠看到自動切換成功
查看測試機有沒有掉線
測試機無影響,可繼續使用。
20.將服務加入開機啓動行列
[root@drbd1 ha.d]# chkconfig nfs on
[root@drbd1 ha.d]# chkconfig drbd on
[root@drbd1 ha.d]# chkconfig heartbeat on
[root@drbd2 drbd.d]# chkconfig nfs on
[root@drbd2 drbd.d]# chkconfig drbd on
[root@drbd2 drbd.d]# chkconfig heartbeat on