これ linuxのbondingのarp 監視のarp_validate option の続き。
- https://bugzilla.redhat.com/show_bug.cgi?id=584872
- http://www.linux-kvm.org/page/HOWTO_BONDING#Problem_with_Bridge_.2B_Bonding
linuxのNIC bonding with bridgeな状況だとARP監視が出来ないようなので、BONDING_OPTSはMII監視で設定して、switchでtrunk failoverを設定した。
trunk failover (link state track)
catalyst だとlink state trackと言うらしい。
特定のportをupstream(上位router, switchなどに接続)とdownstream(serverなどに接続)でgroupに設定しておくと、upsteram portのlink downを検出すると、同groupのdownstream portをdisableにする機能。
このciscoの図でいうと
- 上位スイッチ - 分散スイッチ1, 2
- ホストサーバ用スイッチ - スイッチA,B
- 仮想化ホストサーバ - ホストサーバ 1 ~ 4
あとはスイッチAの設定で
- ポート5, 6 をlink state group 1のupstream
- ポート1 ~ 4 をlink state group 1 のdownstream
と設定すれば良い。(スイッチBも同様)
この状態で分散スイッチ1が障害になると、ポート5,6がshutdown => link state trackの機能でポート1 ~ 4が自動的にshutdownされる。
linuxのサーバ1はeth0 (to: スイッチA ポート1)のlink downを検知するとbonding のactive-slaveをeth1 (スイッチB ポート1)に切り替えるのでnetworkの疎通は維持される、と。