vPC 是一种虚拟化技术,用于使两台 Cisco Nexus 9000 系列配对设备对接入层设备或终端呈现为一个唯一性第 2 层逻辑节点。
vPC 属于多机箱 EtherChannel (MCEC) 技术系列。利用虚拟端口通道 (vPC),可以使以物理方式连接到两台不同 Cisco Nexus 9000 系列设备的链路对第三台设备呈现为单个端口通道。
第三台设备可以是交换机、服务器或支持链路汇聚技术的任何其他网络设备。
一、vPC 核心概念解析
在配置 vPC 前,必须先理清其核心组件和术语,这是理解配置逻辑的基础:
术语 | 含义 | 关键作用 |
---|---|---|
vPC(Virtual Port Channel) | 跨两台交换机的虚拟端口通道 | 实现下游设备与两台交换机建立聚合链路,提升冗余和带宽 |
vPC Peer | 通过 vPC Peer-link 连接的两台相邻交换机 | 构成 vPC 的核心设备对,共同提供链路聚合服务 |
vPC Peer-link | 连接两台 vPC Peer 的物理链路(需≥10G) | 同步两台交换机的数据(组播、广播、单播),维持状态一致性 |
vPC Peer Keepalive Link | 独立的三层检测通道(UDP 3200 端口) | 验证两台 Peer 的存活状态,检测双活或单设备故障(默认 1 秒检测,5 秒超时) |
vPC Domain | 通过 domain ID 区分的 vPC 逻辑域 | 确保同一域内的交换机协同工作,避免跨域干扰 |
vPC Member Port | 加入 vPC Peer-link 的物理端口 | 构成 Peer-link 的物理载体,需配置为 PortChannel |
Cisco Fabric Service (CFS) | 内置状态同步协议 | 自动同步 vPC 配置和状态,无需额外 |
vPC 的技术优势
- 消除生成树协议 (STP) 阻塞端口.
- 使用所有可用的上行链路带宽.
- 允许双宿主服务器在主用/主用模式下运行.
- 在链路或设备发生故障时提供快速收敛.
- 为服务器vPC提供双活动/活动默认网关。还利用端口通道技术提供的本地水平分割/环路管理:数据包进入port-channel时不能立即退出同一个port-channel。
二、拓扑与角色说明(以 Cisco Nexus 9000V 为例)
- 核心设备:两台 Nexus 9000 交换机(IDC-HX-N9K-01、IDC-HX-N9K-02),通过 vPC 技术构建双活冗余,承载下游接入交换机流量。
互联逻辑:
- Peer Keepalive 链路:Ethernet1/1 互联,基于 VRF
pkal
实现三层检测(IP:172.23.145.217/218)。 - Peer-link:Ethernet1/2-3 聚合为 Port-channel31,作为 vPC 状态同步通道。
- 业务链路:Ethernet1/4-5 聚合为 Port-channel45,下联接入交换机,承载 VLAN 4、100、254 流量。
- Peer Keepalive 链路:Ethernet1/1 互联,基于 VRF
下游设备:接入交换机通过 Port-channel45 上联双 Nexus 9000,终端(VPC)经接入交换机访问网络。
步骤 1:基础环境准备
- 功能启用:开启
lacp
(链路聚合)、vpc
(虚拟端口通道)、hsrp
/vrrp
(网关冗余)等关键特性。 - VRF 隔离:创建
vrf context pkal
,隔离 vPC Peer Keepalive 流量,避免与业务网络干扰。 - 时间与安全:配置时区(北京 +8)、管理员账号(
admin
)、SNMP 与 RMON 基础监控。
步骤 2:VPC 域核心配置(Domain 10)
VPC Domain ID 是两台 Peer 交换机的 “身份标识”,必须保持一致,否则无法建立 vPC 关系。
♾️ text 代码:#在两台交换机开启特性
feature vpc # 启用VPC功能(虚拟端口通道,跨交换机链路聚合)
feature lacp # 启用LACP协议(链路聚合控制协议,动态链路聚合)
feature lldp # 启用LLDP协议(链路层发现协议,设备邻居自动发现)
feature interface-vlan # 启用VLAN接口功能(允许创建SVI接口)
# 在IDC-HX-N9K-01上配置
IDC-HX-N9K-01(config)# vrf context pkal # 创建pkal VRF(用于vPC心跳检测,隔离控制流量)
IDC-HX-N9K-01(config)# vpc domain 10 # 配置domain ID为10
IDC-HX-N9K-01(config-vpc-domain)# role priority 1 # IDC-HX-N9K-01 为优先角色(数值越小优先级越高)
IDC-HX-N9K-01(config-vpc-domain)# peer-keepalive destination 172.23.145.217 source 172.23.145.218 vrf pkal # 配置心跳检测
IDC-HX-N9K-01(config-vpc-domain)# peer-gateway # 启用 Peer Gateway,优化 HSRP 流量转发(避免跨设备绕行)
# 在IDC-HX-N9K-02上配置(需与Primary的domain ID一致)
IDC-HX-N9K-02(config)# vrf context pkal # 创建pkal VRF(用于vPC心跳检测,隔离控制流量)
IDC-HX-N9K-02(config)# vpc domain 10 # 配置domain ID为10
IDC-HX-N9K-02(config-vpc-domain)# role priority 5 # IDC-HX-N9K-02 为备选角色(数值越小优先级越高)
IDC-HX-N9K-02(config-vpc-domain)# peer-keepalive destination 172.23.145.218 source 172.23.145.217 vrf pkal # 配置心跳检测
IDC-HX-N9K-02(config-vpc-domain)# peer-gateway # 启用 Peer Gateway,优化 HSRP 流量转发(避免跨设备绕行)
作用:通过 domain 10 绑定两台交换机,role priority 确定主备角色;peer-keepalive 实现故障检测;peer-gateway 让双机可直接转发对方网关 MAC 流量,提升效率。
步骤 3:规划 Peer Keepalive 链路部署方式
(1)Peer Keepalive 接口是独立于 Peer-link 的检测链路,用于避免 “双活”(两台 Peer 均认为自己是主设备)问题。
♾️ text 代码:# 在IDC-HX-N9K-01上配置
IDC-HX-N9K-01(config)# interface Ethernet1/1
IDC-HX-N9K-01(config-if)# description vPC-Peer-keep-alive-link #描述此接口为检测链路
IDC-HX-N9K-01(config-if)# no switchport # 配置为三层接口
IDC-HX-N9K-01(config-if)# vrf member pkal # 关联隔离 VRF
IDC-HX-N9K-01(config-if)# ip address 172.23.145.218/24
# 在IDC-HX-N9K-02上配置
IDC-HX-N9K-02(config)# interface Ethernet1/1
IDC-HX-N9K-02(config-if)# description vPC-Peer-keep-alive-link #描述此接口为检测链路
IDC-HX-N9K-02(config-if)# no switchport # 配置为三层接口
IDC-HX-N9K-02(config-if)# vrf member pkal # 关联隔离 VRF
IDC-HX-N9K-02(config-if)# ip address 172.23.145.217/24
- 逻辑:独立三层通道,仅用于检测双机存活状态(UDP 3200 端口),不承载业务流量。
(2)Peer-link 接口(Port-channel31)
♾️ ios 代码:# 在IDC-HX-N9K-01上配置
IDC-HX-N9K-01(config)# interface port-channel31
IDC-HX-N9K-01(config)# switchport mode trunk # 将该端口通道配置为Trunk模式
IDC-HX-N9K-01(config)# spanning-tree port type network # 标记为 STP 网络端口(加快收敛)
IDC-HX-N9K-01(config)# vpc peer-link # 声明为 vPC 状态同步通道
# 在IDC-HX-N9K-02上配置
IDC-HX-N9K-02(config)# interface port-channel31
IDC-HX-N9K-02(config)# switchport mode trunk # 将该端口通道配置为Trunk模式
IDC-HX-N9K-02(config)# spanning-tree port type network # 标记为 STP 网络端口(加快收敛)
IDC-HX-N9K-02(config)# vpc peer-link # 声明为 vPC 状态同步通道
- 作用:同步两台交换机的 MAC 表、ARP 表、STP 状态等,确保双机转发一致性。需配置为 Trunk,且避免承载 Peer Keepalive VLAN(本例未涉及,已通过 VRF 隔离)。
(3)业务接口(Port-channel45)
♾️ ios 代码:# 在IDC-HX-N9K-01上配置
IDC-HX-N9K-01(config)# interface port-channel45
IDC-HX-N9K-01(config)# switchport mode trunk
IDC-HX-N9K-01(config)# switchport trunk allowed vlan 4,100,254 # 允许业务 VLAN
IDC-HX-N9K-01(config)# vpc 45 # 关联 vPC 实例 45
# 在IDC-HX-N9K-02上配置
IDC-HX-N9K-02(config)# interface port-channel45
IDC-HX-N9K-02(config)# switchport mode trunk
IDC-HX-N9K-02(config)# switchport trunk allowed vlan 4,100,254 # 允许业务 VLAN
IDC-HX-N9K-02(config)# vpc 45 # 关联 vPC 实例 45
# 在下联接入交换机配置
interface Port-channel45
switchport trunk allowed vlan 4,100,254
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface GigabitEthernet0/0
description Link_TO_IDC-HX-N9K-01
switchport trunk allowed vlan 4,100,254
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
channel-group 45 mode active
!
interface GigabitEthernet0/1
description Link_TO_IDC-HX-N9K-01
switchport trunk allowed vlan 4,100,254
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
channel-group 45 mode active
!
interface GigabitEthernet0/2
description Link_TO_IDC-HX-N9K-02
switchport trunk allowed vlan 4,100,254
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
channel-group 45 mode active
!
interface GigabitEthernet0/3
description Link_TO_IDC-HX-N9K-02
switchport trunk allowed vlan 4,100,254
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
channel-group 45 mode active
- 逻辑:下游接入交换机通过该 Port-channel 上联双 Nexus 9000,实现跨设备链路聚合;
vpc 45
标记该通道为 vPC 成员,让双机协同转发流量。