ib-bonding による冗長構成

インフィニバンドでもイーサネットと同様 bonding を使用することができます。この ib-bonding は ipoib 上で動作し、現在 active / backup のモード ( mode=1) でのみ使用することができます(MLNX_OFED-1.5.2-2.1.0にて確認)。設定はイーサネットとほぼ同様です。

ネットワークスクリプトへの記述 (RHEL5.5を使用)

1. マスター (bond0) インタフェースには次の記述を追加してください。

TYPE=Bonding         MTU=<スレーブのMTUと合わせる> 
  
例:/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
TYPE=Bonding
MTU=65520
 
※ MTU=65520 はすべての IPoIB スレーブが Connected Mode (CM) で動作している必要があり、すべて同じ値に設定します。Datagram Mode で使用する場合は MTU=2044 となります。

2. スレーブ (ib) インタフェースには次の記述を追加してください。

SLAVE=yes
MASTER=
TYPE=InfiniBand
PRIMARY=
 

例:/etc/sysconfig/network-scripts/ifcfg-ib0

DEVICE=ib0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
TYPE=InfiniBand
PRIMARY=yes

3. /etc/modprobe.conf に以下の記述を追加してください。

alias bond0 bonding
options bond0 miimon=100 mode=1 max_bonds=1

※ max_bonds はボンディングの本数です。以下のように動作を確認できます。

ib0 のインターフェースにて障害が発生
自動的にバックアップの ib1 にてデータを送信

詳細に関しては MLNX_OFED-1.5.2-2.10 インストールディレクトリの ib-bonding.txt をご参照ください。