一文精通虚拟端口通道vPC,精品文章,爱了

小编:圣子 更新时间:2022-04-29

今天给大家带来的是虚拟端口通道相关的技术:

简介

传统数据中心使用生成树来防止第 2 层环路,这已经使用了多年,但确实有局限性,为了防止环路,生成树会阻止一些链路并保持其他链路处于活动状态,如下所示,阻塞链路可以在活动链路出现故障时使用,如果链路确实发生故障,生成树会运行 SPF 算法来决定解除阻塞的链路,该链路然后在它处于活动状态之前通过几个状态转换。

一文精通虚拟端口通道vPC,精品文章,爱了

在经典的生成树中,阻塞的链路是对带宽的浪费,现代生成树对此进行了改进,链路 A 可能对 VLAN A 阻塞,但它可能对 VLAN B 处于活动状态,这是生成树的负载平衡。不幸的是,这仍然存在问题。例如,如果VLAN-A上的流量很大,而几乎没有使用VLAN-B怎么办?在这种情况下,流量不是均衡负载均衡的。

生成树也会导致次优路径,看看下面的图表。如果流量需要在两个底部交换机之间流动,它必须首先通过顶部交换机。

一文精通虚拟端口通道vPC,精品文章,爱了

改善这种情况的一种方法是 EtherChannels,这允许从设备到交换机或两个交换机之间的许多活动上行链路,这仍然有局限性,因为 EtherChannel(或 LAG)仅位于两个设备之间,单个交换机的故障仍会导致链路束中断。

虚拟端口通道或 vPC 是EtherChannel的扩展 ,它们是解决生成树和 EtherChannel 局限性的一种方法。

如下所示,他们通过使设备能够同时为两个 Nexus 交换机创建一个 EtherChannel 来实现这一点 ,从连接的设备的角度来看,它仍然连接到单个交换机。

vPC 中的所有链路都主动转发流量,vPC 是多机箱以太网技术(或 MCEC),但不是 堆栈,Catalyst 平台上的 VSS(虚拟交换系统)是另一种多机箱技术。

一文精通虚拟端口通道vPC,精品文章,爱了

vPC 还提供高可用性,由于两组链路都处于活动状态,因此 vPC 的收敛时间很快,如果一个链路或一组链路出现故障,则其他链路已经在转发流量,这比生成树快得多。它需要找出一条新路径,并将一个或多个链路转换为转发状态。

任何支持第 2 层端口通道的设备都可以通过 vPC 进行连接,设备不需要知道 vPC。设备包括物理服务器、防火墙、其他交换机和负载平衡器。

部署 ASA 集群的一种方法是通过 vPC 将其连接到一对 Nexus 交换机,如下图所示,Fabric Extender (FEX) 也可以通过 vPC 连接到父交换机,在此拓扑的一个变体中,网络设备可以通过 vPC 连接到两个 FEX。

一文精通虚拟端口通道vPC,精品文章,爱了

vPCCisco 的专有技术,其他供应商也有类似的技术,例如 Force 10 的 VLT (现在是戴尔),采用不同方法的其他技术包括 TRILL、FabricPath和 VxLAN。

vPC 部署

拓扑

一文精通虚拟端口通道vPC,精品文章,爱了

vPC 拓扑由两个 Nexus 交换机和一个或多个连接的设备组成,这两个交换机是 对等的,对等交换机通过两条链路连接在一起,它们是对等链路和保持活动链路,这些链路构成了 vPC 对等交换机的背板,此背板允许连接的设备将交换机对视为单个设备,连接的设备可以是任何支持端口通道或 LAG 的设备,这包括服务器、交换机、防火墙等。

vPC 拓扑中只能有两个交换机,这确实会导致一些可扩展性问题,增强数据中心网络的一些方法是部署 结构,在边缘具有 vPC 连接,一些交换矩阵示例是 Cisco 的 FabricPath或行业标准 VxLAN。

虽然 vPC 消除了生成树的影响,但生成树本身并没有完全消除,网络 仍应使用 Spanning-Tree。

为什么?

