12.5. 增加 netfilter 跟踪的最大连接数
Red Hat OpenStack Platform (RHOSP)网络服务(neutron)使用 netfilter 连接跟踪来构建有状态的防火墙,并在虚拟网络中提供网络地址转换(NAT)。有些情况下可能会导致内核空间达到最大连接限制,并导致错误(如 nf_conntrack: table full, drop 数据包)。
您可以增加连接跟踪(conntrack)的限值,并避免这些类型的错误。您可以为 RHOSP 部署中的一个或多个角色增加 conntrack 限制。
前提条件
- 成功安装 RHOSP undercloud。
流程
-
以
stack
用户身份登录 undercloud 主机。 提供 undercloud 凭据文件:
$ source ~/stackrc
创建自定义 YAML 环境文件。
Example
$ vi /home/stack/templates/my-environment.yaml
您的环境文件必须包含关键字
参数_defaults
和ExtraSysctlSettings
。输入新值,表示 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
.
运行部署命令,包括核心 heat 模板、环境文件和新的自定义环境文件。
重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。
Example
$ openstack overcloud deploy --templates \ -e /home/stack/templates/my-environment.yaml