原文地址:http://www.cisco.com/c/en/us/products/collateral/switches/nexus-5000-series-switches/configuration_guide_c07-543563.html
总览
- 允许单个设备用portchannel连接到两个不同的上游设备
- 消除因为生成树协议而产生的阻塞端口
- 提供无环拓扑
- 可以使用所有可用的上行链路
- 当有链路或者设备失效的时候实现快速收敛
- 帮助实现高可用性


vPC概念
- vPC: vPC指的是在不同vPC端设备上与下游设备之间的捆绑PortChannel
- vPC peer Switch(vPC端交换机):vPC端交换机指的是连接到vPC 对端互联链路的交换机。其中一个设备会被选举为主设备,另外一个设备会成为从属设备。
- vPC peer link(vPC对端互联链路):vPC对端互联链路指的用于在vPC端交换机同步状态的链路。vPC对端互联链路负责运载于两个vPC交换机间的控制流量和多播、广播数据流量。在某些特定的链路失效的场景,它也会运载单播流量。vPC对端互联链路起码需要运行在10G以上的端口。
- vPC domain(vPC域):vPC域内包括vPC端设备,vPC对端存活检测链路和所有连接往下游设备的PortChannel。同时所有关于vPC的全局配置都关联到vPC域下(即需要在vPC域模式下对vPC进行全局配置)
- vPC keepalive link(vPC对端存活检测链路):vPC对端存活检测链路用于检测vPC端交换之间的存活状态。vPC对端存活检测链路既可以是管理接口也可以是SVI. 所有数据和同步控制数据都不会从vPC对端存活检测链路上通过。在上面通过的只有一种消息,用来表明交换机上正在运行vPC。
- vPC member port(vPC成员端口):vPC成员端口指的是归属于vPC的交换机端口。

vPC配置
- 开启vPC特性
- 创建vPC域,进入vpc-domain模式
- 配置vPC 对端存活检测链路(vPC peer keepalive link)
- (可选的)配置系统优先级(指的是LACP协商优先级)
- (可选的)配置vPC角色优先级
- 创建vPC对端互联链路(vPC peer link)
- 将PortChannel配置归属于vPC
步骤 | 命令 | 目的 |
1 | configure t | 进入全局配置模式 |
2 | feature vpc 例子: switch(config)feature vpc | 开启vPC特性。vPC特性需要在配置vPC之前开启。 |
3 | vpc domain domain-id 例子: switch(config)# vpc domain 5 switch(config-vpc-domain)# | 创建vPC域,同时分配vPC域ID号 |
4 | peer-keepalive destinationipaddress [hold-timeoutsecs |intervalmsecs {timeoutsecs} | {precedence {prec-value|network |internet |critical |flash-override |flash |immediate priority |routine}} |tos {tos-value|max-reliability |max-throughput |min-delay |min-monetary-cost |normal}} |tos-bytetos-byte-value} |sourceipaddress |vrf {management |default}] 例子: 用管理接口来配置对端存活检测链路: switch(config-vpc-domain)# peer-keepalive destination 172.28.230.85 switch(config-vpc-domain)# 用SVI来配置对端存活检测链路: switch(config-vpc-domain)#peer-keepalive destination 172.28.1.100 source 172.28.1.120 vrf default | 配置用于对端存活检测的远端IPv4地址 除非你先配置了vPC对端存活检测链路,否则你将不能创建vPC对端互联链路 思科Nexus 5000系列不支持创建和配置额外的虚拟路由转发实例。系统启动的时候有两个VRF自动被创建:management实例和default实例。管理接口处于managementVRF实例中,所有的SVI接口都处于defaultVRF实例中。 管理接口和SVI都可以用于对端存活检测链路。使用管理接口和management VRF 实例是默认值。 第二个例子展示了如何将SVI用于对端存活检测链路。当使用default VRF实例的情况下,必须指定用于存活检测通信的源地址。 |
5 | system-prioritypriority 例子: switch(config-vpc-domain)# system-priority 4000 switch(config-vpc-domain)# | (可选的) 指定vPC域中你想配置系统优先级,范围为1~65535.默认值是32667。 当你运行LACP协议时,你需要手动配置vPC的系统优先级来确保vPC端设备可以成为LACP主设备。当你手动配置系统优先级时,需要保证所有的vPC端设备都设置了同样的系统优先级。如果系统优先级不匹配,vPC将不能被激活 |
6 | role prioritypriority 例子: switch(config-vpc-domain)# role priority 2000 switch(config-vpc-domain)# | (可选的) 指定某个vPC端交换机的角色优先级,范围为1~65535.默认值是32667。 设置为更低优先级的交换机将被选举为vPC主交换机。如果vPC对端互联链路失效,vPC端交换机会通过vPC对端存活检测链路检测对端是否仍然存活。如果vPC主交换机存活,vPC主交换机将会保持所有vPC成员端口的激活状态;与此同时,vPC副交换机将会挂起所有vPC成员端口,来消除潜在的环路产生的可能性。 |
7 | interface port-channelchannel-number vpc peer-link 例子: switch(config)# interface port-channel 20 switch(config-if)# vpc peer-link | 选择你打算用于vPC对端互联链路的PortChannel. 进入端口配置模式。 将被选定的PortChannel配置为vPC对端互联链路。 |
8 | interface port-channelchannel-number vpc number 例子: switch(config)#interface e1/1 switch(config-if)channel-group 20 switch(config-if)# interface port-channel 20 switch(config-if)# vpc 100 | 将物理接口添加到PortChannel中,并将PortChannel加入到vPC来连接到下游设备。vPC号的范围是1~4096。vPC号不需要和PortChannel号相匹配,但是必须与vPC端交换机上对应的vPC捆绑相匹配。 即使PortChannel内只有一个成员端口,也需要进行PortChannel配置。当PortChannel只有一个成员端口时候,对应的硬件资源将不会被创建。 |
vPC配置例子

