首先确保配置keepalived 的机器安装有Nginx,httpd以及keepalived
设配置keepalived的机器分别为lb 1 (master),bl 2 (backup)
配置注意事项:配置时route_id 需不同;
vip以及密码必须一致;
state 不相同(MASTER,BACKUP)
prority 不相同(MASTER 的优先级必须高于BACKUP)
vim /etc/keepalived/keepalived.conf
将192.168.6.151设置为lb1,即MASTER
将192.168.6.152作为keepalived 的lb2 ,即BACKUP
vim /etc/keepalived/keepalived.conf
配置成功后重启keepalived
systemctl start keepalived(两台都需要启动)
启动后查看ip ,在MASTER上会显示vip,使用另一台机子curl http://192.168.6.252
,后将MASTER 的keepalived 停止,在BACKUP上查看ip ,vip将会从151的机器上飘到192.168.6.152,使用另一台机子curl http://192.168.6.252
;若MASTER服务在次启动,192.168.6.252(vip)将会重新飘回151
若Nginx服务停止后,curl http://192.168.6.252
显示
但keepalived 服务依然存活,可以编写脚本,当nginx 服务停止后,立即将keepalived的MASTER停掉,ip飘到BACKUP
在master配置文件中添加脚本
vim /etc/keepalived/check_nginx_status.sh
配置完成后停掉Nginx后观察vip是否变化
keepalived 出现脑裂
脑裂出现的原因
1、高可用服务器之间的心跳线链路发生故障
(1)心跳线坏了
(2)驱动网卡损坏,ip地址冲突(网卡直连)
(3)心跳线之间的连线故障(网卡,交换机)
2、高可用服务器的iptables 防火墙开启
3、高可用服务器网卡信息配置错误
4、route_id 参数不一致
解决方案
1、同时使用串行电缆和以太网电缆连接,同时使用两条心跳线路
2、检测到脑裂时强行关闭一个心跳节点
3、监控报警(编写脚本)