【华为云网络技术分享】【第五弹】用户访问云主机业务偶发性中断问题解决方法--内核参数修改

举报
樱桃小丸子 发表于 2018/01/24 19:02:58 2018/01/24
【摘要】 【华为云网络技术分享】【第五弹】用户访问云主机业务偶发性中断问题解决方法--内核参数修改问题描述用户本地办公网络访问云服务器web应用时出现偶发性无法访问情况。 1. 问题定位解决1. 用户问题复现时,华为云网络环境和其他网络环境测试用户业务时访问正常。2. 问题复现时,排查云主机网络情况,测试的ping和tracert云主机网络都正常。用户本地网络的机器p

问题描述

用户本地办公网络访问云服务器web应用时出现偶发性无法访问情况。

 

1.     问题定位解决

1.     用户问题复现时,华为云网络环境和其他网络环境测试用户业务时访问正常。

2.     问题复现时,排查云主机网络情况,测试的ping和tracert云主机网络都正常。用户本地网络的机器ping中断。

3.     在虚拟机所在主机的tap口抓包分析,

image.png

故障出现点,ping包开始无回包:

image.png

并且,查看netback进程,没有冲高,可以判断包送入VM内部,但是VM没有回。

4.   判断为虚拟机内部没有回包问题。经过排查。

确认用户本地网络:nat网络,本地主机通过nat用一个公网ip进行访问云主机。

确认用户本地主机时间:时间和云主机有差别。

查看用户虚拟机是否开启了tcp_tw_recycle。

# sysctl -a|grep tcp_tw_recycle

image.png

1即表示开启。

查看内核丢包数量

# cat /proc/net/netstat | awk '/TcpExt/ { print $21,$22 }'

image.png

可以看到Drops了7798个包。

5.         将tcp_tw_recycle参数修改为0后,用户测试未复现问题。问题解决。

# sysctl -w net.ipv4.tcp_tw_recycle=0

临时修改,重启VM后自动恢复为1。

永久修改需要修改

修改/etc/sysctl.conf 文件

在里面添加

net.ipv4.tcp_tw_recyclt=0

image.png

保存后退出,并生效配置。

# sysctl –p

2.  问题根因

tcp_tw_recycle=1 开启timewait快速回收。开启此功能在NAT环境下可能会出现严重的问题:因为TCP有一种行为,它可以缓存每个连接最新的时间戳,后续请求中如果时间戳小于缓存中的时间戳,即被视为无效并丢弃相应的请求报文。

用户本地网络为NAT网络,且不同主机的本地时间不一致,发送的报文时间戳不一致,导致内核丢弃报文。

 

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。