• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 追踪表满导致keepalived vip 不通!

追踪表满导致keepalived vip 不通!

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了keepalived,keepalived配置详解,keepalived原理,lvs keepalived,nginx keepalived等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

追踪表满导致keepalived vip 不通!



问题:zabbix 突然报警,vip 不通了,

解决方法:将vip 所在的机器的keepalived 服务给关闭,vip 则会飘到另外一台机器上,vip立即恢复正常!

后来查到是追踪表的问题的导致的!从网上找到追踪表的相关资料如下:
追踪表最大数目的确定:

nf_conntrack模块:
在iptables不同的表中,都会用到nf_conntrack模块来进行连接跟踪,而对应nf_conntrack的数据库为/proc/net/nf_conntrack(rhel6/centos6)。

有个简单的计算方式:
conntrack_max=ramsize(bytes)/16384/(x/32)

其中的x为你的系统地址位数,若操作系统为32位则x为32,若是64位x就等于64。其默认值为32768。如果你的操作系统为64位,8G内存,则nf_conntrack_max的为8192×1024×1024/16384/(64/32)=262144

若使用中的连接跟踪数量超过了最大连接数量,超出的部分无法被防火墙所接受,也就无法去应用防火墙去使用了。如果超出了,在/var/log/messages文件中将会看到错误消息“nf_conntrack:table full,dropping packet”,所以如果你觉得数量不够了,就可以通过增加内存去扩大连接数量上限。

而这个链接跟踪其实是有最大连接数量限制的。而其默认值会根据实际内存的大小而改变。

ip_conntrack:table full, dropping packet

错误信息:
在启用了iptables 的服务器上,流量高的时候经常会出现下面的错误

ip_conntrack: table full, dropping packet


这个问题的原因是由于服务器收到了大量的连接,在启用了iptables的情况下,iptables会把所有的连接都做链接跟踪处理,这样iptables就会有一个链接跟踪表,当这个表满的时候,就会出现上面的错误。

iptables的链接跟踪表最大容量为 sysctl -a | grepnet.nf_conntrack_max,链接碰到各种状态的超时后就会从表中删除。

解決方法

1.增加 ip_conntrack_max 值
复制代码

vim/etc/sysctl.conf

#添加如下

net.nf_conntrack_max = 102400

sysctl -p


2.iptables的raw表是不做数据包的链接跟踪处理的,并且优先级最高,我们可以把那些连接量非常大的链接加入到iptables raw表。
复制代码

iptables -t raw -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j NOTRACK

iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT

查看追踪表当前的数目:

wc -l /proc/net/nf_conntrack

注意:在防火墙关闭的状态下,不要使用iptables -L -vnx来查看状态!因为这样会导致防火墙被启动,而且规则为空。虽然不会有任何拦截效果,但所有连接状态都会被记录,浪费资源且影响性能并可能导致防火墙主动丢包!

摘之阿里云:

现象:突然发现访问网站很慢,服务器的cpu、内存和磁盘使用率都正常

分析过程及解决方案:查询/var/log/message日志发现有这样的记录“ip_conntrack table fulldropping packet”。kernel 用 ip_conntrack 模块来记录 iptables 网络包的状态,并保存到 table 里(这个 table 在内存里),如果网络状况繁忙,比如高连接,高并发连接等会导致逐步占用这个 table 可用空间,一般这个 table 很大不容易占满并且可以自己清理,table 的记录会一直呆在 table 里占用空间直到源 IP 发一个 RST 包,但是如果出现被攻击、错误的网络配置、有问题的路由/路由器、有问题的网卡等情况的时候,就会导致源 IP 发的这个 RST 包收不到,这样就积累在 table 里,越积累越多直到占满,满了以后 iptables 就会丢包,出现外部无法连接服务器的情况。


还遇到了问题:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Keepalived实现高可用
  • 追踪表满导致keepalived vip 不通!
  • LVS 内核实现分析(1)
  • MySQL高可用组件MHA参数详解

相关文章

  • 2017-05-26Android ViewPager使用详解
  • 2017-05-26[android] 手机卫士设备管理权限锁屏,android锁屏
  • 2017-05-26Android handler 详解(面试百分之100问到),androidhandler
  • 2017-05-26接入微信分享过程的喜和泪
  • 2017-05-26android MediaPlayer 错误代码(error code)总结 转载,androidmediaplayer
  • 2017-05-223.5 监听EditText的内容变化
  • 2017-05-26Android开发1:基本UI界面设计——布局和组件,androidui
  • 2017-05-26Jar mismatch错误的解决,jarmismatch错误
  • 2017-05-26Android开源库集合(工具),android开源库集合
  • 2017-07-23从头开始学RecyclerView(六)LayoutManager

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android开发技巧——大图裁剪
    • [Android]Animation 动画介绍和实现,androidanimation
    • 一个现代化的JSON库Moshi针对Android和Java,jsonandroid
    • [better practice系列]Android处理好activity正确情况下的生命周期和意外情况下的生命周期浅析
    • activity的横屏和竖屏设置,activity
    • Android adb shell命令合集
    • Android必知必会-获取视频文件的截图、缩略图
    • 安卓7.0首批截图公布:惊现汉堡菜单,安卓汉堡
    • Android 日常开发总结的技术经验 60 条,android60
    • Android实现支付宝支付

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有