Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

12.5. 增加 netfilter 跟踪的最大连接数

Red Hat OpenStack Platform (RHOSP)网络服务(neutron)使用 netfilter 连接跟踪来构建有状态的防火墙,并在虚拟网络中提供网络地址转换(NAT)。有些情况下可能会导致内核空间达到最大连接限制,并导致错误(如 nf_conntrack: table full, drop 数据包)。您可以增加连接跟踪(conntrack)的限值,并避免这些类型的错误。您可以为 RHOSP 部署中的一个或多个角色增加 conntrack 限制。

前提条件

  • 成功安装 RHOSP undercloud。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 提供 undercloud 凭据文件:

    $ source ~/stackrc
  3. 创建自定义 YAML 环境文件。

    Example

    $ vi /home/stack/templates/my-environment.yaml

  4. 您的环境文件必须包含关键字 参数_defaultsExtraSysctlSettings。输入新值,表示 netfilter 可在变量 net.nf_conntrack_max 中跟踪的最大连接数。

    Example

    在本例中,您可以在 RHOSP 部署中的所有主机中设置 conntrack 限制:

    parameter_defaults:
      ExtraSysctlSettings:
        net.nf_conntrack_max:
          value: 500000

    使用 & lt;role>Parameter 参数为特定角色设置 conntrack 限制:

    parameter_defaults:
      <role>Parameters:
        ExtraSysctlSettings:
          net.nf_conntrack_max:
            value: <simultaneous_connections>
    • <role > 替换为角色的名称。

      例如,使用 ControllerParameters 为 Controller 角色设置 conntrack 限值,或者为 Compute 角色设置 conntrack 限值。

    • 将 < simultaneous_connections > 替换为您要允许的同时连接数量。

      Example

      在本例中,您只能在 RHOSP 部署中为 Controller 角色设置 conntrack 限制:

      parameter_defaults:
        ControllerParameters:
          ExtraSysctlSettings:
            net.nf_conntrack_max:
              value: 500000
      注意

      net.nf_conntrack_max 的默认值为 500000 连接。最大值为: 4294967295.

  5. 运行部署命令,包括核心 heat 模板、环境文件和新的自定义环境文件。

    重要

    环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。

    Example

    $ openstack overcloud deploy --templates \
    -e /home/stack/templates/my-environment.yaml