CLB健康检查异常排查流程

CLB健康检查是指负载均衡实例定期向后端服务器发送 Ping、尝试连接或发送请求来测试后端服务器运行的状况。当后端服务器实例被判定为不健康时,负载均衡实例将不会把请求转发到该实例上。健康检查会对所有后端服务器(不管是判定为健康的还是不健康的)进行,当不健康实例恢复正常状态时,负载均衡实例将恢复把新的请求转发给它。

目前CLB健康检查分为四层转发健康检查和七层转发健康检查,他们的健康检查方式是不同的。

四层转发健康检查

四层转发的健康检查机制由负载均衡器向配置中指定的服务器端口发起访问请求,如果端口访问正常则视为后端服务器运行正常,否则视为后端服务器运行异常。对于TCP的业务,使用 SYN 包进行探测。对于 UDP 业务,使用 Ping 进行检查。

七层转发健康检查

七层转发的健康检查机制由负载均衡器向后端服务器发送 HTTP 请求来检测后端服务,负载均衡器会通过 HTTP 返回值是否为http_2xxhttp_4xx来判断服务是否正常。后续会推出用户自定义的方式,对响应代码所代表的状态进行描述。假设在某场景下,HTTP 返回值为http_1xxhttp_2xxhttp_3xxhttp_4xxhttp_5xx 这几种,用户可以根据业务需要编辑http_1xxhttp_2xx为服务正常状态,并设置http_3xxhttp_5xx的返回值代表异常状态。

健康检查探测源

健康检查对内网CLB和外网CLB,探测源是不同的。

1.内网CLB

私有网络:内网LB采用169.254的IP来探测,并且已经加入DFW白名单(即不受客户安全组限制,但是受iptable限制)

基础网络:内网LB采用探测机的接口IP来探测,也加入了DFW白名单(即不受客户安全组限制,但是受iptable限制)

2.公网CLB

探测源是CLB的VIP,需要用户的机器放通vip(受客户安全组限制而且受iptable限制)

健康检查异常排查

了解了健康检查的原理,下面就介绍一般排查健康检查的一些思路。

1.RS监听是否启动

首先需要查看CLB后端的CVM监听是否正常,可以借助如下命令检查。

netstat -anp|grep [RS监听端口号]

查看RS对应的端口是否在监听

2.如果是公网CLB,查看是否开启公网带宽

目前腾讯云上公网CLB分为带宽上移用户和非带宽上移,如果在CLB控制界面能够设置公网带宽,此账号是带宽上移用户,CLB的网络计费是在CLB的VIP侧计费。如果是非带宽上移的账号,CLB的网络计费是在CVM侧计费。

能够在CLB控制台修改带宽,为带宽上移用户

非带宽上移用户由于无法在CLB界面调整带宽,其带宽的计费是在CVM侧,需要到CVM管理界面调整带宽。必须要确保外网CLB都出带宽,这样才能使外网客户端访问到CLB,健康检查才能够正常。

3.安全组规则检查

根据上文的探测源介绍,根据不同的类型的CLB,安全组需要放通相应的规则。安全组需要放通访问来源,外网CLB放通VIP,内网CLB放通内网段。

目前,CLB和CVM都可以设置安全组,需要分别对其安全组进行核实。(CLB安全组在CLB的管理界面设置,CVM安全组在CVM的管理界面设置)

4.iptables规则检查

在CVM侧使用如下命令可以查看是否开启iptables以及iptables的具体规则。

#centos 6.* 
service status iptables #查看iptables是否启动
iptables -L #查看iptable具体配置

#centos 7.*
systemctl status firewalld #查看防火墙是否启动
firewall-cmd --list-all  #查看防火墙具体配置

iptables放通访问来源,外网CLB放通VIP,内网CLB放通内网段。

如果设置iptable,一定要对腾讯云特殊的内网地址放通10.0.0.0/8和169.254.0.0/16

腾讯云全部内网地址:

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

100.64.0.0/10

169.254.0.0/16

总而言之,就是探测源不一样,放通的地址也是不一样。

5.检查是否开启TCP快速回收

是否开启了tcp 快速回收,通过如下命令可以查看是否开启了TCP快速回收。

 cat /proc/sys/net/ipv4/tcp_tw_recycle
 cat /proc/sys/net/ipv4/tcp_timestamps

一般在服务端是不推荐开启net.ipv4.tcp_tw_recycle 参数,会导致处于NAT用户访问CLB出现异常断开等问题。详细内容可以参见本人写的另一篇文档 《玩转CVM之tw_reuse和tw_recycle》

如果以上都排查没有问题,但健康检查还异常,请联系腾讯云售后人员进一步排查。

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
CLB健康检查异常排查流程
CLB健康检查是指负载均衡实例定期向后端服务器发送 Ping、尝试连接或发送请求来测试后端服务器运行的状况。当后端服务器实例被判定为不健康时,负载均衡实例将不会...
<<上一篇
下一篇>>