应急预案:专有云内核参数优化方法

应急预案:专有云内核参数优化方法

更新时间:2020-06-11 16:16:25

1. 概述

本文主要介绍在专有云环境中,pid_maxnf_conntrack_max内核参数的优化方法。

1.1. 适用范围

  • 专有云V2,基础服务设备
  • 专有云V3,基础服务设备
    说明
    • 适用于专有云V2,V3版本的Docker宿主机。
    • nf_conntrack参数适用于专有云V3环境的OPS服务器。在全新部署的专有云V3.6及之后的版本中,天基集群为7U的环境不需要修改参数,但升级到专有云V3.6及之后的版本需要修改参数。
    • 适用于所有5U、6U操作系统,但是不包含7U操作系统。

1.2. 用户告知

  • 适用平台:x86
  • 授权级别:L2(二线技术支持工程师)
  • 临时或固化方案:固化
  • 操作复杂度:低
  • 业务影响:否
  • 风险等级:低
    说明
    • 在业务低峰期进行操作。
    • 执行灰度策略时,建议逐台进行操作,中间间隔1个小时。修改下一台物理机参数时,需要登录上一台物理机执行top命令,验证top命令是否可以正常执行,并且验证天目控制台和天基控制台的状态是否正常。
    • 如果系统中的参数值高于本文涉及到的参数值,则不必进行更改。
    • 如果系统中的参数值低于本文涉及到的参数值,则更改为本文涉及到的参数值。
    • 本文中net.netfilter.nf_conntrack_max参数调整方法只适用于专有云V3环境的OPS1机器,其他Docker宿主机在专有云V3.6及之前的版本中没有net.netfilter.nf_conntrack_max参数,可不必修改此参数值。
    • 本文涉及到的IP地址等信息请根据现场实际情况进行设置。
    • kernel.pid_max参数的推荐值为131072,该参数限制了进程和线程打开数,解决messages日志中cannot allocate memory和error(can't fork)的报错问题。如果系统达到pid_max参数的推荐值会导致无法启动新进程和线程,并且导致Docker容器内服务无法正常工作,从而影响终态。
    • net.netfilter.nf.conntrack_max参数的推荐值为2097152,该参数关联最大连接跟踪表,解决dmesg程序中的table fulldropping packet等问题。如果达到nf_conntrack.max参数的推荐值,会无法执行某些ping操作,影响天基对集群物理机状态判断的准确性,从而影响终态。

2. 问题描述

在专有云环境中的5U、6U操作系统中,部分内核参数较小会影响系统的性能和功能,因此通过优化pid_maxnf_conntrack_max内核参数,以保障系统正常运行。

3. 解决方案

详情请参见以下KB文档。

  • KB 107932 通用方案:专有云内核参数优化方法