一:安裝兩個linux(rh4.5-32位)系統並關閉防火牆,selinux設置為disable,每台電腦需要配置兩塊網卡。兩台電腦分別為node1和node2
node1的ip地址分別為:
eth0:192.168.0.65
eth1:10.0.0.3 (心跳地址)
node2的ip地址分別為:
eth0:192.168.0.66
eth1:10.0.0.4 (心跳地址)
192.168.0.30(虛擬ip地址)
注意:保證兩台電腦每塊網卡能夠ping通。
二:保證兩台電腦以下文件必須相同
/etc/hosts
/etc/host.conf
/etc/resolv.conf
#vi /etc/hosts
node1的hosts內容如下:
ip地址 域名 機器名
192.168.0.65 node1.example.com node1
10.0.0.3 node1
192.168.0.66 node2.example.com node2
10.0.0.4 node2
(保證機器名和參數uname -n輸出一致)
#vi /etc/host.conf
order hosts,bind
#vi /etc/resolv.conf
nameserver 202.96.209.133(DNS地址如果為空可以根據當地dns輸入)
node2的hosts內容如下:
ip地址 域名 機器名
192.168.0.65 node1.example.com node1
10.0.0.3 node1
192.168.0.66 node2.example.com node2
10.0.0.4 node2
(保證機器名和參數uname -n輸出一致)
#vi /etc/host.conf
order hosts,bind
#vi /etc/resolv.conf
nameserver 202.96.209.133(DNS地址如果為空可以根據當地dns輸入)
三:在兩台電腦上分別安裝heartbeat軟件包。
按如下順序
1:heartbeat-gui-2.1.2-2.el4.centos.i386.rpm
2:heartbeat-pils-2.1.2-2.el4.centos.i386.rpm
3:heartbeat-stonith-2.1.2-2.el4.centos.i386.rpm
4:heartbeat-2.1.2-2.el4.centos.i386.rpm
四:配置文件。
進入目錄/usr/share/doc/heartbeat-2.1.2/目錄,復制authkeys、ha.cf 和 haresources到/etc/ha.d/目錄進行配置。
(這三個文件在兩台電腦裡必須一致。)配置如下:
配置心跳的加密方式:authkeys
#vi /etc/ha.d/authkeys
使用雙機對聯線(網線為交叉線),配置如下:
#vi /etc/hc.d/authkeys
auth 1
1 crc
存盤退出,然後
#chmod 600 authkeys
修改文件權限(必須)
配置心跳的配置文件:ha.cf
#vi /etc/ha.d/ha.cf
logfile /var/log/ha-log (ha的日志文件記錄位置。如沒有該目錄,則需要手動添加)
bcast eth1
keepalive 2 (設定心跳(監測)時間為2秒)
warntime 10 (超出該時間間隔未收到對方節點的心跳,則發出警告並記錄到日志中。)
deadtime 30 (超出該時間間隔未收到對方節點的心跳,則認為對方已經死亡)
initdead 120
(在某些系統上,系統啟動或重啟之後需要經過一段時間網絡才能正常工作,該選項用於解決這種情況產生的時間間隔。取值至少為deadtime的兩倍。)
udpport 694 (使用udp端口694 進行心跳監測)
auto_failback off
nice_failback on
(nice_failback 這一選項在此版本的heartbeat裡沒有,如果沒有可以根據需要手工添加。heartbeat的兩台主機分別為主節點和從節點,主節點在正常情況下占用資源並運行所有的服務,遇到故障時把資源交給從節點並由從節點運行服務。1:當auto_failback選項為on時,一旦主節點恢復運行,則自動恢復資源。2:當auto_failback選項為off並且nice_failback選項為on時,一旦主節點恢復運行,則不會自動恢復資源。此設置為第二種情況。)
node node1 (節點1,必須要與 uname -n 指令得到的結果一致.)
node node2 (節點2)
配置心跳的資源:haresources
#vi /etc/ha.d/haresources
node1 192.168.0.30 httpd mysql(先啟動httpd再啟動mysql,關閉時先關閉mysql再關閉httpd)指定node1啟動httpd和mysql服務,系統附加一個虛擬IP 192.168.0.30給eth0:0。這裡如果node1宕機後,node2可以自動啟動httpd和mysql服務,並新分配IP 192.168.0.30給node2的eth0:0.web服務的監聽地址要設置為虛擬ip地址。
五:設置heartbeat自動啟動(啟動系統時啟動)
cd /etc/rc.d/rc0.d
ln -s /etc/init.d/heartbeat K05heartbeat
cd /etc/rc.d/rc3.d
ln -s /etc/init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc5.d
ln -s /etc/init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc6.d
ln -s /etc/init.d/heartbeat K05heartbeat
(字母S和K為大寫)