Linux Bonding : NICフェイルオーバーのテスト

8月 9, 2009

引き続き、Linux Bondingについて。
NICが2つあって、eth2とeth4、eth3とeth5をそれぞれをBondingしているとする。
eth2がダウンしたらeth4が立ち上がるよね、ってことをテストするとしたら。

インターフェイス上げ下げの際に実行するコマンドは、ifconfig up/downでも、ifup/ifdown
でもよい。

# ifconfig down eth2
# ifconfig up eth2


または

# ifdown eth2
# ifup eth2


ステータスの確認には、/proc/net/bonding/bond0ファイルを見てみる。
仮に、下記が当初のあるべきステータスとする。

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver : (略)…

Bonding Mode : fault-tolerance (active-backup)
Primary Slave : None
Currently Active Slave : eth2 < - -現在アクティブなインターフェイス
MII Status : up   
MII Polling Interval (ms) : 1000
Up Delay (ms) : 0
Down Delay (ms) : 0

Slave Interface : eth2
MII Status : up < - - upになっている
Link Failurre Count : 0
Permanent HW addr : 00.2f.89.4e:ca

Slave Interface : eth4
MII Status : up < - - upになっている
Link Failurre Count : 0
Permanent HW addr : 00.2f.89.4c:e1


アクティブなインターフェイスはeth2で、MII Statusはeth2、eth4ともにupしている。
ここで# ifconfig down eth2 を実行してeth2を落としてみると、以下のようになる。

Bonding Mode : fault-tolerance (active-backup)
Primary Slave : None
Currently Active Slave : eth4 < - -アクティブなインターフェイスがeth4になる
MII Status : up   
MII Polling Interval (ms) : 1000
Up Delay (ms) : 0
Down Delay (ms) : 0

Slave Interface : eth2
MII Status : down < - - downになっている
Link Failurre Count : 0
Permanent HW addr : 00.2f.89.4e:ca

Slave Interface : eth4
MII Status : up < - - upになっている
Link Failurre Count : 0
Permanent HW addr : 00.2f.89.4c:e1


ここで # ifconfig up eth2コマンドでeth2をupすると、アクティブなインターフェイスは
eth4、MII Statusはeth2,4ともにupとなる。

正常にフェイルオーバーされることが確認できたら、NICの状態を元に戻す。

# ifconfig down eth4でeth4をdownさせると、アクティブなインターフェイスがeth2に
戻るが、eth4のMII Statusがdownする。
最後に# ifconfig up eth4を実行すると、すべて当初の状態に戻る。

eth3,eth5も同様にテストする。その際に確認するファイルは/proc/net/bonding/bond1の方。

…こんなことを繰り返していると段々何が何だかわからなくなってきてしまうけど、
テストの最中に/var/log/messageをちょこちょこ見てみると、インターフェイスの上げ下げに
ともなって各種メッセージが吐かれるのが確認できる。
ここでどんなメッセージが出力されるのかは、覚えておいて損はないと思いマス。

関連記事
LinuxのBondingをもっとよく知りたい
Linux Bonding : modprobe.confの編集
Linux Bonding : NWインターフェイスの設定
LinuxでNICのデバイスマップを固定する

Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index


Categories: Linux