问题定位:512台虚拟机与设备8个业务口建立iSCSI连接,导致设备消息处理失败

本文档描述了512台虚拟机通过iSCSI与设备8个业务口建立连接时,阵列消息处理失败的情况。经过分析,定位为ARP缓存表大小不足,导致超过默认限制的连接无法建立,进而引发socket发送队列积压。解决方案是增加ARP缓存表大小。
摘要由CSDN通过智能技术生成

问题现象

512台虚拟机模拟客户主机环境,作为iSCSI initiator,与阵列(iSCSI target)8个管理口建立iSCSI连接。每次当前120个左右虚拟机建链成功后,阵列对网管下发的消息无响应,并且无法登录。


定位过程

查看日志,前120个左右虚拟机建链成功后,日志中消息处理模块开始出现大量socket连接超时错误[Errno 110] Connection timed out随后尝试ssh登录环境,无法登录,且日志中无鉴权模块的打印,只有PAM模块的socket连接建立失败的打印。(由于阵列中的PAM模块是被定制的so,ssh登录时操作系统的登录流程会走到该so中,该so会直接通过socket连接登录鉴权模块进行密码鉴权。)因此排除业务模块问题,怀疑是底层TCP/IP协议栈机制问题。

netstat查看报文收发情况,观察到当问题开始发生时,app_data模块向msg_server模块发送的报文开始在发送队列中持续积压,且每次积压16KB或16KB整数倍的报文。但接收队列中并无消息积压。怀疑是app_data(发送方)报文发送的太快太大太多导致消息阻塞。
这里写图片描述

tcpdump抓包分析报文,发现确实存在很多发给msg_server的大小为16K的报文,甚至有64K的报文。。。(lo口的mtu为65536)。咨询业务模块该消息长度和发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值