步骤 1. 配置管理接口IP和默认路由
N5k-1(config)# int mgmt 0
N5k-1(config-if)# ip address 172.25.182.51/24
N5k-1(config-if)# vrf context management
N5k-1(config-vrf)# ip route 0.0.0.0/0 172.25.182.1
步骤 2. 开启vPC和LACP特性
N5k-1(config)# feature vpc
N5k-1(config)# feature lacp
步骤 3. 创建一个VLAN
N5k-1(config)#vlan 101
步骤 4. 创建vPC域
N5k-1(config)# vpc domain 1
步骤 5.配置vPC角色优先级(可选的).
N5k-1(config-vpc-domain)# role priority 1000
步骤 6. 配置对端存活检测链路。Cisco Nexus 5000 Series Switch 2 的管理地址是172.25.182.52。
N5k-1(config-vpc-domain)# peer-keepalive destination 172.25.182.52
Note:
--------:: Management VRF will be used as the default VRF ::--------
步骤 7. 配置vPC对端互联链路。注意,作为常规的交换机间的trunk链路,必须配置允许属于vPC的VLAN在对端互联链路上允许通过。
N5k-1(config-vpc-domain)# int ethernet 1/17-18
N5k-1(config-if-range)# channel-group 1 mode active
N5k-1(config-if-range)# int po1
N5k-1(config-if)# vpc peer-link
N5k-1(config-if)# switchport mode trunk
N5k-1(config-if)# switchport trunk allowed vlan 1,101
步骤 8. 配置Cisco Nexus 2000 系列结构扩展器和结构端口。
N5k-1(config)# fex 100
N5k-1(config-fex)# pinning max-links 1
Change in Max-links will cause traffic disruption.
N5k-1(config-fex)# int e1/7-8
N5k-1(config-if-range)# channel-group 100
N5k-1(config-if-range)# int po100
N5k-1(config-if)# switchport mode fex-fabric
N5k-1(config-if)# fex associate 100
步骤 9. 将结构扩展器的端口从属于vPC。当结构扩展器100(fex 100)上线后,创建eth100/1/1对应的PortChannel,并将PortChannel配置归属于vPC。注意PortChannel号和vPC号可以不相等,但是vPC号在两个Cisco Nexus 5000 系列交换机上必须相等。
N5k-1(config-if)# int ethernet 100/1/1
N5k-1(config-if)# channel-group 10
N5k-1(config-if)# int po10
N5k-1(config-if)# vpc 10
N5k-1(config-if)# switchport access vlan 101
The configuration 步骤s for the second switch, Cisco Nexus 5000 Series Switch 2, are:
N5k-2(config)# int mgmt 0
N5k-2(config-if)# ip address 172.25.182.52/24
N5k-2(config-if)# vrf context management
N5k-2(config-vrf)# ip route 0.0.0.0/0 172.25.182.1
N5k-2(config)# feature vpc
N5k-2(config)# feature lacp
N5k-2(config)#vlan 101
N5k-2(config)# vpc domain 1
N5k-2(config-vpc-domain)# peer-keepalive destination 172.25.182.51
Note:
--------:: Management VRF will be used as the default VRF ::--------
N5k-2(config-vpc-domain)# int ethernet 1/17-18
N5k-2(config-if-range)# channel-group 1 mode active
N5k-2(config-if-range)# int po1
N5k-2(config-if)# vpc peer-link
N5k-2(config-if)# switchport mode trunk
N5k-2(config-if)# switchport trunk allowed vlan 1,101
N5k-2(config)# fex 100
N5k-2(config-fex)# pinning max-links 1
Change in Max-links will cause traffic disruption.
N5k-2(config-fex)# int e1/9-10
N5k-2(config-if-range)# channel-group 100
N5k-2(config-if-range)# int po100
N5k-2(config-if)# switchport mode fex-fabric
N5k-2(config-if)# fex associate 100
N5k-2(config-if)# int ethernet 100/1/1
N5k-2(config-if)# channel-group 10
N5k-2(config-if)# int po10
N5k-2(config-if)# vpc 10
N5k-2(config-if)# switchport access vlan 101