并非所有网络设备和设计都将使用 vPC,接入层可以使用 vPC 来连接主机,但是接入层可以使用传统的连接到汇聚层,这需要生成树进行循环控制。

那么,如果非 vPC 交换机连接到 vPC 对会发生什么情况?好消息是 vPC 对等交换机仍然支持生成树。不过,它们的行为与传统模型略有不同,通过 vPC 连接到 Nexus 对的交换机会将该对视为单个交换机,这意味着该对将作为到生成树域其余部分的单个交换机出现,这是可能的,因为两个交换机都会同步 网桥 ID,并且网桥优先级匹配。

但是等等......这对如何看起来是连接设备的单个开关?连接的设备不会看到来自两台交换机的生成树 BPDU 吗?

但是是:,只有一台交换机发送 BPDU。

vPC 有两个角色; 小学中学

基于优先级 值的选举 决定了每个交换机将承担的角色,两个交换机都在数据平面中转发流量,但是,有一些 控制平面 功能只有主交换机才能处理,其中之一是发送 BPDU 帧,当您深入了解 vPC 时,您会发现只有主交换机才能处理的其他功能。

一文精通虚拟端口通道vPC,精品文章,爱了

要开始使用 vPC,需要启用两个功能: vpclacp,vPC 是 EtherChannel 的扩展,LACP 仍用于与连接的设备交换控制消息。

Switch1(config)# feature vpc Switch1(config)# feature lacp

保持活动链路

保持活动链路将心跳从一个对等方发送到另一个对等方,对等方将使用这些心跳来确定另一台交换机是否已启动。

此链路是第 3 层链路,位于单独的 VRF 中,以使其与其他流量隔离,这很重要,因为某些故障可能导致任一交换机认为其对等方已关闭,而实际上并非如此。这是一种脑裂或 双主动 场景,其中两个交换机都认为它们是主要的,keepalive 链路上的心跳可以防止出现此问题,即使出现故障,双方仍然可以看到对方。

有两种可能的方式来部署此链路,第一种选择是点对点路由连接在两个交换机之间,二是使用单独的三层网络,这可能是分发、核心或管理网络。

由于这条链路只承载很小的心跳包,所以不需要很大的带宽,它也不需要端口通道中的一组链路,这意味着 keepalive 可以是自定义 VRF 上普通端口之间的单个链路,或者,它可以是mgmt0 接口之间的单个点对点链路 。

以下示例显示如何使用专用端口配置保持活动链路,这是对任何带有一对监控器的基于机箱的交换机的建议。

称为vpc-keepalive 的专用 VRF 将流量保持在带外,一个专用的第 3 层(路由)端口被添加到 VRF 并被赋予一个 IP 地址。

[rtbs name="keepalive-link"]

下一个示例是另一种方法,它使用 mgmt0 接口作为 keepalive 链路,这是任何固定交换机(不是机箱)的推荐方法,这可以是点对点链路,通过 OOB 管理网络运行。

管理端口已经路由,并且已经在它自己的专用 VRF 中。

[rtbs name="keepalive-mgmt"]

要验证保持活动链路,请从保持活动 VRF ping 对等交换机。

验证保持活动

Switch1# ping 1.1.1.2 vrf management PING 1.1.1.2 (1.1.1.2): 56 data bytes 36 bytes from 1.1.1.1: Destination Host Unreachable Request 0 timed out 64 bytes from 1.1.1.2: icmp_seq=1 ttl=254 time=1.098 ms 64 bytes from 1.1.1.2: icmp_seq=2 ttl=254 time=0.598 ms 64 bytes from 1.1.1.2: icmp_seq=3 ttl=254 time=0.536 ms 64 bytes from 1.1.1.2: icmp_seq=4 ttl=254 time=0.503 ms --- 1.1.1.2 ping statistics --- 5 packets transmitted, 4 packets received, 20.00% packet loss round-trip min/avg/max = 0.503/0.683/1.098 ms

vPC域

vPC 域是 vPC 组件的逻辑集合,其中包括两台交换机、它们之间的链路以及 vPC 成员端口,每个交换机只能有一个域,每对启用 vPC 的交换机应使用不同的域 ID。

