CentOSでのbonding
複数NICを束ねて1つのNICとして見せかけることをbondingと呼ぶ。スイッチの世界ではLinkAggrecationとかTrunkingとか呼ぶ。
冗長性と耐障害性を備えることが可能。
接続スイッチの設定によっては利用できるモードとできないモードがあるので接続先スイッチの構成にも左右される。
bondingはkernelレベルでサポートされる。
bondingモジュールの読み込み
# cd /etc/modprobe.d # vi bonding alias bond0 bonding options bonding mode=1 miimon=200 primary=eth0オプションパラメーターはhttp://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/ref-guide/s1-modules-ethernet.htmlを参照
/etc/sysconfig/network-scripts/ifcfg-bond0を作成
中身はeth0と同様
eth0とeth1を修正、こんな感じ
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes MASTER=bond0 SLAVE=yes
MASTER=bond0とSLAVE=yesの二つでbonding配下のインターフェースとなる。
再起動すると完成。
モード
モードにより動作が異なる。それぞれの動作によってスイッチ側の設定を考える必要がある。同一MACアドレスでの通信となることから特に論理的に複数のスイッチに接続される場合は要注意となる。
mode=0 モード0はラウンドロビンで通信する
mode=1 モード1はアクティブバックアップで通信する。1つのNICのみがアクティブとなり他はバックアップとして待機する。論理的に複数のスイッチに各NICが接続されている場合、このモードを利用すればスイッチ側の設定は必要ないので便利。