實驗環境:html
虛擬機ha1:192.168.61.130node
虛擬機ha2:192.168.61.132vim
vip:192.168.61.100ssh
實驗說明:ide
ha1的httpd服務index.html 內容設置爲ha1spa
ha2的httpd服務index.html 內容設置爲ha2.net
兩主機切換工做時以方便觀察效果rest
注意事項:日誌
(a) .節點間時間必須同步:使用ntp協議實現;server
服務端/etc/ntp.conf供參考:
driftfile/var/lib/ntp/drift
restrict -6default kod nomodify notrap nopeer noquery
restrict127.0.0.1
restrict -6 ::1
restrict192.168.61.0 mask 255.255.255.0 nomodify
restrict 0.0.0.0mask 0.0.0.0 nomodify notrap noquery notrust
server127.127.1.0
fudge 127.127.1.0stratum 8
server220.130.158.71 prefer
server220.130.158.51
includefile/etc/ntp/crypto/pw
keys/etc/ntp/keys
注意:設置重啓服務後必定要等10-15分鐘再嘗試同步,命令:ntpdata 192.168.61.130,對比兩機時間是否同步命令:data;ssh 192.168.61.130 ‘data’
ha2 最好設定一個定時任務,每5分鐘同步時間:
crontab -e
*/5 * * * * /usr/sbin/ntpdata 192.168.61.130
(b) .節點間須要經過主機名互相通訊,必須解析主機至IP地址;
(1)建議名稱解析功能使用hosts文件來實現;
(2)通訊中使用的名字與節點名字必須保持一致:「uname -n」命令,或「hostname」展現出的名字保持一致;
(3) .創建各節點之間的root用戶可以基於密鑰認證;
# ssh-keygen -t rsa -P ''
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@HOSTNAME
(4) .必定要確保SELINUX關閉,iptables清空
注意:定義成爲集羣服務中的資源,必定不能開機自動啓動;由於它們將由crm管理;
ha1配置
安裝heartbeat V2
(a).先安裝epel源,系統源沒有libnet
wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
(b).安裝相關包:
yum install net-snmp-libs libnet PyXML
rpm-ivh heartbeat-2.1.4-12.el6.x86_64.rpm
heartbeat-pils-2.1.4-12.el6.x86_64.rpm
heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
yum install httpd
(c).編輯ha.cf 文件
vim /etc/ha.cf添加內容以下:
logfacility local0#日誌使用rsyslog中local0設定
keepalive1 #監聽頻率,每1秒
deadtime3 #死亡判斷時間
warntime2 #異常警告時間
mcasteth0 225.0.0.1 694 1 0 #組播地址設定
auto_failbackon #修復後自動上線
node ha1 #節點設置
node ha2 #節點設置
ping 192.168.61.2 #第三方仲裁設定
(d).編輯authkeys文件
auth 2
#1 crc
2 sha1HI! #密鑰短語越長越隨機越好
#3 md5Hello!
(e) 編輯haresources添加:
ha1 192.168.61.100 httpd #設定主服務主機名、VIP、服務3個資源
(f)編輯index.html首頁
echo「ha1」 > /var/www/html/index.html
ha2配置
安裝heartbeat V2
(a).先安裝epel源,系統源沒有libnet
wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
(b).安裝相關包:
yum install net-snmp-libs libnet PyXML
rpm-ivh heartbeat-2.1.4-12.el6.x86_64.rpm
heartbeat-pils-2.1.4-12.el6.x86_64.rpm
heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
yum install httpd
(c)拷貝ha1的ha.cf、haresources、authkeys
scp192.168.61.130:/etc/ha.d/{ha.cf,haresources,authkeys} /etc/ha.d/
(d)編輯index.html首頁
echo「ha2」 > /var/www/html/index.html
(e)添加定時校時任務,每5分鐘更新一次時間
crontab-e
*/5* * * * /usr/sbin/ntpdata 192.168.61.130
分別啓動兩機heartbeat服務
service heartbeat start
用其餘主機訪問http://192.168.61.100/index.html, 關閉ha1、ha2其中一臺,刷新網頁就能夠看到網頁內容ha1、ha2輪流顯
示。用ifconfig查看正在工做的主機,能夠發現vip 已經配置在eth0:0上