keepalived+lvs子网掩码造成VIP切换故障 + vrrp_script+track_script - lvs -dr 原理

复制代码
keepalived+lvs子网掩码造成VIP切换故障
架构:keepalived+lvs ,前端调度器是双主模型
现象:keepalived手动停掉一台,但是虚拟IP不会切换

整体网络是24位
VIP:172.18.3.200
keepalived的路由
[root@Sserver3-53 clouder]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.18.3.1      0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.18.3.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

PS:不fail over 原因就是这条16位的路由作怪
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 06:cf:56:00:01:3b brd ff:ff:ff:ff:ff:ff
    inet 172.18.3.53/24 brd 172.18.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.18.3.200/16 scope global eth0  #没有secondary
       valid_lft forever preferred_lft forever
    inet 172.18.3.201/16 scope global secondary eth0
       valid_lft forever preferred_lft forever

解决,配置检查:
后端realserver配置的虚拟IP为:
/sbin/ifconfig lo:0 172.18.3.200 broadcast 172.18.3.200 netmask 255.255.255.255 up
/sbin/route add -host 172.18.3.200 dev lo:0

前端keepalived:
virtual_ipaddress {
      172.18.3.200/16
 }
明显子网掩码出问题了。
virtual_ipaddress {
      172.18.3.200/24
}


重启keepalived,检查现象:
[root@Sserver3-53 clouder]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.18.3.1      0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.18.3.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 06:cf:56:00:01:3b brd ff:ff:ff:ff:ff:ff
    inet 172.18.3.53/24 brd 172.18.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.18.3.200/24 scope global secondary eth0
       valid_lft forever preferred_lft forever


15.2    keepalived在centos7.2中的bug
keepalived 在centos7.2 使用 /bin/systemctl restart keepalived.service 配置文件没有生效
需要使用reload参数来重新生效
复制代码

 参考:

https://www.cnblogs.com/paul8339/p/9644821.html

Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】

 

(5条消息) LVS负载均衡群集部署之——DR模式的介绍及搭建步骤_YJ Thoreau的博客-CSDN博客

posted @   littlevigra  阅读(1811)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示