heartbeat双机热备(haproxy或glbd+mysql)

1、安装
系统:ubuntu1804
两个节点(us248,us249)都安装了haproxy代理mysql(us251,us252,us253,us254)

1)设置机器名解析IP
每个节点/etc/hosts中添加:
192.168.1.248 us248
192.168.1.249 us249

2)安装
sudo apt install heartbeat
查看版本:tail -n 2  /usr/share/heartbeat/ha_config
查看服务状态:sudo systemctl status heartbeat

2、配置
1)停止服务准备配置
sudo systemctl stop heartbeat

2)从自带文档中找到3个配置文件
/etc/heartbeat/ => /etc/ha.d/
三个配置文件,可以从/usr/share/doc/heartbeat中找到(haresources.gz、ha.cf.gz需要解压)

3)配置文件内容
authkeys文件:(chmod 600只有root有读写,其他全无)
-------------------------
auth 2
2 sha1 HI! #密码可以自定义


ha.cf文件:
-------------------
#保存调试信息文件
debugfile /var/log/ha-debug
#日志文件
logfile/var/log/ha-log
#表示使用系统日志
logfacilitylocal0


#心跳的时间间隔,单位s
keepalive 2
#超出该时间间隔未收到对方节点的心跳,则判定对方死亡
deadtime 5
#超出该时间间隔未收到对方节点的心跳,则发出警告记录到日志中
warntime 3
#在某系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的2倍
initdead 10

#设置广播通信使用的端口,694为默认使用的端口号
udpport694
#本机心跳设备和对方心跳设置IP
ucast ens33 192.168.1.249 #(从节点写248)
#主节点漂移到从节点后,主节点恢复正常时是否让主节点接管
auto_failback on
#节点列表
node us248 us249


haresources文件:
------------------------
us248 192.168.1.240 haproxy
#主节点机器名 VIP虚拟IP 服务名


3、测试
1)主从节点启动:
sudo systemctl start heartbeat
sudo systemctl restart haproxy(glbd) 

2)主节点检查是否有虚拟IP:192.168.1.240
ifconfig -a(VIP在主节点)

3)关闭主节点,从节点检查虚拟IP
ifconfig -a(VIP在从节点)

4)重启主节点,检查VIP
VIP回到了主节点

原文地址:https://www.cnblogs.com/xiaomacs/p/11697129.html