Keepalived VIP地址访问故障解决方案全解析

背景信息

1.先决条件

  • 操作系统:Red Hat Enterprise Linux release 9.5 (Plow)
  • Keepalived版本:keepalived-2.2.8-3.el9.x86_64
  • Keepalived Exporter版本:keepalived-exporter-1.4.0-1.x86_64

2.问题现象

在配置Keepalived服务的虚拟IP(VIP)后,发现该VIP地址无法正常访问。

诊断步骤

1.检查Keepalived服务状态

使用如下命令检查Keepalived服务的运行状态,确认服务是否正常运行。

systemctl status keepalived

2.查看Keepalived日志

使用如下命令查看Keepalived服务的日志,检查是否有异常信息。

journalctl -u keepalived -n 50 --no-pager

3.查看VIP绑定情况

使用如下命令检查VIP是否已正确绑定到指定的网卡上。

ip addr show <网卡名称>

4.检查防火墙状态

使用如下命令检查防火墙服务是否启动,确认防火墙是否对VIP的访问造成阻碍。

systemctl status firewalld

5.查看路由表

使用如下命令查看服务器的路由表,确认默认路由是否设置正确。

ip route

6.测试网络连通性

使用如下命令测试与网关的网络连通性,确认网络是否正常。

ping <网关地址>

7.检查Keepalived配置

如果是多节点的高可用环境,需要对比其他节点的/etc/keepalived/keepalived.conf文件,确保关键配置项如virtual_router_id、auth_pass、virtual_ipaddress等一致,避免配置冲突。

解决方案

在诊断过程中,查找资料发现Keepalived的vrrp_strict选项开启严格模式后,经常会因为配置的一些小问题,导致Keepalived无法正常工作。因此,经过过反复测试后,移除该项以解决问题。

1.注释vrrp_strict选项

编辑/etc/keepalived/keepalived.conf文件,注释掉vrrp_strict选项:

[root@shizhanxia.com ~]# vi /etc/keepalived/keepalived.conf
# 全局配置
global_defs {
#   vrrp_strict
}

2.重启Keepalived服务

使用如下命令重启Keepalived服务,使配置生效。

systemctl restart keepalived

3.再次查看VIP绑定情况

使用如下命令再次检查VIP的绑定情况,确认VIP是否已成功绑定。

ip addr show <网卡名称>

备注:如果发现VIP同时出现在多个节点上,说明这些节点的VRRP通信出现了问题,可能导致集群“脑裂”。此时,请及时排查Keepalived的配置。

总结与扩展

本次问题通过详细诊断步骤和解决方案得以成功解决。

技术评审

  • 评审专家:jiang老板 | 某保险公司基础架构负责人
  • 验证结论:方案在keepalived-2.2.8-3.el9.x86_64版本验证通过

修订记录

2025-05-28 v1.0 初版发布

原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/keepalived-vip-access-failure-solutions-guide.html

(0)
运维侠的头像运维侠共建用户
上一篇 2025年5月27日 20:34
下一篇 2025年5月29日 18:11

相关推荐

发表回复

登录后才能评论