Linux で bonding の active な interface を変更するコマンド

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2012/04)です。
※ 情報が古い可能性もありますので、ご留意ください。



Linux で fault-tolerance (active-backup) なボンディング (チーミング) を組んでいて、アクティブなインタフェースを変更したい場合。

eth1 がアクティブな時に、eth0 に変更とか。(繋がってるスイッチを揃えておきたいとか色々あるよね。)


まず、

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 200
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xy

な状態で、"Currently Active Slave: eth0" を確認。その後、

# ifenslave -c bond0 eth1

を実行すると、、、

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 200
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xy

この通り、"Currently Active Slave: eth1"と切り替わっていることを確認できる。

Apr  3 18:15:07 hostname kernel: bonding: bond0: making interface eth1 the new active one.

"/var/log/messages" にログが残っていることも確認。