がらくたネット


CentOSでのbonding

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が接続されている場合、このモードを利用すればスイッチ側の設定は必要ないので便利。