域是大多数全局 vPC 配置发生的地方,这包括分配保持活动链路和角色优先级,角色优先级最低的交换机将成为主交换机。

与 vPC 相关的所有配置必须在两台交换机上匹配,默认情况下,不会在交换机之间复制配置,但可以。

下面的示例使用 vPC 域 ID 10 并使用之前的 keepalive 链路。

[rtbs name="vpc-domain"]

使用·show vpc brief·验证域 ID 和 keepalive 链路 ,在下面的示例中,vPC 处于故障 状态,因为尚未配置对等链路。

确认

Switch1# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer link not configured vPC keep-alive status : peer is alive Configuration consistency status : failed Per-vlan consistency status : failed Configuration inconsistency reason: vPC peer-link does not exist Type-2 consistency status : failed Type-2 inconsistency reason : vPC peer-link does not exist vPC role : none established Number of vPCs configured : 0 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Disabled (due to peer configuration) Auto-recovery status : Disabled Delay-restore status : Timer is off.(timeout = 30s) Delay-restore SVI status : Timer is off.(timeout = 10s) Operational Layer3 Peer-router : Disabled

对等链路

对等链路在对等交换机之间交换状态信息并承载控制流量,peer-link 也称为 Multichassis EtherChannel Trunk,正是这个链接在两个交换机之间形成了一个虚拟控制平面,使它们看起来像一个。

对等交换机使用 peer-link 共享 MAC 地址,如果一台交换机将 MAC 添加到其转发表中,它会将 MAC 发送给其对等方,后者将其添加到自己的转发表中,如果出现交换机故障,这有助于快速收敛。例如,如果 Switch-A 出现故障,Switch-B 可以继续转发流量而不会中断,它已经学习了所有可用的 MAC 地址。

peer-link 还负责承载广播和组播流量,如果网络使用组播,peer-link 需要足够大以承载它。除非出现故障,否则单播流量不应穿过对等链路。在这种情况下,对端交换机可能需要下发流量。

peer-link 在一个端口通道中应该至少有两个 10G 接口。根据流量,链路可能需要更大,peer-link 需要承载所有出现在 vPC 成员端口上的 VLAN。如果不是,则这些端口上将出现 一致性 错误。

在配置过程中,keep-alive 链路应该在 peer-link 配置之前启动并运行。

在下面的示例中,peer-link 是一个双接口端口通道。两台交换机上的配置相同。

对等链路

Switch1(config)# interface eth 1/1-2 Switch1(config-if-range)# channel-group 10 mode active Switch1(config-if-range)# no shut Switch1(config-if-range)# interface port-channel 10 Switch1(config-if)# no shut Switch1(config-if)# switchport Switch1(config-if)# switchport mode trunk Switch1(config-if)# vpc peer-link 2017 Jan 4 01:02:03 Switch1 %$ VDC-1 %$ stp: Please note that spanning tree port type is changed to "network" port type on vPC peer-link. This will enable spanning tree Bridge Assurance on vPC peer-link provided the STP Bridge Assurance (which is enabled by default) is not disabled.

对等状态现在显示对等邻接形成 ok。

验证对等链路

Switch1# sh vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 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 : 0 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Disabled Delay-restore status : Timer is off.(timeout = 30s) Delay-restore SVI status : Timer is off.(timeout = 10s) Operational Layer3 Peer-router : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ ------------------------------------------------- 1 Po10 up 1

端口

成员端口

成员端口是主机或其他设备连接到的 vPC 端口,连接的设备必须配置自己的端口通道才能使其生效。

两台交换机上的配置相同,允许不同的端口号,只要它们在速度、双工等方面匹配,vPC 编号不必与端口通道编号匹配,但如果匹配,管理员会更容易。

vPC 成员端口

!将接口添加到常规端口通道中 Switch1(config)# interface eth 1/20 Switch1(config-if)# channel-group 15 mode active !将端口通道配置为 vPC Switch1(config-if)# interface port-channel 15 Switch1(config-if)# switchport Switch1(config-if)# vpc 15

