大筋は以下の URL を参考に設定しています. http://h50146.www5.hp.com/products/software/oe/linux/mainstream/support/doc/option/nic/bonding_v104yz1.html
1) Network の停止と NIC のカーネルモジュールのアンロード
# service network stop # rmmod bnx2 (NEC のサーバなら e1000)
2) カーネルモジュールの設定変更 /etc/modules.conf もしくは /etc/modprobe.conf に以下の 2行を追加
alias bond0 bonding options bonding miimon=100 arp_ip_target=192.168.1.1 mode=1
(arp_interval は NIC の正常/異常を確認する間隔で単位は ms, mode は 1 が active-backup モード)
miimon=100 のところを HP のドキュメントのように arp_interval=1000 としたら えらい目にあったので,注意すること.
また,arp_ip_target は,arp_interval の値が 0 より大きいときに有効となるので, 実際はいらないかも.つまり,
options bonding miimon=100 mode=1でいいはず.
もっというと,/usr/src/linux/Documentation/networking/bonding.txt によると,mode も自動でスイッチ側に対応すると書いてあるので, options 行なんてなくてもいいはず.
3) Network の設定ファイルを作成/変更
3-1) /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 GATEWAY=192.168.1.254 MACADDR=XX:XX:XX:XX:XX:XX(<- eth0 の MAC アドレスを指定)
3-2) /etc/sysconfig/network-scripts/ifcfg-eth0 既存のものを以下の内容に変更
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no
3-3) /etc/sysconfig/network-scripts/ifcfg-eth1 以下の内容でファイルを作成.
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no
4) 再起動
5) 動作確認
5-1) カーネルから認識されているかの確認
# cat /proc/net/bonding/bond0 Bonding Mode: fault-tolerance(active-backup) Currently Active Slave: eth0 MII Status: up <--うまく機能していない場合は down と表示される (中略) Slave Interface: eth0 MII Status: up <--ケーブルが抜けているときは down と表示される Link Failure Count: 1 Permanent HW addr: XX:XX:XX:XX:XX:XX Slave Interface: eth1 MII Status: up <--ケーブルが抜けているときは down と表示される Link Failure Count: 1 Permanent HW addr: XX:XX:XX:XX:XX:XX
5-2) ping での確認
適当な機器へ ping を打ちながらケーブルを抜き差しする.
# ifup bond0