HEARTBEAT
系统环境:rhel6 x86_64 selinux and iptables disabled
heartbeat-3.0.4-2.el6.x86_64.rpm 100% 161KB 161.4KB/s 00:00
heartbeat-devel-3.0.4-2.el6.x86_64.rpm 100% 123KB 123.0KB/s 00:00
heartbeat-libs-3.0.4-2.el6.x86_64.rpm 100% 263KB 263.2KB/s 00:00
ldirectord-3.9.5-3.1.x86_64.rpm 100% 88KB 88.0KB/s 00:00
rpm -ivh heartbeat-*
yum install PyXML cluster-glue libltdl.so.7 resource-agents -y(依赖包,不一定需要下载)
Cd /etc/ha.d/
Less ./README
Rpm -q heartbeat -d
cp /usr/share/doc/heartbeat-3.0.4/{ha.cf,haresources}
Vim ha.cf(以下为需要修改或需要使用到的选项)
logfile /var/log/ha-log
系统运行日志文件,取默认值
logfacility local0
日志等级,取默认值
keepalive 2
心跳频率,自己设定。1:表示 1 秒;200ms:表示 200 毫秒
deadtime 30
节点死亡时间阀值,就是从节点在过了 30 后还没有收到心跳就认为主节点死亡,自己 设定
warntime 10
发出警告时间,自己设定
initdead 120
守护进程首次启动后应该等待 120 秒后再启动主服务器上的资源
udpport 694
心跳信息传递的 udp 端口,使用端口 694 进行 bcast 和 ucast 通信,取默认值
serial /dev/ttyS0
采用串口来传递心跳信息
bcast eth1(eth*根据自己ip所在的设备选择)
采用 udp 广播播来通知心跳
auto_failback on
当主节点恢复后,是否自动切回
node server3.example.com (主节点)
node server4.example.com (副节点)
ping 172.25.33.250
respawn hacluster /usr/lib/heartbeat/ipfail(lib可能为lib64,根据实际情况添加)
apiauth ipfail gid=haclient uid=hacluster
默认 heartbeat 并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行 Load Balancer 和 Backup 之间的切换。
可以通过 ipfail 插件,设置‘ping nodes‘来解决这一问题,但不能使用一个集群节点作为
ping 的节点。
Vim haresources
server3.example.com IPaddr::172.25.33.100/24/eth1 httpd(使用同网段且未被占用的IP)
Vim authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
chmod 600 authkeys
另一台副机配置也应与主机相同
/etc/init.d/heartbeat start
检测
浏览器登陆 172.25.33.100 查看页面信息
此时关掉 主机的 HTTPD 然后刷新看是否有变动
再连接 主机的HTTPD 查看信息是否还原由主机接管
寻找之间存在的区别以及其功能特性