VIP 80针对某台允许ping,却无法telnet
各位好,我的环境是lvs+keepalvied;版本是ipvsadm-1.26-4.el6.x86_64 keepalived-1.2.7。
2.6.32-431.el6.x86_64
最近出现了一个很奇怪的问题,我用一台监控机,curl的方式每2分钟一次对域名进行调用,域名是直接解析到VIP的,
在昨晚到今早,curl一直无法调通,报错Error: no response from server。在监控机上ping VIP可以连通,telnet VIP 80失败;我查看lvs正常,无报错,于是用另一台业务机telnet VIP 80是可以的。 这样来回测试很多次问题依然存在。于是重启keetalived后在监控机上再次telnet VIP 80 ,结果是可以连通。 这种问题遇到2次,不重启就一直无法联通,有一次持续了1天。
针对这个问题,上午进行测试,考虑是否是因为监控机的网络连接过多导致,上午将连接压倒1W多,再用curl调用域名依然是可以的,排除连接导致。把问题提出来,看各位是否有遇到的,是如何解决的?或者能否告知这种问题该如何排查的思路。
关于这个VIP部分的配置如下:
virtual_server XXXXXXX 80 { #虚拟主机设置,ip同上。
delay_loop 2 #服务器轮询的时间间隔
lb_algo rr #lvs的调度算法
lb_kind DR #lvs的集群模式
nat_mask 255.255.255.0
# persistence_timeout 50 #会话超时50s
protocol TCP #健康检查是用tcp还是udp
real_server XXXXXXX 80 { #后端真实主机2
weight 1 #每台机器的权重,0表示不给该机器转发请求,知道它恢复正常。
TCP_CHECK { #健康检查项目,以下
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server XXXXXXXX 80 { #后端真实主机2
weight 1 #每台机器的权重,0表示不给该机器转发请求,知道它恢复正常。
TCP_CHECK { #健康检查项目,以下
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}