這裡首先感謝酒哥的構建高可用的Linux伺服器的這本書,看了這本書上並參考裡面的配置讓自己對DRBD+HeartBeat+NFS思路清晰了許多。
drbd簡單來說就是一個網路raid-1,一般有2到多個node節點,各個節點建立的磁碟塊會映射到本地drbd塊,而後通過網路對各個節點drbd磁碟塊進行互相同步更新。
heartbeat的作用就可以增加drbd的可用性,它能在某節點故障後,自動切換drbd塊到備份節點,並自動進行虛IP從新綁定,DRBD塊提權,磁碟掛載以及啟動NFS等指令碼操作,這一系列操作因為只在他後端節點間完成,前端使用者訪問的是heartbeat的虛IP,所以對使用者來說無任何感知。
最後吐槽下,yum安裝真心坑爹,以後如果非必須,盡量源碼包安裝。
系統版本: centos6.3 x64(核心2.6.32)
DRBD: DRBD-8.4.3
HeartBeat:epel更新源(真坑)
NFS: 系統內建
HeartBeat VIP: 192.168.7.90
node1 DRBD+HeartBeat: 192.168.7.88(drbd1.example.com)
node2 DRBD+HeartBeat: 192.168.7.89 (drbd2.example.com)
(node1)為僅主節點端配置
(node2)為僅從節點端配置
(node1,node2)為主從節點都需配置
一.DRBD配置,傳送門:http://showerlee.blog.51cto.com/2047005/1211963
二.Hearbeat配置;
這裡接著DRBD系統內容及安裝配置:
1.安裝heartbeat(CentOS6.3中預設不帶有Heartbeat包,因此需要從第三方下載)(node1,node2)
# wget ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/i386/os/Packages/epel-release-6-5.noarch.rpm
# rpm -ivUh epel-release-6-5.noarch.rpm
# yum --enablerepo=epel install heartbeat -y
2.配置heartbeat
(node1)
# vi /etc/ha.d/ha.cf
---------------
# 日誌
logfile /var/log/ha-log
logfacility local0
# 心跳監測時間
keepalive 2
# 死亡時間
deadtime 5
# 指定對方IP:
ucast eth0 192.168.7.89
# 伺服器正常後由主伺服器接管資源,另一台伺服器放棄該資源
auto_failback off
#定義節點
node drbd1.example.com drbd2.example.com
---------------
(node2)
# vi /etc/ha.d/ha.cf
---------------
# 日誌
logfile /var/log/ha-log
logfacility local0