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