参考link
https://bst.cloudapps.cisco.com/ ... ffering_site=dumpcr描述:
n7k vpc 环境,vpc peer-keepalive 使用port-channel 2,物理接口都在 M1 板卡;vpc peer-link 在 M2 板卡
当vpc OP(Operation Primary) 设备由于 断电/crash/etc. 等问题从网络中离线,按照设计,网络流量都会经过 vpc OS(Operation Secondary) 去转发,并且OS 会将自己角色切换为新的OP
情景:
当vpc peer-keepalive 的物理接口在 M1 卡,vpc OP 设备从网络中离线,关键log如下:
2017 Feb 10 05:
08:24 N7K-1 %VPC-2-VPC_SUSP_ALL_VPC:
Peer-link going down, suspending all vPCs on secondary
2017 Feb 10 05:08:24 N7K-1 %ETHPORT-5-IF_DOWN_PORT_CHANNEL_MEMBERS_DOWN: Interface port-channel3 is down (No operational members)
2017 Feb 10 05:08:27 N7K-1 %ETHPORT-5-IF_DOWN_PORT_CHANNEL_MEMBERS_DOWN: Interface port-channel2 is down (No operational members)
2017 Feb 10 05:
08:31 N7K-1 %VPC-2-PEER_KEEP_ALIVE_RECV_FAIL: In domain 1,
VPC peer keep-alive receive has failed可以看到 peer-link 先断掉,之后过了7-8秒,keepalive 才断掉
从vpc 本身的 dual-active prevention 设计来说:
1. 当 keepalive 断掉,peer-link 正常: vpc 角色并不会切换,只是有logging warning
2. 当 keepalive 先断掉,peer-link 后断掉: 可能导致脑裂;OS 会切换为OP
3. 当 peer-link 先断掉,keepalive 后断掉:OS 不会切换为OP,OS 会将自己suspend
参考link里面描述的是 3. peer-link先断掉,keepalive 还在。如果OP设备离线,OS 将自己suspend,会导致网络中断。
解决方案:
将peer-keepalive 放在M2板卡,防止OP设备意外 断电/crash 造成的网络中断
在机房迁移、演练中,先手动 shutdown peerkeepalive, 再去将 OP 断电