19.2. VRRP パケットロスを避けるための keepalived の調整

1 つのホスト上の高可用性 (HA) ルーターの数が大きい場合、HA ルーターのフェイルオーバーが発生すると、仮想ルーター冗長プロトコル (VRRP) メッセージで IRQ キューがオーバーフローする可能性があります。このオーバーフローにより、Open vSwitch (OVS) がそれらの VRRP メッセージに応答して転送することができなくなります。

VRRP パケットのオーバーロードを避けるには、Controller ロールの ExtraConfig セクションの ha_vrrp_advert_int パラメーターを使用して、VRRP 広告の間隔を増やす必要があります。

手順

  1. アンダークラウドに stack ユーザーとしてログインし、source コマンドで stackrc ファイルを読み込み、director コマンドラインツールを有効にします。

    例:

    $ source ~/stackrc

  2. カスタム YAML 環境ファイルを作成します。

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

    ヒント

    Red Hat OpenStack Platform Orchestration サービス (heat) は、テンプレート と呼ばれるプランのセットを使用して環境をインストールおよび設定します。カスタム環境ファイル を使用して、オーバークラウドの要素をカスタマイズすることができます。このファイルは、heat テンプレートをカスタマイズするための特別な種別のテンプレートです。

  3. YAML 環境ファイルで、実際のサイトに固有の値と共に ha_vrrp_advert_int 引数を使用して VRRP 広告の間隔を増やします。(デフォルトは 2 秒です)。

    Gratuitous ARP メッセージに値を設定することもできます。

    ha_vrrp_garp_master_repeat
    マスター状態への移行後に一度に送信する Gratuitous ARP メッセージの数。(デフォルトのメッセージ数は 5 です。)
    ha_vrrp_garp_master_delay

    優先順位の低い広告がマスター状態で受信された後、2 番目の Gratuitous ARP メッセージセットの遅延。(デフォルトは 5 秒です。)

    例:

    parameter_defaults:
      ControllerExtraConfig:
        neutron::agents::l3::ha_vrrp_advert_int: 7
        neutron::config::l3_agent_config:
          DEFAULT/ha_vrrp_garp_master_repeat:
            value: 5
          DEFAULT/ha_vrrp_garp_master_delay:
            value: 5

  4. コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、openstack overcloud deploy コマンドを実行します。

    重要

    後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml

関連情報