1、實驗環境
HA1:192.168.1.17(RHEL5.8_32bit,web server)
HA2:192.168.1.18(RHEL5.8_32bit,web server)
NFS:192.168.1.19(RHEL5.8_32bit,nfs server)
VIP:192.168.1.20
2、準備工作
<1> 配置主機名
節點名稱使用/etc/hosts解析;節點名稱必須跟uname -n命令的執行結果一致
HA1:
# hostname node1.ikki.com # vim /etc/sysconfig/network HOSTNAME=node1.ikki.com
HA2:
# hostname node1.ikki.com # vim /etc/sysconfig/network HOSTNAME=node2.ikki.com
<2> 配置節點ssh基於密鑰方式互相通信
HA1:
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' # ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
HA2:
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' # ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
<3> 配置各節點基於主機名互相通信
HA1&HA2:
# vim /etc/hosts 192.168.1.17 node1.ikki.com node1 192.168.1.18 node2.ikki.com node2
<4> 配置各節點時間同步
HA1&HA2:
# crontab -e */5 * * * * /sbin/ntpdate 202.120.2.101 &> /dev/null
3、安裝Heartbeat v2
# yum --nogpgcheck localinstall perl-MailTools-1.77-1.el5.noarch.rpm #yum--nogpgchecklocalinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-gui-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
4、配置Heartbeat v2(各個節點)
# cd /etc/ha.d/ # cp /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} ./ # chmod 600 authkeys
<1> 配置authkeys
生成隨機數:
# dd if=/dev/random count=1 bs=512 | md5sum # vim authkeys auth 1 1 md5 cbe6411e54d9bfbeef9cc1c48c7234fa
<2> 配置ha.cf
# vim ha.cf keepalive 1 # 設置1秒檢測一次心跳 mcast eth0 225.0.100.19 694 1 0 # 設置心跳信息傳遞方式爲多播 node node1.ikki.com # 設置各個節點名稱 node node2.ikki.com ping 192.168.1.1 # 使用ping通網關來判斷存活狀態
<3> 配置haresources(設置VIP和主節點服務)
# vim haresources node1.ikki.com IPaddr::192.168.1.20/24/eth0 httpd
注意以上資源的順序排列(當前資源:VIP、httpd)
5、配置WEB服務(各個節點)
# echo "<h1>node1.ikki.com<h1>" >> /var/www/html/index.html # service httpd stop # chkconfig httpd off
6、啓動Heartbeat v2服務(在主節點HA1上啓動服務並遠程啓動HA2上的服務)
HA1:
# service heartbeat start # ssh node2 'service heartbeat start'
7、測試
訪問http://192.168.1.20/
使用hb_standby將HA1設置爲備節點進行調試:
# /usr/lib/heartbeat/hb_standby
8、搭建NFS服務(用於各節點掛載web目錄)
NFS:
# vim /etc/exports /web/htdocs 192.168.1.0/24(ro) # service nfs start # showmount -e 192.168.1.19 # mkdir -p /web/htdocs # echo "<h1>nfs server<h1>" > /web/htdocs/index.html
9、停止Heartbeat v2服務並配置haresources(各個節點)
# service heartbeat stop # ssh node2 'service heartbeat stop' # vim /etc/ha.d/haresources node1.ikki.com IPaddr::192.168.1.20/24/eth0 Filesystem::192.168.1.19:/web/htdocs::/var/www/html::nfs httpd
注意以上資源的順序排列(當前資源:VIP、Filesystem、httpd)
10、啓動Heartbeat v2服務並測試
HA1:
# service heartbeat start # ssh node2 'service heartbeat start'
訪問http://192.168.1.20/