N5k-1(config-fex)# int e1/7-8N5k-1(config-if-range)# channel-group 100N5k-1(config-if-range)# int po100N5k-1(config-if)# vpc 100N5k-1(config-if)# switchport mode fex-fabricN5k-1(config-if)# fex associate 100
验证vPC配置
命令 | 目的 |
show feature | 检查vPC特性是否开启 |
show vpc brief | 显示vPCs的简要信息 |
show vpc consistency-parameters | 显示需要在所有vPC接口上需要保持一致参数的一致性状态 |
show running-config vpc | 显示关于vPC的运行配置信息 |
show port channel capacity | 输出配置的PortChannel数量和设备剩余可用的PortChannel数量 |
show vpc statistics | 显示关于vPCs的统计数据 |
show vpc peer-keepalive | 显示关于对端存活检测消息的信息 |
show vpc role | 显示端设备状态,本地设备角色,vPC系统MAC地址和系统优先级,以及本地vPC设备的MAC地址和优先级。 |
vPC配置相容性检查
必须相同的配置参数
- PortChannel mode(on, off or active)
- 每个PortChannel的链路速度
- 每个PortChannel的双工模式
- 每个PortChannel的trunk模式(同时包含native vlan的配置)
- 生成树协议模式
- 生成树协议全局设置(包括桥认证设置,端口类型设置和防环设置)
- 生成树协议接口设置(包括端口类型设置,放环设置和根防护设置)
- QoS配置和参数(包括流量优先级控制,严格的优先级队列控制和差额加权轮询算法,以及最大传输单元)
应该相同的配置
- MAC地址老化定时器
- 静态MAC条目
- 所有ACL配置和参数
- 生成树协议端口配置(包括BPDU filter, BPDU Guard, 开销值,链路类型,优先级 和 RPVST+的每 VLAN配置)
- IGMP窥探