3.9. VRRP パケットロスを避けるための keepalived の調整
1 つのホスト上の高可用性 (HA) ルーターの数が大きい場合、HA ルーターのフェイルオーバーが発生すると、仮想ルーター冗長プロトコル (VRRP) メッセージで IRQ キューがオーバーフローする可能性があります。このオーバーフローにより、Open vSwitch (OVS) がそれらの VRRP メッセージに応答して転送することができなくなります。
VRRP パケットのオーバーロードを避けるには、Networking サービス (neutron) エージェントの設定ファイル l3_agent.conf の ha_vrrp_advert_int オプションを使用して、VRRP 広告の間隔を増やす必要があります。
手順
オーバークラウドの Networking コントローラーホストに stack ユーザーとしてログインし、テキストエディターで
l3_agent.confを開きます。例
vi /var/lib/config-data/neutron/etc/neutron/l3_agent.conf
vi /var/lib/config-data/neutron/etc/neutron/l3_agent.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow ha_vrrp_advert_intオプションを探し、VRRP 広告の間隔を増やします。(デフォルトは2秒です)。例
[DEFAULT] ha_vrrp_advert_int = 7 ha_vrrp_garp_master_repeat = 5 ha_vrrp_garp_master_delay = 5
[DEFAULT] ha_vrrp_advert_int = 7 ha_vrrp_garp_master_repeat = 5 ha_vrrp_garp_master_delay = 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 余計な ARP メッセージを設定するためのオプションもあります。
ha_vrrp_garp_master_repeat- マスター状態への移行後に一度に送信する Gratuitous ARP メッセージの数。(デフォルトのメッセージ数は 5 です。)
ha_vrrp_garp_master_delay- 優先順位の低い広告がマスター状態で受信された後、2 番目の Gratuitous ARP メッセージセットの遅延。(デフォルトは 5 秒です。)
ヒント次回
openstackoverclouddeployコマンドを実行すると、このようなl3_agent.confへの手動変更はすべて上書きされます。今後のオーバークラウドの更新後に変更を再度適用する、デプロイ後のスクリプトを作成することができます。次のドキュメントで説明されている puppethieradata ロール名をスクリプトに追加すると、スクリプトは、l3_agent.confの変更を再適用する必要があるオーバークラウドノードロールでのみ実行されます。詳しい情報は、オーバークラウドの高度なカスタマイズの 設定後: 全オーバークラウドロールのカスタマイズ を参照してください。
関連資料
- RFC 4541 の 2.1.2 項 Data Forwarding Rules サブセクション 2