heartbeat v2 haresource配置高可用集群
一、環境介紹:
Node1:
CentOS6 192.168.9.168 192-168-9-168
CentOS6 192.168.9.176 192-168-9-176
VIP: 192.168.9.144
heartbeat和httpd為yum安裝
二、環境部署
服務器初始化腳本執行(主要時間同步,防火墻,主機名,ip配置,關閉不必要服務等)
1,更改yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo
yum clean all
2,安裝epel
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-6.noarch.rpm
3,設置主機名
hostname
vim /etc/sysconfig/network
4,綁定host
cat /etc/hosts
192.168.9.168 192-168-9-168
192.168.9.176 192-168-9-176
可配置秘鑰通信:
ssh-keygen -P ''
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh 192.168.9.168 'date'
5,安裝heartbeat
yum install -y heartbeat
cp /usr/share/doc/heartbeat-3.0.4/{ha.cf,haresources} /etc/ha.d/
安裝httpd
yum install -y httpd
6,配置
# grep -v ^# /etc/ha.d/ha.cf | grep -v ^$
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
mcast eth0 225.23.190.1 694 1 0
auto_failback on
node 192-168-9-168
node 192-168-9-176
ping 192.168.9.1
respawn hacluster /usr/lib64/heartbeat/ipfail
配置詳解:
logfile /var/log/ha-log #日誌文件
#logfacility local0 #日誌記錄設備
keepalive 2 #心跳間隔(秒)
deadtime 15 #腦裂等不正常事件後,多久認為對方故障(秒)
warntime 10 #在日誌中發出"late heartbeat"警告之前等待的時間
initdead 120 #在某些配置下,重啟後網絡需要一些時間才能正常工作。要大於deadtime
udpport 694 #使用端口694進行bcast和ucast通信。這是默認的,並且在IANA官方註冊的端口號。
#bcast eth0 # 集群消息的傳遞方式,廣播,Linux可用
mcast eth0 225.23.190.1 694 1 0 #組播
#ucast eth0 192.168.1.2 #單播
auto_failback on #主節點重新恢復,將從從節點取回所有資源。若該選項設置為off,主節點便不能重新獲得資源。
#stonith baytech /etc/ha.d/conf/stonith.baytech #定義STONITH設備
node 192-168-9-168 #定義集群所有節點,後面節點名稱必須與"uname -n"一致
node 192-168-9-176 #定義集群所有節點
ping 192.168.9.1 #ping第三方設備(這裏ping網關)
# cat /etc/ha.d/authkeys
auth 3
#1 crc
#2 sha1 HI!
3 md5 sinashow213
chmod 600 /etc/ha.d/authkeys
# grep -v ^# /etc/ha.d/haresources | grep -v ^$
192-168-9-168 IPaddr::192.168.9.144/24/eth0 httpd
配置詳解:
#每一行表示一個資源(組),這裏表示192-168-9-168節點為首先運行的主節點,然後通過~/ha.d/resource.d/目錄下的資源代理IPaddr來配置VIP,使其配置在eth0的別名上,最後就是通過/etc/rc.d/init.d/目錄下LSB資源代理腳本來管理httpd服務。
7. 啟動heartbeat
/etc/init.d/heartbeat start && chkconfig heartbeat on
8. 查看ip addr
9. 測試自動切換(/usr/share/heartbeat/hb_standby)
heartbeat v2 haresource配置高可用集群