1、 heartbeat和KeepAlived同樣都是服務器級別的,不是業務級別的。業務宕機不會切換,須要對業務作監控。vim
2、heartbeat消息類型:centos
1. 心跳消息服務器
150字節左右,能夠單播,多播和廣播,控制心跳頻率和故障接管等待時間。工具
2. 集羣轉換消息spa
1. ip-request 主機恢復正常後發送該消息要求接管的備機釋放資源。ip
2. ip-request-resp 備機釋放資源後通知主機再也不擁有資源。資源
3. 重傳請求(略)rexmit-request控制重傳心跳請求路由
以上消息均經過UDP協議發送到/etc/ha.d/ha.cf文件中指定的端口或多播地址。it
3、heartbeat的IP接管和故障轉移table
heartbeat是經過IP地址接管和ARP廣播來轉移的。
4、配置VIP,增長心跳線主機路由
route add -host 192.168.1.45 dev eth1
route add -host 192.168.1.44 dev eth1
5、centos6已經沒法yum install heartbeat,須要先安裝epel源。
yum install heartbeat
若是是centos5.8,必定要yum安裝兩遍才能成功。
6、配置
ha的yum安裝默認模板文件在/usr/share/doc/heartbeat-3.0.4/目錄
安裝目錄在/etc/ha.d
cp authkeys ha.cf haresources /etc/ha.d/
IPaddr::135.9.8.7/24/eth0這個命令等價於(實際上是個腳本傳參)
/etc/ha.d/resource.d/IPaddr 135.9.8.7/24/eth0 start|stop
ha的3個配置文件:
1. authkeys 對端通訊密鑰文件,防止沒有權限的節點加入。
2. haresources是資源管理配置文件,用於管理haresources.d下面的資源管理工具。
3. ha.cf爲ha服務的配置文件。
authkeys文件權限必須爲600。
#vi /etc/sysconfig/iptables
在主節點中加入如下內容
-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 192.168.50.1 -j ACCEPT
在從節點中加入如下內容
-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 192.168.50.2 -j ACCEPT
從新加載iptables。
#vi /etc/sysconfig/iptables
在主節點中加入如下內容
-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 192.168.50.1 -j ACCEPT
在從節點中加入如下內容
-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 192.168.50.2 -j ACCEPT
從新加載iptables。
解決haproxy+heartbeat配合時haproxy沒有VIP沒法啓動的問題:
vim /etc/sysctl.conf
添加:
net.ipv4.ip_nonlocal_bind = 1
或者echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
如此可使haproxy啓動的時候忽略綁定VIP