近期公司新上线6台centos7.8服务器用于通达信行情服务接入负载均衡,行情监控发现有一台用户数很多,其他5台比较均衡,机器网络配置也检查ifcfg-ens160都正常,网络上检查应用负载也指向到了负载均衡网关,负载均衡上检查配置也正常。问题限入僵局。

   突然想到既然1台链接较多,那对比下链接区别,在2台机器上netstat -na|grep 7709 发现仅一台上有ipv4地址接入(ESTABLISHED),而ipv6地址6台均有接入(ESTABLISHED),再仔细查看用户少的上面ipv4地址状态(SYN_RECV),该状态为第三次握手异常,也就是服务器返回出去不了,通过在服务器上arp -a 发现 gateway为交换机ip而非负载均衡器ip。

问题定位清晰了,是网关问题,但是检查服务器ifcfg-ens160确实配置网关为负载均衡器,为啥arp -a网关就是交换机ip呢,通过核实服务器配置发现,网卡配置目录下还有一个备份文件ifcfg-ens160-20220108文件(里面网关为交换机ip),删除该文件,service network restart 后,arp -a 网关显示正常。用户链接均衡了。

思考:为啥ipv6不受影响,由于ipv6机制不一样。