付録C Open vSwitch ボンディングのオプション
オーバークラウドは、ボンディングインターフェースのオプションを複数提供する Open vSwtich (OVS) を介してネットワークを提供します。「ネットワーク環境ファイルの作成」の項では、ネットワークの環境ファイルで以下のパラメーターを使用して、ボンディングインターフェースを設定します。
BondInterfaceOvsOptions: "bond_mode=balance-slb"
C.1. ボンディングモードの選択
デフォルトでは、LACP は OVS ベースのボンディングでは使用できません。この設定は、Open vSwitch の一部のバージョンで既知の問題があるためサポートされていません。その代わりに、この機能を置き換わる bond_mode=balance-slb を使用することを検討してください。また、ネットワークインターフェースのテンプレートでは、引き続き LACP を Linux ボンディングで使用することができます。以下に例を示します。
- type: linux_bond name: bond1 members: - type: interface name: nic2 - type: interface name: nic3 bonding_options: "mode=802.3ad lacp_rate=[fast|slow] updelay=1000 miimon=100"
-
mode
: LACP を有効にします。 -
lacp_rate
: LACP パケットの送信間隔を 1 秒または 30 秒に定義します。 -
updelay
: インターフェースをトラフィックに使用する前にそのインターフェースがアクティブである必要のある最低限の時間を定義します (これは、ポートフラッピングによる停止を軽減するのに役立ちます)。 -
miimon
: ドライバーの MIIMON 機能を使用してポートの状態を監視する間隔 (ミリ秒単位)。
それでも LACP を OVS ベースのボンディングで使用したい場合には、デプロイメントの前に、各ネットワークインターフェースの設定 (NIC) ファイルから以下の行を手動で削除することができます。
constraints: - allowed_pattern: "^((?!balance.tcp).)*$" description: | The balance-tcp bond mode is known to cause packet loss and should not be used in BondInterfaceOvsOptions.
各 NIC ファイルから制約を取り除いた後には、ボンディングインターフェースのパラメーターでボンディングモードを設定することができます。
BondInterfaceOvsOptions: "bond_mode=balance-tcp"
この制約の背後にある技術情報については、 BZ#1267291 を参照してください。
nmcli ツールの使用方法についての詳細は、 『Red Hat Enterprise Linux 7 ネットワークガイド』の「4.5.1. ボンディングモジュールのディレクティブ」を参照してください。
C.2. ボンディングオプション
以下の表には、これらのオプションについての説明と、ハードウェアに応じた代替手段を記載しています。
|
送信元の MAC アドレスと出力の VLAN に基づいてフローのバランスを取り、トラフィックパターンの変化に応じて定期的にリバランスを行います。 |
|
このモードは、アクティブな接続が失敗した場合にスタンバイの NIC がネットワーク操作を再開するアクティブ/スタンバイ構成のフェイルオーバーを提供します。物理スイッチに提示される MAC アドレスは 1 つのみです。このモードには、特別なスイッチのサポートや設定は必要なく、リンクが別のスイッチに接続された際に機能します。このモードは、ロードバランシングは提供しません。 |
|
Link Aggregation Control Protocol (LACP) の動作を制御します。LACP をサポートしているのは特定のスイッチのみです。お使いのスイッチが LACP に対応していない場合には |
|
フォールバックとして bond_mode=active-backup に切り替わるように LACP の動作を設定します。 |
|
LACP のハートビートを 1 秒 (高速) または 30 秒 (低速) に設定します。デフォルトは低速です。 |
|
リンク検出に miimon ハートビート (miimon) またはモニターキャリア (carrier) を設定します。デフォルトは carrier です。 |
|
miimon を使用する場合には、ハートビートの間隔をミリ秒単位で設定します。 |
|
フラッピングを防ぐためにアクティブ化してリンクが Up の状態である必要のある時間 (ミリ秒単位) |
|
ボンディングメンバー間のリバランシングフローの間隔 (ミリ秒単位)。無効にするにはゼロに設定します。 |
Linux のボンディングをプロバイダーネットワークと併用してパケットのドロップやパフォーマンス上の問題が発生した場合には、スタンバイインターフェースで Large Receive Offload (LRO) を無効にすることを検討してください。ポートフラッピングが発生したり、接続を失ったりする可能性があるので、Linux ボンディングを OVS ボンディングに追加するのは避けてください。これは、スタンバイインターフェースを介したパケットループの結果です。