节点名:
node-master 192.168.1.77 node-slave 192.168.1.88 VIP 192.168.1.234
带下划线的不允许作为节点名
修改节点名字
gvim /etc/hosts
gvim /etc/hostname
修改之前最好先用hostname命令测试下,免得启动不了机器
安装heartbeat
sudo apt-get install heartbeat
修改配置
cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/ cp /usr/share/doc/heartbeat/ha.cf.gz /etc/ha.d/ cp /usr/share/doc/heartbeat/haresources.gz /etc/ha.d/ cd /etc/ha.d/ gunzip ha.cf.gz gunzip haresources.gz
修改认证模式,gvim authkeys
auth 3 #1 crc #2 sha1 HI 3 md5 Hello
authkeys文件权限必须是0600
chmod 600 ./authkeys
修改hresoueces
node-master IPaddr::192.168.1.234/24/eth0:0
注:heartbeat本质也是用了lvs的核心功能,不一定需要双网卡,VIP绑定到任意网卡都行,比如eth0:x,wlan:x或者lo:x;
这里的node-name,必须是主节点名称,两个haresources文件必须一致!!
修改ha.cf
auto_failback off node node-master node node-slave #这里是对方节点ip ucast eth0 192.168.1.88 keepalive 2 warntime 2 deadtime 30 initdead 120 baud 19200 udpport 694
备注:auto_failback用来在master重新起来以后,要不要接管,一般为off
注意:
和keepalived的配置的区别在于,不需要自己另外写绑定VIP的脚本,heartbeat的配置文件会自动绑定VIP,可以sudo ifconfig看到,在这里,是绑定了eth0:0
另外,heartbeat的主备检测只是看集群里面的heartbeat活着还是死了,不会检测节点机器上的应用;所以,还得加上自己写的定时检测脚本监测你的应用挂了没,如果挂了,停止heartbeat,这样就可以自动从集群里面弄出去了