Linux HA将整个集群虚拟成一个IP对外提供服务(在一个网口又申请一个物理网络中独立ip),当主节点挂了,会按照ha.cf中的配置节点顺序,进行切换,当主节点恢复时,又夺得集群ip,从而有效管理Linux集群。
安装说明:集群ip:10.5.10.2 node1:10.5.10.205 node2:10.5.10.45
一、在node1、node2上分别执行如下操作:
1、创建用户及用户组 groupadd haclient
useradd -g haclient hacluster
2、安装libnet-1.1.6.tar.gz
./configure make makeinstall
3、安装heartbeat-2.1.3.tar.gz
#tar -zxvf heartbeat-2.1.3.tar.gz
#cd heartbeat-2.1.3
#./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib LIBS='/lib/libuuid.so.1'
#make && make install
二、配置hosts
1、修改node1 /etc/sysconfig/network 中的HOSTNAME=master
2、修改node2 /etc/sysconfig/network 中的HOSTNAME=slave
在node1和node2中的/etc/hosts中加入10.5.10.205 master 10.5.10.45 slave
三、编辑配置文件
1、ha.cf logfile /var/log/ha-log
logfacility local0 #这个是设置heartbeat的日志
keepalive 2 #每隔2s发一次心跳,做一次检测
warntime 2 #连续2s联系不上,开始警告提示
deadtime 20 #连续20s联系不上,认为对方挂掉
initdead 120 #重启后预留120s,进行切换
bcast eth0 #通过哪个网口发心跳(根据不同节点的具体情况进行设置,node1用的eth4,node2可能用的eth5)
udpport 694 #采用udp的694端口进行心跳检测
auto-failback on #故障恢复后,自动切换至主节点
watchdog /dev/watchdog #该指令是用来设置看门狗定时器,如果节点一分钟内没有心跳,那么节点将重启
node master #主节点的主机名
node slave #集群中其他节点
ping 10.5.10.204 #此IP为该网段内一个有效的ip地址,可以是网关或路由器,用来检测链路是否正常
apiauth ipfail gid=haclient uid=hacluster #设置启动ipfail的用户和组
2、编辑资源文件 haresources
在haresources文件中添加
master(集群中主节点的主机名) 10.5.10.2 (集群ip,即浮动ip) mysqld(随heartbeat启动的系统服务)
3、配置验证密钥文件 authkeys
auth 1
1 crc
同时修改权限600
将以上三个文件放在/etc/heartbeat/ha.d/下
四、heartbeat管理
service heartbeat start/stop/status
五、测试
通过拔网线,节点关掉来验证浮动ip是否会在集群中,按ha.cf中指定的顺序进行切换。
相关阅读:
Linux HA集群部署(基于Heartbeat与pacemaker)
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现-上篇
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现-下篇
Corosync+Pacemaker实现简单的Web HA集群