keepalived 的某台vip连接不通【原创】

keepalived 的某台vip连接不通,vip可以漂移到这台服务器,但是ping vip不通,telnet vip 3306服务也不通,但是telnet 服务器真实物理IP 3306是通的。

切换keepalived至另一台服务器,vip的ping和服务都正常。对比俩台服务器的keepalived.conf,发现

 

参数说明

vrrp_skip_check_adv_addr #检查vrrp报文中的所有地址比较耗时,设置此标志的意思是如果接收的到报文和上一个报文来至同一个路由器,则不执行检查。默认是跳过检查
vrrp_strict #严格执行VRRP协议规范,此模式不支持节点单播,引起vip问题的就是这个参数

解决办法:

 1、去掉红色标注部分

   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0

2、重启keepalived

3、测试vip ping和telnet服务

 

### 解决 Keepalived VIP 连接超时问题 #### 1. 调整 VRRP 报文发送间隔时间 为了减少因网络延迟引起的丢包现象,可以适当调整 `vrrp_instance` 中的 `advert_int` 参数来增加VRRP报文的发送频率。默认情况下该参数设置为1秒,在高负载环境下可能不足以维持稳定的心跳检测。 ```bash vrrp_instance VI_1 { ... advert_int 0.5 # 将通告间隔缩短至半秒 } ``` #### 2. 修改优先级机制防止误漂移 当主节点发生短暂故障恢复后,默认配置下可能会造成VIP频繁切换到备份节点再切回原主机的情况。为此可以在配置文件中加入更高的初始权重给Master端,并设定合理的抢占模式: ```bash vrrp_instance VI_1 { state MASTER priority 150 # 提升master侧优先级 nopreempt # 防止不必要的VIP迁移 ... } ``` #### 3. 启用健康检查模块确保服务状态良好 利用Keepalived内置的checkers功能定期探测后端真实服务器的状态,一旦发现异常立即触发VIP转移操作,从而提高系统的健壮性和响应速度[^4]。 ```bash virtual_server_group appsvr { rs_add 192.168.x.y port=80 weight=2 check_type=http_get url="/health" } vrrp_script chk_http_port { script "/usr/local/bin/check_service.sh" interval 2 rise 2 fall 5 } track_script { chk_http_port } ``` #### 4. 处理跨网段通信质量差的问题 针对跨子网访问VIP时出现的数据包丢失情况,建议优化路由路径或采用更稳定的传输协议如GRE隧道等方式绕过中间设备带来的不确定性影响[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值