本文centos6.0系統:
使用drbd鏡像技術實現後台兩台服務器數據同步,使用heartbeat實現自動切換,開啟nfs提供文件服務
node1:192.168.182.132
node2:192.168.182.128
vip:192.168.182.200
1、配置hosts,安裝drbd、heartbeat、nfs
1>、node1、node2:
vim hosts
192.168.182.132 node1
192.168.182.128 node2
2>、drbd:
yum -y install gcc kernel-devel kernel-headers flex libnet
tar zxvf drbd-8.4.3.tar.gz
cd drbd-8.4.3
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/2.6.32-71.el6.i686/
make install
mkdir -p /usr/local/drbd/var/run/drbd
cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d
chkconfig --add drbd
chkconfig drbd on
cd drbd
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
depmod
modprobe drbd
cd /usr/local/drbd/etc/drbd.d
mv global_common.conf global_common.conf.bak
vim global_common.conf
global {
usage-count yes; #是否參加DRBD使用者統計,默認yes
}
common {
net {
protocol C; #使用drbd的第三種同步協議,表示收到遠程主機的寫入確認後,則認為寫入完成.
}
}
vim r0.res
resource r0 {
on node1 { #每個主機的說明以on開頭,後面是hostname
device /dev/drbd1; #drbd設備名
disk /dev/sdb1; #/dev/drbd1使用的磁盤分區是/dev/sdb1。
address 192.168.182.132:7789; #設置DRBD的監聽端口,用於與另一台主機通信。
meta-disk internal;
}
on node2 {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.182.128:7789;
meta-disk internal;
}
}
3>、 啟動DRBD
drbdadm create-md r0
/etc/init.d/drbd start
node1:執行
drbdsetup /dev/drbd1 primary --o
mkfs.ext4 /dev/drbd1
我們將其掛載到/root/data
目前為止:drbd安裝完畢,已經同步,更詳請見:
http://lansgg.blog.51cto.com/5675165/1194252
4>、在node1、node2上配置nfs(一樣操作)
yum install nfs rpcbind -y
vim /ect/exports
/root/data *(rw,no_root_squash,async)
/etc/init.d.nfs restart
2、現在開始安裝heartbeat及配置
yum install heartbeat -y
cp /usr/share/doc/heartbeat-3.0.4/authkeys ha.cf haresources /etc/ha.d/
1、node1配置ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
ucast eth0 192.168.182.128
auto_failback off
node node1
node node2
ping 192.168.182.2
respawn root /usr/lib/heartbeat/ipfail
++++++++++++++++++++++++++++++++
node2的ha.cf和上面一樣,只是ucast eth0 192.168.182.132(對方IP)
配置/etc/ha.d/authkeys
auth 2
#1 crc
2 sha1 heartbeat
#3 md5 Hello!
node2同上
配置/etc/ha.d/haresources
node1 IPaddr::192.168.182.200/24/eth0 drbddisk::r0 Filesystem::/dev/drbd1::/root/data::ext4 nfs
node2同上
cp /usr/local/drbd/etc/ha.d/resource.d/drbddisk /etc/ha.d/resource.d/
node2同上
4、啟動heartbeat
/etc/init.d/heartbeat start
現在為止:你會發現node1上網卡
將node1上heartbeat關閉:你會發現node2
drbd自動升級primary
vip自動漂移
mount 自動掛載
Ps:同樣,你啟動node1的heartbeat,關閉node2的,你會發現,node1的nfs,drbd,vip都進行了相應的操作;
5、測試:
在客戶端進行掛載,並且也掛載到當前的/root/data
繼續測試:
1、當你在客戶端寫入文件時,進行node間的切換嘗試;
看此時寫數據有影響不,發現DRBD+Heartbeat正常切換還是需要些時間的;
2、正常狀態下關機Primary機,然後看數據有無問題,觀察DRBD的status;然後等主機啟動後,再觀察變化,然後再關機secondary,然後再啟動,觀察DRBD變化及Heartbeat起作用了沒。
出處:http://lansgg.blog.51cto.com/5675165/1205281