IPV6 CLB健康检查异常case分析

背景:客户报障CLB部分机器出现健康检查异常,流量掉零。本文章简单总结腾讯云IPV6排查思路。

产品特性

IPv6 负载均衡是基于 IPv6 单栈技术实现的负载均衡,和 IPv4 负载均衡协同工作,实现 IPv6/IPv4 双栈通信。IPv6 负载均衡绑定的是云服务器的 IPv6 地址,并对外提供 IPv6 VIP 地址。

腾讯云IPV6 CLB业务逻辑架构

健康检查逻辑(IPV6 CLB)

监听器健康检查主要两种方式,TCP通过使用SYN包,HTTP通过使用http请求方式。

TCP 健康检查机制如下(本次故障用到的场景):

  1. 负载均衡向后端 CVM(内网IP 地址+健康检查端口)发送 SYN 连接请求报文。
  2. 后端 CVM 收到 SYN 请求报文后,若相应端口处于正常监听状态,则会返回 SYN+ACK 响应报文。
  3. 若在响应超时时间内,负载均衡收到后端 CVM 返回的 SYN+ACK 响应报文,则表示服务运行正常,判定健康检查成功,并向后端 CVM 发送 RST 复位报文中断 TCP 连接。
  4. 若在响应超时时间内,负载均衡未收到后端 CVM 返回的 SYN+ACK 应报文,则表示服务运行异常,判定健康检查失败,并向后端 CVM 发送 RST 复位报文中断 TCP 连接。
图来自腾讯云官网:qcloud.com

健康检查要求(IPV6 CLB)

1、安全组要求:

  • CLB安全组:

作用于CLB实例,具备有状态的数据包过滤功能,控制实例级别的出入流量。CLB的安全组属性有两个模式:开启默认放通状态/关闭默认放通状态。开启放通功能后,后端的CVM安全组可以不需要放通Client IP 和服务端口。默认情况下,IPv6 CLB 安全组默认放通为开启状态,且无法关闭。

图来自腾讯云官网:qcloud.com

CVM安全组:

关闭默认放通状态情况下,需要对IPV6请求放开;

开启默认放通状态,不需要设置;

2、云主机设置

需要配置IPV6 ip,如果是传统账户,则要求配置IPV6外网带宽;

后端服务,需要支持IPV6监听;

故障回顾

【问题描述】

客户反馈同一个CLB上有CVM出现健康检查异常,但机器应用是正常的。

【初步排查】

  1. 检查安全组;

CLB安全组上,开启了默认放通的功能,且未对client等做了IP限制;

CVM安全组上,未对CLB VIP做限制;

2、CVM配置:

CVM ipv6配置已生效,客户账户是非系统账号,CLB支持下,云主机可以不需要配置外网带宽;

应用服务正常,客户反馈该端口同时提供ipv4和ipv6应用,目前ipv4服务是正常的。

3、CLB集群检查

CLB集群服务正常,集群流量、QPS等未出现突降等情况,可用性探测正常;

【排查受限】

客户生产机器,客户侧也无法登陆机器,提供排查信息,无法抓包等操作配合排查;走流程申请权限需要时间。

【临时恢复方案】

健康检查异常的机器,已自动剔除。现网业务不影响,建议客户侧暂时将该机器剔除。

【深入排查】

  1. 抓取探测包信息:抓包点:CLB集群、CVM硬件网卡:都只收到了SYN包,CVM未能相应SYN+ACK;
CLB抓包

CVM抓到了CLB给过来的SYN包,奈何没有相应;

cvm抓包

2、Ng服务器日志排查

请求没有进入应用层,没有日志生成;

综合以上,怀疑是路由问题,路由没有到达应用层。

3、排查路由

确认路由缺少默认路由,导致机器无法达到下一跳。

路由图

【规避措施】

  1. 给机器添加上默认路由;default dev eth0
  2. 梳理IPV6机器配置

配置文件一:/etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 0

net.ipv6.conf.default.disable_ipv6 = 0

net.ipv6.conf.lo.disable_ipv6 = 0

配置文件二:/etc/sysconfig/network-scripts/ifcfg-eth0

DHCPV6C=yes

配置文件三:/etc/sysconfig/network-scripts/route6-eth0

default dev eth0 via fe80::feee:ffff:feff:ffff或者是default dev eth0

PS:文章部分截图取自腾讯云官网。

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
IPV6 CLB健康检查异常case分析
IPv6 负载均衡是基于 IPv6 单栈技术实现的负载均衡,和 IPv4 负载均衡协同工作,实现 IPv6/IPv4 双栈通信。IPv6 负载均衡绑定的是云服务...
<<上一篇
下一篇>>