目录

简介

先决条件

要求

使用的组件

背景信息

配置

验证

故障排除

相关信息

简介

本文档介绍如何在Nexus 7000上配置虚拟PortChannel(vPC)自动恢复功能。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

为什么需要vPC自动恢复？

此vPC增强的主要原因有两个：

- 在数据中心停机或断电时，由Nexus 7000交换机组成的两个vPC对等体都处于关闭状态。有时，只能恢复其中一个对等体。由于其他Nexus 7000仍处于关闭状态，因此vPC对等链路和vPC对等保持连接链路也处于关闭状态。在此场景中，即使已打开的Nexus 7000也不会打开vPC。所有vPC配置都必须从该Nexus 7000的端口通道中删除，以使端口通道工作。当其他Nexus 7000打开时，您必须再次进行配置更改，以包括所有vPC的vPC配置。在版本5.0(2)及更高版本中，您可以在vPC域配置下配置reload restore命令来解决此问题。

- 由于某种原因，vPC对等链路断开。由于vPC对等保持连接仍处于打开状态，因此vPC辅助对等设备会由于双活检测而关闭其所有vPC成员端口。因此，所有流量都通过vPC主交换机。由于某种原因，vPC主交换机也关闭。此交换机问题会使流量黑洞，因为辅助对等设备上的vPC仍处于关闭状态，因为它在vPC主交换机关闭之前检测到双活检测。

在版本5.2(1)及更高版本中，vPC自动恢复功能合并了这两项增强功能。

配置

vPC自动恢复的配置非常简单。您需要在两个vPC对等体的vPC域下配置自动恢复。

以下是一个配置示例：

在交换机S1上

S1 (config)# vpc domain

S1(config-vpc-domain)# auto-recovery

S1# show vpc

Legend:

(*) - local vPC is down, forwarding via vPC peer-link

vPC domain id                     : 1

Peer status                       : peer adjacency formed ok

vPC keep-alive status             : peer is alive

Configuration consistency status  : success

Per-vlan consistency status       : success

Type-2 consistency status         : success

vPC role                          : primary

Number of vPCs configured         : 5

Peer Gateway                      : Enabled

Peer gateway excluded VLANs       : -

Dual-active excluded VLANs        : -

Graceful Consistency Check        : Enabled

Auto-recovery status              : Enabled (timeout = 240 seconds)

vPC Peer-link status

---------------------------------------------------------------------

id   Port   Status Active vlans

--   ----   ------ --------------------------------------------------

1    Po1    up     1-112,114-120,800,810

vPC status

-----------------------------------------------------------------------

id   Port   Status Consistency Reason                     Active vlans

--   ----   ------ ----------- ------                     ------------

10   Po40   up     success     success                    1-112,114-1

20,800,810

在交换机S2上

S2 (config)# vpc domain 1

S2(config-vpc-domain)# auto-recovery

S2# show vpc

Legend:

(*) - local vPC is down, forwarding via vPC peer-link

vPC domain id                     : 1

Peer status                       : peer adjacency formed ok

vPC keep-alive status             : peer is alive

Configuration consistency status  : success

Per-vlan consistency status       : success

Type-2 consistency status         : success

vPC role                          : secondary

Number of vPCs configured         : 5

Peer Gateway                      : Enabled

Peer gateway excluded VLANs       : -

Dual-active excluded VLANs        : -

Graceful Consistency Check        : Enabled

Auto-recovery status              : Enabled (timeout = 240 seconds)

vPC Peer-link status

---------------------------------------------------------------------

id   Port   Status Active vlans

--   ----   ------ --------------------------------------------------

1    Po1    up     1-112,114-120,800,810

vPC status

----------------------------------------------------------------------

id   Port   Status Consistency Reason                     Active vlans

--   ----   ------ ----------- ------                     ------------

40   Po40   up     success     success                    1-112,114-1

20,800,810

自动恢复实际如何工作？

本节分别讨论“背景信息”部分中提到的每种行为。假设vPC自动恢复已配置并保存到交换机S1和S2的启动配置中。

1. 断电会同时关闭两个Nexus 7000 vPC对等体，并且只能打开一台交换机。

- S1和S2都打开。vPC已正确形成，开启对等链路和对等保持连接。

- S1和S2同时关闭电源。

- 现在，只有一台交换机能够通电。例如，S2是唯一打开电源的交换机。

