RIGHT:[[Linux 関係覚え書き]]
*RHEL4 での bonding の設定 [#ea00e251]
-RHEL4(標準の bonding ドライバが使える.
RHEL3 の場合は,HP 提供のものを使う方がいいらしい.)
-HP DL360 G5
大筋は以下の 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 を打ちながらケーブルを抜き差しする.
-eth0, eth1 を交互に抜いても,とぎれなく通信している.
-%%eth0, eth1 の両方を抜くと,再度ケーブルを差しても%%
%%通信状態が復活しない.%%
%%この場合は,以下のコマンドでリンクを up させる必要あり.%%
%% # ifup bond0%%