keepalive检测VIP地址漂移主备切换

keepalive:
调度器的高可用
VIP主备之间切换,主在工作时,VIP会在主上,主停止工作,VIP飘移到备服务器。
在主备的优先级不变的情况下,主恢复工作,vip会飘回到主服务器
1、配优先级
2、配置vip和真实服务器
3、主备的id要一致。
4、主备的id要区分。
keepalive是专门为lvs打造的,但是不是为lvs专门使用的
keepalive也可以使用nginx,haproxy

keepalive+nginx实现高可用

nginx1 192.168.11.137
nginx2 192.168.11.138
客户端 192.168.11.136

在这里插入图片描述

nginx1配置

[root@test2 ~]# yum install -y keepalived
[root@test2 opt]# cat check_nginx.sh 
#!/bin/bash
/usr/bin/curl -I http://localhost &> /dev/null
if [ $? -ne 0 ]
then
   systemctl stop keepalived
fi
[root@test2 opt]#chmod 777 check_nginx.sh
[root@test2 opt]# systemctl restart keepalived.service 
[root@test2 opt]# systemctl restart nginx
[root@test2 keepalived]# cat keepalived.conf 
! 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 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_01
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}
vrrp_script check_nginx {
  script "/opt/check_nginx.sh"
  interval  5
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 120
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.11.100
    }
    track_script {
      check_nginx
 }
}

[root@test2 keepalived]# systemctl restart keepalived.service
systemctl stop nginx
systemctl status keepalived.service

nginx2

[root@test3 ~]# systemctl restart nginx
[root@test3 ~]# cat /etc/keepalived/keepalived.conf 
! 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 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_02
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}
vrrp_script check_nginx {
  script "/opt/check_nginx.sh"
  interval  5
}
vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.11.100
    }
    track_script {
      check_nginx
 }
}
[root@test3 keepalived]# systemctl restart keepalived.service 

客户机测试


[root@test4 ~]# curl 192.168.11.100    #主设备nginx服务正常的结果
this is nginx137
[root@test4 ~]# curl 192.168.11.100    #关闭主设备nginx服务之后的结果
this is nginx 138

脑裂是什么?

HA高可用架构中的一个特殊现象,只要使用VIP地址代理冗余模式的高可用。都有可能出现脑裂的问题。
主和备同时都有VIP地址。
现象:主和备无法确定各自的身份,同时出现了VIP地址,两边都起来了,但是两边都无法使用

原因:
1、keepalive的配置文件问题
2、心跳线(网线)断了,老化。
3、网卡出了问题(硬件),ip地址配置冲突。
4、防火墙的策略,iptables的策略,屏蔽组播的地址广播,屏蔽了vrrp协议的报文(224.0.0.18)
5、两台服务器时间不同步也可能导致
6、其他服务配置对心跳线的检测造成了干扰。

解决方法:
1、检查keepalive配置文件
2、检查心跳线,查看是否更换
3、检查硬件网卡物理连接状态(插口是否冲动),Linux检查网卡状态(lshw)
IP地址冲突:检查冲突的IP配置,确保唯一性。
若使用的是DHCP服务自动分配的地址,则修改DHCP地址范围。
4、检查iptables策略,是否有阻止通信的防火墙策略,查看是否可以删除
5、重新通过时间同步服务器同步时间
6、检查是否与其他服务的心跳线配置冲突。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码要你命

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值