Centos7 系统突然出现无法访问外网情况
阿里云 ECS 2台Centos7.9 服务器分别部署相同服务,当业务请求量大时,突然轮流出现无法访问外网问题情况。 出现问题后到度娘上搜了下,不得不说度娘的结果都是些重复性结果基本没什么用了,由于是阿里云的ECS服务器,那就提个工单好了
但是让人郁闷的是,一顿的授权,最后技术支持给出的最后结果就是,重启系统,果然重系统后恢复正常。但是这么一个大炸弹,这怎么玩 一顿排查,一顿和阿里沟通,但是毫无结果,阿里技术最后给出要不直接迁移一台物理机好了,但是我感觉这不像是物理机的问题,并且另 外的服务器也出现同类问题,一顿崩溃呀!
既然无法得到帮助就开始自救了,根据以下排除方向来查找问题。
问题状况一:
本机 ping 域名出现错误 Name or service not known
问题状况二:
本机 ping ip 出现错误 Resource temporarily unavailable
初步排查方向:
- 1,系统内核检查。
- 2,系统网络检查。
- 3,程序问题。
系统内核检查:
主要是排查网络层内核配置问题的可能性:什么 net.ipv4.* ulimit 等,一顿调整呀,各种参数修改尝试都无法解决问题。
系统网络检查:
这个主要测试网络连通性:
本机ping 各个网络完全无法响应
其他网络 ping 本机反而正常,前端代理本机也正常。(这真是见鬼了完全一个头两个大了。。。)
程序问题:
- 当以上两个问题都无法定位后,只能查看和程序有关的了,各种排除后发现
- 执行 ss -s 查看所有端口数的时候发现UDP 端口异常多,达到2W+ 开始想会不会是这个问题导致的,因为服务器不定时的出现问题
- 说干就干,进行流量导入1台服务器,每隔一段时间查看下UDP端口发现果然在不断的增长,但是没有异常,决定在继续保持这种状态继续等待,在UDP达到2.8+的时候果然出现了问题,这时候重启下服务瞬间释放然后问题恢复。我擦了,在CentOS6 时就已经使用的程序代码到CentOS7 出现问题,果然 “阉割版” 系统不靠谱呀。。。。
总结结果:
从最后问题结果看属于UDP端口占用过多,重启服务,释放掉UDP端口。这种问题一般都是程序代码未进行UDP进行关闭操作。
本文由博客一文多发平台 OpenWrite 发布!
|