【vPC】peer-switch 機能の役割

vPC は2台の Nexus スイッチを、外部のスイッチに対して仮想的に1つに見せる機能です。SW1 と SW2 から見ると、あたかも1台のスイッチに接続しているように見えるので、2台のスイッチにまたがるリンクを active/active で利用することができます。また、1台の Nexus に障害が発生しても転送を継続することができます。

f:id:naoki029:20190831163732p:plain

vPC を設定する場合、必要最低限な設定に加えて peer-switch を設定することが推奨です。今回は peer-switch がなぜ必要なのかまとめます。

peer-switch が必要な理由

前提として、vPC を設定する場合は vPC ペアが L2 ネットワーク内で STP root となるように構成することが推奨、vPC ペア同士は STP priority を揃えることが必須です。peer-switch は vPC ペアに障害が発生した際に STP トポロジーが変更されないようにするために設定します。

peer-switch を設定しない場合、vPC ピアの STP priority の値を両方とも 0 に設定しても、どちらかしか STP root になりません。STP root が再起動した場合は STP Topology change が発生し、STP の再計算が必要となり、断が発生します。

f:id:naoki029:20190831162850p:plain

peer-switch を設定すると、vPC ペアの両方が STP root として動作するようになります。vPC ペアの片方に再起動が発生した場合でも STP Topology change が発生しなくなります。

peer-switch を設定しない場合の STP Topology

次のような構成で、 STP topology を確認してみます。N9K-1 と N9K-2 で vPC を組み、N9K-3 を配下に接続します。

f:id:naoki029:20190831162943p:plain

N9K-1 と N9K-2 で vPC を組んでいますが、STP topology としては、N9K-1 が STP root と認識されていることがわかります。

f:id:naoki029:20190831163052p:plain

この状態で、N9K-1 が再起動すると STP Topology change が発生し、収束するまで断が発生します。

N9K-3# 2019 Aug 31 06:19:19 N9K-3 %$ VDC-1 %$ %STP-6-ROOT: Root bridge for VLAN0100 changed to 0064.0c33.f3f2.6d07

peer-switch を設定した場合

peer-switch を設定した場合、N9K-1 と N9K-2 の両方が STP Root となり、片方が再起動しても STP Topology change は発生しなくなります。

f:id:naoki029:20190831163215p:plain