11.7. 增加 netfilter 跟踪的最大连接数
Red Hat OpenStack Platform (RHOSP)网络服务(neutron)使用 netfilter 连接跟踪来构建有状态的防火墙,并在虚拟网络上提供网络地址转换(NAT)。在某些情况下,可能会导致内核空间达到最大连接限制,并导致错误,如 nf_conntrack: 表 full,丢弃数据包。
您可以提高连接跟踪(conntrack)的限制,并避免这些类型的错误。您可以在 RHOSP 部署中增加一个或多个角色的 conntrack 限制。
先决条件
- 成功安装 RHOSP undercloud。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找 undercloud 凭证文件:
$ source ~/stackrc
创建自定义 YAML 环境文件。
示例
$ vi /home/stack/templates/my-environment.yaml
您的环境文件必须包含 keywords
parameter_defaults
和ExtraSysctlSettings
。为 netfilter 可在变量net.nf_conntrack_max
中跟踪的最大连接数输入一个新值。示例
在本例中,您可以在 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 限制,或ComputeParameters
为 Compute 角色设置 conntrack 限制。将 <
simultaneous_connections
> 替换为您要同时允许的连接数量。示例
在本例中,您只能为 RHOSP 部署中的 Controller 角色设置 conntrack 限制:
parameter_defaults: ControllerParameters: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000
注意net.nf_conntrack_max
的默认值为500000
连接。最大值为:429496739)
。
运行部署命令,包括核心 heat 模板、环境文件和新的自定义环境文件。
重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。
示例
$ openstack overcloud deploy --templates \ -e /home/stack/templates/my-environment.yaml