返回介绍

最佳实践 26:LVS 排错步骤推荐

发布于 2025-04-20 17:44:42 字数 1999 浏览 0 评论 0 收藏

在搭建 LVS 集群过程中,或者在维护生产环境中的 LVS 集群时,可能遇到访问 LVS 集群出现异常的情况,那么需要总结一套行之有效的故障排除方法。结合实践中的经验,有以下思路可供读者参考。

1)ping 负载均衡器的真实 IP 和虚拟 IP。判断网络连通性。

2)在负载均衡器上,检查负载均衡器和后端服务器的状态,如下所示:

# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 78:2b:cb:64:98:a2 brd ff:ff:ff:ff:ff:ff
    inet 10.1.6.28/24 brd 10.1.6.255 scope global eth0
    inet 10.1.6.18/32 scope global eth0 #检查虚拟 IP 绑定成功
    inet6 fe80::7a2b:cbff:fe64:98a2/64 scope link 
       valid_lft forever preferred_lft forever

# ipvsadm -ln --sort
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.6.18:80 wrr persistent 60
  -> 10.1.6.21:80                 Route   10     0          0  #观察此处后端服务器是否被剔除,同时确认连接数
  -> 10.1.6.44:80                 Route   10     0          0  

# cat /var/log/messages* |grep -i keepalived
Dec  1 14:00:39 lvs1 Keepalived_healthcheckers[3388]: Timeout connect, timeout server [10.1.6.21]:80. #其中一个后端服务器故障
Dec  1 14:00:39 lvs1 Keepalived_healthcheckers[3388]: Removing service [10.1.6.21]:80 from VS [10.1.6.18]:80 

3)如 LVS 集群中有多台后端服务器,分别绑定 hosts 进行测试每一台后端服务器,确保服务正常。

4)检查后端服务器的 Arp 设置是否生效,使用命令如下:

# sysctl -A |grep -E "arp_ignore|arp_announce"

5)检查后端服务器上的虚拟 IP 绑定是否成功。使用命令如下:

# ip address show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet 10.1.6.18/32 brd 10.1.6.18 scope global lo:0
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever 

注意

在我们的商城站点集群中,曾经发生过新上一台后端 Windows 2008 服务器没有配置虚拟 IP 导致部分用户概率性访问失败的情况。

6)主从负载均衡器切换故障时,需要首先在交换机上确认其学习到的虚拟 IP 的 MAC 地址是否被更新成了从的 MAC 地址,使用命令如下:

show ip arp

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。