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