12.5. netfilter が追跡する接続の最大数を増やす
Red Hat OpenStack Platform (RHOSP) Networking サービス (neutron) は、netfilter 接続追跡を使用してステートフルファイアウォールを構築し、仮想ネットワークでネットワークアドレス変換 (NAT) を提供します。カーネルスペースが最大接続制限に達し、nf_conntrack: table full, dropping packet
などのエラーが発生する状況がいくつかあります。接続追跡 (conntrack) の制限を増やして、これらのタイプのエラーを回避できます。RHOSP デプロイメントで、1 つ以上のロール、またはすべてのノードの conntrack 制限を増やすことができます。
前提条件
- RHOSP アンダークラウドのインストールが成功しました。
手順
-
アンダークラウドホストに
stack
ユーザーとしてログインします。 source コマンドでアンダークラウドの認証情報ファイルを読み込みます。
$ source ~/stackrc
カスタム YAML 環境ファイルを作成します。
例
$ vi /home/stack/templates/my-environment.yaml
環境ファイルには、キーワード
parameter_defaults
およびExtraSysctlSettings
が含まれている必要があります。netfilter が追跡できる接続の最大数の新しい値を変数net.nf_conntrack_max
に入力します。例
この例では、RHOSP デプロイメント内のすべてのホストにわたって conntrack 制限を設定できます。
parameter_defaults: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000
<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
接続です。最大値は4294967295
です。
コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、deployment コマンドを実行します。
重要後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。
例
$ openstack overcloud deploy --templates \ -e /home/stack/templates/my-environment.yaml