問題の概要
NexusシリーズでvPCが構成されている環境で、vPC auto-recoveryが有効である場合、交換方法によっては、vPCのlink downが発生し、通信断が発生する可能性があります。
Nexus7000では、NXOS6.2(2)以降、Nexus5000,6000ではNXOS6.0(2)N3(1)以降でvPC auto-recoveryがデフォルトで有効となっています。
このドキュメントでは、筺体交換時のauto-recoveryに関する注意事項を解説します。
事象と解説
交換した筺体をvPC構成に組み込み直す前に、auto-recoveryでvPC role primaryに昇格しない様にする必要があります。
これはauto-recoveryでprimaryに昇格した場合、role priorityに関係なく優先的にprimaryとなるためです。
auto- recoveryが有効となっており、vpc keepalive、vpc peerlink が接続されていない状況で、auto-recoveryのdelayで設定された時間が経過すると自動的にvPC roleがprimaryに昇格します。この状況で、稼働を続けているvPC peerデバイスと接続すると、稼働を続けていたvPC peerデバイスがsecondaryに降格し、その際にvPCの初期化が発生し、vPCがlink downします。

auto-recoveryが有効か、primaryに昇格しているかは"show vpc"コマンドで確認することが出来ます。
以下の例では、auto-recoveryが有効になっていますが、auto-recovery delayで設定された時間が経過していないため、まだroleは non established のままとなっています。
N5672# sh vpc
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 10
Peer status : peer link is down
vPC keep-alive status : Suspended (Destination IP not reachable)
Configuration consistency status : failed
Per-vlan consistency status : success
Configuration inconsistency reason: Consistency Check Not Performed
Type-2 inconsistency reason : Consistency Check Not Performed
vPC role : none established
Number of vPCs configured : 1
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Disabled (due to peer configuration)
Auto-recovery status : Enabled (timeout = 240 seconds)
以下の例では、auto-recovery delayで設定された時間が経過した為、roleがprimaryに昇格しています。この状況で稼働を続けているvPC peerデバイスと接続すると、稼働を続けていたvPCのlink downが発生します。
N5672# sh vpc
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 10
Peer status : peer link is down
vPC keep-alive status : Suspended (Destination IP not reachable)
Configuration consistency status : success
Per-vlan consistency status : success
Type-2 consistency status : success
vPC role : primary
Number of vPCs configured : 1
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Disabled (due to peer configuration)
Auto-recovery status : Enabled (timeout = 250 seconds)
回避方法
この問題は以下で回避する事が出来ます。
- auto-recovery delayがタイムアウトしてprimaryに昇格する前にvpc keepalive , peer-link を接続する。
- auto-recoveryを無効にした状態でvpc keepalive , peer-link を接続する。
- この方法には以下の注意点があります。
- 一旦primaryに昇格した後に無効にしても、primary状態を維持するため、再起動等で再度初期化する必要があります。
- Nexus5000/6000にはauto-recoveryを無効にする設定を保存できない以下の不具合があり、2015年12月時点ではこの不具合が修正されたNXOSがありません。
CSCuu16759 N5K/6K: Need to NVGEN "no auto recovery"
この為、起動後auto-recovery delayがタイムアウトする前に、 "no auto recovery"を実施する必要があります。
関連情報
Virtual Port Channel Operations