19.2. VRRP パケットロスを避けるための keepalived の調整
1 つのホスト上の高可用性 (HA) ルーターの数が大きい場合、HA ルーターのフェイルオーバーが発生すると、仮想ルーター冗長プロトコル (VRRP) メッセージで IRQ キューがオーバーフローする可能性があります。このオーバーフローにより、Open vSwitch (OVS) がそれらの VRRP メッセージに応答して転送することができなくなります。
VRRP パケットのオーバーロードを避けるには、Controller ロールの ExtraConfig
セクションの ha_vrrp_advert_int
パラメーターを使用して、VRRP 広告の間隔を増やす必要があります。
手順
アンダークラウドに stack ユーザーとしてログインし、source コマンドで
stackrc
ファイルを読み込み、director コマンドラインツールを有効にします。例:
$ source ~/stackrc
カスタム YAML 環境ファイルを作成します。
例
$ vi /home/stack/templates/my-neutron-environment.yaml
ヒントRed Hat OpenStack Platform Orchestration サービス (heat) は、テンプレート と呼ばれるプランのセットを使用して環境をインストールおよび設定します。カスタム環境ファイル を使用して、オーバークラウドの要素をカスタマイズすることができます。このファイルは、heat テンプレートをカスタマイズするための特別な種別のテンプレートです。
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
コア 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
関連情報
- RFC 4541 の 2.1.2 項 Data Forwarding Rules サブセクション 2
- Advanced Overcloud Customization ガイドの Environment files
- Advanced Overcloud Customization ガイドの Including environment files in overcloud creation