下面的输出显示了新的成员端口。它目前被标记为关闭,因为还没有任何连接。

Switch1# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 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 : 1 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Disabled Delay-restore status : Timer is off.(timeout = 30s) Delay-restore SVI status : Timer is off.(timeout = 10s) Operational Layer3 Peer-router : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ ------------------------------------------------- 1 Po10 up 1 vPC status ---------------------------------------------------------------------------- Id Port Status Consistency Reason Active vlans -- ------------ ------ ----------- ------ --------------- 20 Po15 down* success success

孤立端口

孤立端口是位于启用 vPC 的交换机上的非 vPC 端口,这是仅连接到一个交换机而不是两个交换机的任何设备,这方面的一个示例是服务器的管理端口。

孤立端口可以承载任何 VLAN,即使它存在于 vPC 成员端口或对等链路上。

Switch1# show vpc orphan-ports Note: --------::Going through port database. Please be patient.::-------- VLAN Orphan Ports ------- ------------------------- 1 Eth1/11

兼容条件

有几个条件必须在 vPC 中的所有端口上匹配:

端口模式

  • 端口速度(手动或协商)
  • MTU
  • 双工
  • 以太网层(交换机端口 或 无交换机端口)
  • 风暴控制
  • 流量控制
  • 本地 VLAN
  • 允许的 VLAN 列表

vPC 中不允许使用 SPAN 和 ERSPAN 端口。

对等交换机使用对等链路来检查兼容性和错误配置,1 类 错误配置非常严重,它们会导致一个或两个对等体上的端口通道暂停,2 类 错误配置稍微宽容一些,如果存在类型 2 错误,管理员将收到一条系统日志消息。

如果存在 VLAN 不匹配,则仅挂起不匹配的 VLAN。

使用show vpc consistency-parameters global命令查看全局一致性参数。

Switch1# show vpc consistency-parameters global Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- QoS (Cos) 2 ([0-7], [], [], [], ([0-7], [], [], [], [], []) [], []) Network QoS (MTU) 2 (1500, 1500, 1500, (1500, 1500, 1500, 1500, 1500, 1500) 1500, 1500, 1500) Network Qos (Pause: 2 (F, F, F, F, F, F) (F, F, F, F, F, F) T->Enabled, F->Disabled) Input Queuing (Bandwidth) 2 (0, 0, 0, 0, 0, 0) (0, 0, 0, 0, 0, 0) Input Queuing (Absolute 2 (F, F, F, F, F, F) (F, F, F, F, F, F) Priority: T->Enabled, F->Disabled) Output Queuing (Bandwidth 2 (0, 0, 0, 0, 0, 0) (0, 0, 0, 0, 0, 0) Remaining) Output Queuing (Absolute 2 (T, F, F, F, F, F) (T, F, F, F, F, F) Priority: T->Enabled, F->Disabled) Vlan to Vn-segment Map 1 No Relevant Maps No Relevant Maps STP Mode 1 Rapid-PVST Rapid-PVST STP Disabled 1 None None STP MST Region Name 1 "" "" STP MST Region Revision 1 0 0 STP MST Region Instance to 1 VLAN Mapping STP Loopguard 1 Disabled Disabled STP Bridge Assurance 1 Enabled Enabled STP Port Type, Edge 1 Normal, Disabled, Normal, Disabled, BPDUFilter, Edge BPDUGuard Disabled Disabled STP MST Simulate PVST 1 Enabled Enabled Nve Admin State, Src Admin 1 None None State, Secondary IP, Host Reach Mode Nve Vni Configuration 1 None None Allowed VLANs - 1 1 Local suspended VLANs - - -

使用show vpc consistency-parameters interface interface命令查看特定接口上的一致性问题 。

Switch1# show vpc consistency-parameters interface port-channel 15 Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- STP Port Type 1 Default Default STP Port Guard 1 Default Default STP MST Simulate PVST 1 Default Default vPC card type 1 N9K TOR N9K TOR Allowed VLANs - 1 1 Local suspended VLANs - - -