- S2等待vPC自动恢复超时(默认值为240秒，可以使用auto-recovery reload-delay x 命令进行配置，其中x 为240-3600秒)，以验证vPC对等链路或对等保持连接状态是否已打开。如果其中任何链路处于打开状态（对等链路或对等保持连接状态），则不会触发自动恢复。

- 超时后，如果两个链路仍处于关闭状态（对等链路和对等保持连接状态），则vPC自动恢复将启用，S2将成为主要设备并启动，以便打开其本地vPC。由于没有对等体，因此会绕过一致性检查。

- 现在S1开启。此时，S2保留其主角色，S1承担辅助角色，执行一致性检查，并采取适当的操作。

2. vPC对等链路先关闭，然后主vPC对等链路关闭。

- S1和S2都打开，vPC正确形成，对等链路和对等保持连接打开。

- 由于某种原因，vPC对等链路首先断开。

- 由于vPC对等保持连接仍处于打开状态，因此它会检测双活检测。vPC辅助S2关闭其所有本地vPC。

- 现在vPC主S1关闭或重新加载。

- 此故障还会关闭vPC对等保持连接链路。

- S2等待三个连续的对等保持连接消息丢失。由于某种原因，vPC对等链路打开或S2收到对等保持连接消息，并且自动恢复不启用。

- 但是，如果对等链路保持关闭状态，并且三个连续的对等保持连接消息丢失，则vPC自动恢复将启用。

- S2承担主要角色并启用其绕过一致性检查的本地vPC。

- 当S1完成重新加载时，S2保留其主角色，S1成为次要角色，执行一致性检查，并采取适当的操作。

注意：如两个场景中所述，即使对等链路打开，解除vPC角色并自动恢复的交换机仍保持主要状态。另一对等体承担辅助角色并挂起其自己的vPC，直到完成一致性检查。

例如：

S1断电。S2如预期成为运行主设备。对等链路和对等保持连接以及所有vPC链路都与S1断开连接。S1未通电。由于S1完全隔离，它会因自动恢复而打开vPC（尽管物理链路已断开），并充当主要角色。现在，如果S1和S2之间连接了对等链路或对等保持连接，S1将保持主链路的角色，S2将成为次链路。此配置导致S2暂停其vPC，直到vPC对等链路和对等保持连接都打开并完成一致性检查。由于S2 vPC是辅助PC，并且S1物理链路关闭，因此此场景会导致流量黑洞。

是否应启用vPC自动恢复？

在vPC环境中启用自动恢复是一种好做法。

vPC自动恢复功能可能会创建双主用场景，这种可能性很小。例如，如果首先丢失对等链路，然后丢失对等保持连接，则会出现双活场景。

在这种情况下，每个vPC成员端口继续通告与双活故障之前相同的链路聚合控制协议ID。

vPC拓扑在双活场景下本质上可防止环路。在最坏的情况下，存在重复的帧。尽管如此，作为环路预防机制，每台交换机转发的网桥协议数据单元(BPDU)与vPC双活故障之前的网桥网桥ID相同。

虽然不直观，但是，如果地址解析协议(ARP)表已填充在所有所需主机的两个Cisco Nexus 7000系列对等体上，则继续将流量从接入层转发到汇聚层，而不丢弃当前流量是可能的，也是理想的。

如果ARP表需要获取新的MAC地址，可能会出现问题。出现问题是因为服务器的ARP响应可能散列到一台Cisco Nexus 7000系列设备，而不是另一台设备，这使流量无法正确流动。

但是，假设在上述情况发生故障之前，流量通过正确的PortChannel和等价多路径(ECMP)配置平均分配到Cisco Nexus 7000系列设备。在这种情况下，服务器到服务器和客户端到服务器的流量继续存在警告，即直接连接到Cisco Nexus 7000系列的单连接主机将无法通信（因为缺少对等链路）。 此外，无法在对等体上获取在一个Cisco Nexus 7000系列上获取的新MAC地址，因为这会导致到达对等体Cisco Nexus 7000系列设备的返回流量泛洪。

请参阅Cisco NX-OS软件虚拟端口通道的第19页：基本概念。

验证

当前没有可用于此配置的验证过程。

故障排除

目前没有针对此配置的故障排除信息。

相关信息

- 技术支持和文档 - Cisco Systems