nf_conntrack模块导致服务器Drop Packet

前言

系统日志中发现 nf_conntracck: table full,dropping packet信息(服务器为GP数据库)
这说明系统接到了大量的连接请求,但是系统的连接跟踪表已经满了,无法再记录新的连接了。这时候,系统会丢弃新的连接请求。
然后对nf_conntracck: table full,dropping packet 的报信息在GP官方文档中也有出现
需要在操作系统层面对netfilter.ip_conntrack_max的值进行修改
net.ipv4.netfilter.ip_conntrack_max= “x”

排查

GP数据库集群中有部分服务器均有如下报错

cat /var/log/message | grep nf

nf_conntrack模块导致服务器Drop Packet插图

分析丢包原因:服务器访问量过大,内核iptables的跟踪表 nf_conntrack 相关参数配置不合理,导致 IP 包被丢掉,tcp连接无法建立

 

方法一:不推荐

根据实际环境调整如下参数

net.netfilter.nf_conntrack_max 最大跟踪连接数 默认为65536

永久修改其配置参数:在 /etc/sysctl.conf添加
net.netfilter.nf_conntrack_max = 508576即可 (范围值之内)

保存退出 sysctl -p

max值需不断调优,当一直丢包之后适量调大

生产环境我们调整到了200w还是会drop packet

方法二:推荐

nf_conntrack模块导致服务器Drop Packet插图1

卸载模块的话依赖非常难搞,比如图中框中的依赖模块数量,有的290个,所以需要执行如下指令:

yum -y install iptables-services
systemctl start iptables
systemctl stop iptables
lsmod | grep iptables
yum -y remove iptables-services
lsmod |  grep  nf_conntrack

执行完毕后会出现两种情况

  • nf_conntrack模块直接消失(如下图)

 

nf_conntrack模块导致服务器Drop Packet插图2

  • 如果不是上图中的,则按照下列命令执行(具体还要看模块名称)

 

modprobe -r nf_conntrack_ipv4 && modprbe -r xt_conntrack

如有任何问题,可添加主页微信进行沟通进行支持 

Wx:Air_WX_

QQ:2469329338

 

红帽官方文档:

ip_conntrack or nf_conntrack : table full, dropping packet 
https://access.redhat.com/solutions/8721
版权声明 1 本网站名称:诺言博客
2 本站永久网址:https://nuoyo.cn
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ2469329338进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7 如无特别声明本文即为原创文章仅代表个人观点,版权归《诺言》所有,欢迎转载,转载请保留原文链接。
THE END
分享
二维码
打赏
海报
nf_conntrack模块导致服务器Drop Packet
前言 系统日志中发现 nf_conntracck: table full,dropping packet信息(服务器为GP数据库) 这说明系统接到了大量的连接请求,但是系统的连接跟踪表已经满了,……
<<上一篇
下一篇>>