Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第12章 ネットワークインターフェースボンディング

本章では、カスタムネットワーク設定で使用することのできるボンディングのオプションを定義します。

12.1. Open vSwitch ボンディングのオプション

オーバークラウドは、ボンディングインターフェースのオプションを複数提供する Open vSwtich (OVS) を介してネットワークを提供します。ネットワークの環境ファイルで以下のパラメーターを使用して、ボンディングインターフェースを設定することができます。

parameter_defaults:
  BondInterfaceOvsOptions: "bond_mode=balance-slb"
重要

デフォルトでは、LACP は OVS ベースのボンディングでは使用できません。この設定は、Open vSwitch の一部のバージョンで既知の問題があるためサポートされていません。その代わりに、この機能の代替として bond_mode=balance-slb を使用することを検討してください。この制約の背景となる技術詳細に関しては、BZ#1267291 を参照してください。

12.2. Linux ボンディングのオプション

デフォルトでは、LACP は OVS ベースのボンディングでは使用できません。ただし、ネットワークインターフェースのテンプレートでは、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 機能を使用してポートの状態を監視する間隔 (ミリ秒単位)。

各 NIC ファイルから制約を取り除いた後には、ボンディングインターフェースのパラメーターでボンディングモードを設定することができます。

nmcli ツールの使用方法についての詳細は、『Red Hat Enterprise Linux 7 ネットワークガイド』「4.5.1. ボンディングモジュールのディレクティブ」を参照してください。

12.3. 一般的なボンディングオプション

以下の表には、これらのオプションについての説明と、ハードウェアに応じた代替手段を記載しています。

表12.1 ボンディングオプション

bond_mode=balance-slb

送信元の MAC アドレスと出力の VLAN に基づいてフローのバランスを取り、トラフィックパターンの変化に応じて定期的にリバランスを行います。balance-slb とのボンディングにより、リモートスイッチについての知識や協力なしに限定された形態のロードバランシングが可能となります。SLB は送信元 MAC アドレスと VLAN の各ペアをリンクに割り当て、そのリンクを介して、対象の MAC アドレスとLAN からのパケットをすべて伝送します。このモードはトラフィックパターンの変化に応じて定期的にリバランスを行う、送信元 MAC アドレスと VLAN の番号に基づいた、簡単なハッシュアルゴリズムを使用します。これは、Linux ボンディングドライバーで使用されているモード 2 のボンディングと同様で、スイッチはボンディングで設定されているが、LACP (動的なボンディングではなく静的なボンディング) を使用するように設定されていない場合に使用されます。

bond_mode=active-backup

このモードは、アクティブな接続が失敗した場合にスタンバイの NIC がネットワーク操作を再開するアクティブ/スタンバイ構成のフェイルオーバーを提供します。物理スイッチに提示される MAC アドレスは 1 つのみです。このモードには、特別なスイッチのサポートや設定は必要なく、リンクが別のスイッチに接続された際に機能します。このモードは、ロードバランシングは提供しません。

lacp=[active|passive|off]

Link Aggregation Control Protocol (LACP) の動作を制御します。LACP をサポートしているのは特定のスイッチのみです。お使いのスイッチが LACP に対応していない場合には bond_mode=balance-slb または bond_mode=active-backup を使用してください。

other-config:lacp-fallback-ab=true

フォールバックとして bond_mode=active-backup に切り替わるように LACP の動作を設定します。

other_config:lacp-time=[fast|slow]

LACP のハートビートを 1 秒 (高速) または 30 秒 (低速) に設定します。デフォルトは低速です。

other_config:bond-detect-mode=[miimon|carrier]

リンク検出に miimon ハートビート (miimon) またはモニターキャリア (carrier) を設定します。デフォルトは carrier です。

other_config:bond-miimon-interval=100

miimon を使用する場合には、ハートビートの間隔をミリ秒単位で設定します。

other_config:bond_updelay=1000

フラッピングを防ぐためにアクティブ化してリンクが Up の状態である必要のある時間 (ミリ秒単位)

other_config:bond-rebalance-interval=10000

ボンディングメンバー間のリバランシングフローの間隔 (ミリ秒単位)。無効にするにはゼロに設定します。

重要

Linux のボンディングをプロバイダーネットワークと併用してパケットのドロップやパフォーマンス上の問題が発生した場合には、スタンバイインターフェースで Large Receive Offload (LRO) を無効にすることを検討してください。ポートフラッピングが発生したり、接続を失ったりする可能性があるので、Linux ボンディングを OVS ボンディングに追加するのは避けてください。これは、スタンバイインターフェースを介したパケットループの結果です。