16 ネットワークデバイスボンディング #
多くのシステムで、通常のEthernetデバイスの標準のデータセキュリティ/可用性の要件を超えるネットワーク接続の実装が望ましいことがあります。その場合、数台のEthernetデバイスを集めて1つのボンディングデバイスを設定できます。
ボンディングデバイスの設定には、ボンディングモジュールオプションを使用します。ボンディングデバイスの振る舞いは、ボンディングデバイスのモードによって決定されます。デフォルトの動作は、mode=active-backup
であり、プライマリデバイスに障害が発生すると、別のデバイスがアクティブになります。
Corosyncの使用時は、クラスタソフトウェアでボンディングデバイスが管理されることはありません。したがって、ボンディングデバイスにアクセスする可能性のあるクラスタノードごとに、ボンディングデバイスを設定する必要があります。
16.1 YaSTによるボンディングデバイスの設定 #
ボンディングデバイスを設定するには、1つのボンディングデバイスに集めることができる数台のEthernetデバイスが必要です。以下に手順を示します。
root
としてYaSTを開始し、 › の順に選択します。1つのボンディングデバイスに集めるEthernetデバイスにIPアドレスが割り当てられているかどうかチェックします。割り当てられている場合は、それを変更します。
選択するデバイスを選択して、
をクリックします。開いている
ダイアログの タブで、 オプションを選択します。
新しいボンディングデバイスを追加するには:
IPアドレスをボンディングデバイスに割り当てる方法を選択します。3つの方法から選択できます。
リンクおよび IP の設定無し (Bond ポート)
可変IPアドレス(DHCPまたはZeroconf)
固定IPアドレス
ご使用の環境に適合する方法を使用します。Corosyncで仮想IPアドレスを管理する場合は、
を選択し、インタフェースにIPアドレスを割り当てます。ボンドに含めるEthernetデバイスを選択するには、各デバイスの前のチェックボックスを有効にします。
balance-rr
パケットが正しい順序で転送されなくなる代わりに、負荷分散と耐障害性が提供されます。これは、TCPの再構築時などに遅延の原因になる場合があります。
active-backup
耐障害性を提供します。
balance-xor
負荷分散と耐障害性を提供します。
broadcast
耐障害性を提供します。
802.3ad
接続されるスイッチでサポートされる場合は、ダイナミックリンク集合を提供します。
balance-tlb
発信トラフィックの負荷分散を提供します。
balance-alb
使用中にハードウェアアドレスの変更が可能なネットワークデバイスを使用する場合は、着信トラフィックと発信トラフィックの負荷分散を提供します。
miimon=100
ボンドドライバオプション を必ず追加します。このパラメータがなければ、リンクが定期的にチェックされないため、ボンディングドライバは、障害リンクで引き続きパケットを失う可能性があります。
/etc/sysconfig/network/ifcfg-bondDEVICENUMBER
に書き込みます。
16.2 デバイスをボンドにホットプラグする #
ボンドのインタフェースを別のものに置き換える必要が生じることがあります。たとえば、それぞれのネットワークデバイスに常に障害が発生する場合などです。解決方法として、ホットプラグを設定します。デバイスをMACアドレスではなくバスIDによって一致させるために、udev
ルールを変更する必要もあります。これにより、ハードウェアが許可する場合は、不具合のあるハードウェア(同じスロットにあるのにMACアドレスが異なるネットワークカードなど)を置き換えることができます。
手動の設定を行う場合は、『SUSE Linux Enterprise Server管理ガイド』の「Basic Networking」の章の「Hotplugging of bond ports」というセクションを参照してください。
root
としてYaSTを開始し、 › の順に選択します。1つのボンディングデバイスに集められたEthernetデバイスのそれぞれに対して、次の手順を実行します。
選択するデバイスを選択して、
をクリックします。 ダイアログが開きます。On Hotplug
に設定されていることを確認します。
ブート時にネットワークセットアップはホットプラグデバイスを待機しませんが、ボンドの準備が整うのを待機します。これには少なくとも1つのデバイスが利用可能であることが必要です。インタフェースの1つがシステムから削除されると(NICドライバからアンバインド、NICドライバのrmmod
、または実際のPCIホットプラグ取り外し)、カーネルによってボンドから自動的に削除されます。システムに新しいカードが追加されると(スロットのハードウェアが置換されると)、udev
は、バスベースの永続名規則を適用することで名前を変更し、ifup
を呼び出します。ifup
呼び出しによって、ボンドに自動的に追加されます。
16.3 詳細の参照先 #
全モードおよび多数のオプションの詳細については、kernel-source
パッケージをインストールした後に/usr/src/linux/Documentation/networking/bonding.txt
で参照できるファイルの内容です。
High Availabilityセットアップの場合は、そのファイルで説明されているmiimon
およびuse_carrier
オプションが特に重要です。