关于Oracle RAC调整网卡MTU值的问题

墨墨导读:在Oracle RAC的环境中,如果我们发现OSW监控数据显示包重组失败率过高,就需要引起足够的重视,因为这很可能会引发member kill/Node kill等重大故障,甚至在有些场景会连带影响到所有RAC节点不可用。

一般我们会选择调整ipfrag相关参数。除此之外,还有一种解决方案就是选择调整私网网卡的MTU值,通常Oracle使用8k标准块大小时,会选择设置MTU=9000,从而减缓包重组失败次数的增长速率,期望的理想状态下是完全没有包重组失败的发生。


需要注意的是,修改MTU需要心跳交换机配合做相应的修改和适配,确保使用的交换机能够支持巨帧,所以通常给客户的建议会优先给出方案一,实施方案一效果不理想的情况下才会考虑方案二。

方案一:修改ipfrag相关参数

官方建议一般是修改:

net.ipv4.ipfrag_high_thresh=16Mnet.ipv4.ipfrag_low_thresh=15M

这个修改的官方主要依据是 RHEL 6.6: IPC Send timeout/node eviction etc with high packet reassembles failure (Doc ID 2008933.1) ,虽然文档给出的是RHEL6.6,但实际经验是在6.6以后的版本也建议修改,在很多真实案例中,不止局限于6.6这个版本。


另外,如果实际业务量比较大,可以考虑进一步增大这两个值,比如修改为32M/31M甚至64M/63M,一般high和low相差1M即可。


结合公司专家们的实战经验,对ipfrag系列参数给了一个参考,我这里结合网上的资料和RHEL7系统的默认值进行对比:

net.ipv4.ipfrag_high_thresh = 41943040    #分片占用内存的高阈值,默认值4194304net.ipv4.ipfrag_low_thresh = 40894464    #分片占用内存的低阈值,默认值3145728net.ipv4.ipfrag_time = 120          #分片超时时间,默认值30net.ipv4.ipfrag_secret_interval = 600    #默认值600net.ipv4.ipfrag_max_dist = 1024        #分片有效的最长间隔距离,默认值64

这里除了修改ipfrag_high/low_thresh由默认的4M/3M改为40M/39M之外&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值