1.高可用脑裂问题(高可用集群中,多台主机都有vip地址了)
出现原因: 主服务器还活着, 备服务器收不到组播包
1) 防火墙服务开启了,阻止组播包通讯
2) 主备服务器之间心跳线出现问题
3) 仲裁服务器出现问题
如何监控发现出现了脑裂问题
备用服务器编写监控脚本—监控备服务器有没有出现vip地址
备服务器出现vip原因
1) 正常主备切换了
2) 出现了脑裂问题
#!/bin/bash ip a|grep 10.0.0.3 &>/dev/null if [ $? -eq 0 ] then echo "master and backup change"|mail -s "check keepalived server" 841997568@qq.com fi
2.keepalived存在价值
如果nginx负载均衡服务停止 那么 keepalive服务也应该停止运行
1.编写监控nginx服务状态脚本
方法一: 监控nginx服务进程状态 ps -ef|grep nginx
方法二: 监控nginx服务端口状态
netstat -lntup|grep 80
#!/bin/bash port_info=$(netstat -lntup|grep -w 80|wc -l) if [ $port_info -eq 0 ] then systemctl stop keepalived fi
2.将脚本信息调用到keepalived配置文件中
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id lb01 } vrrp_script check_web { --- 定义需要监控脚本文件信息 script "/server/scripts/check_web.sh" --- 绝对路径定义脚本文件/脚本文件必须有执行权限 interval 2 --- 脚本执行间隔周期 weight 2 } vrrp_instance oldboy { state MASTER interface eth0 virtual_router_id 63 priority 110 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.3 } track_script { --- 定期运行监控脚本 check_web } }
赞赏
微信赞赏
支付宝赞赏