今天给大家带来的是虚拟端口通道相关的技术:
简介
传统数据中心使用生成树来防止第 2 层环路,这已经使用了多年,但确实有局限性,为了防止环路,生成树会阻止一些链路并保持其他链路处于活动状态,如下所示,阻塞链路可以在活动链路出现故障时使用,如果链路确实发生故障,生成树会运行 SPF 算法来决定解除阻塞的链路,该链路然后在它处于活动状态之前通过几个状态转换。
在经典的生成树中,阻塞的链路是对带宽的浪费,现代生成树对此进行了改进,链路 A 可能对 VLAN A 阻塞,但它可能对 VLAN B 处于活动状态,这是生成树的负载平衡。不幸的是,这仍然存在问题。例如,如果VLAN-A上的流量很大,而几乎没有使用VLAN-B怎么办?在这种情况下,流量不是均衡负载均衡的。
生成树也会导致次优路径,看看下面的图表。如果流量需要在两个底部交换机之间流动,它必须首先通过顶部交换机。
改善这种情况的一种方法是 EtherChannels,这允许从设备到交换机或两个交换机之间的许多活动上行链路,这仍然有局限性,因为 EtherChannel(或 LAG)仅位于两个设备之间,单个交换机的故障仍会导致链路束中断。
虚拟端口通道或 vPC 是EtherChannel的扩展 ,它们是解决生成树和 EtherChannel 局限性的一种方法。
如下所示,他们通过使设备能够同时为两个 Nexus 交换机创建一个 EtherChannel 来实现这一点 ,从连接的设备的角度来看,它仍然连接到单个交换机。
vPC 中的所有链路都主动转发流量,vPC 是多机箱以太网技术(或 MCEC),但不是 堆栈,Catalyst 平台上的 VSS(虚拟交换系统)是另一种多机箱技术。
vPC 还提供高可用性,由于两组链路都处于活动状态,因此 vPC 的收敛时间很快,如果一个链路或一组链路出现故障,则其他链路已经在转发流量,这比生成树快得多。它需要找出一条新路径,并将一个或多个链路转换为转发状态。
任何支持第 2 层端口通道的设备都可以通过 vPC 进行连接,设备不需要知道 vPC。设备包括物理服务器、防火墙、其他交换机和负载平衡器。
部署 ASA 集群的一种方法是通过 vPC 将其连接到一对 Nexus 交换机,如下图所示,Fabric Extender (FEX) 也可以通过 vPC 连接到父交换机,在此拓扑的一个变体中,网络设备可以通过 vPC 连接到两个 FEX。
vPC 是 Cisco 的专有技术,其他供应商也有类似的技术,例如 Force 10 的 VLT (现在是戴尔),采用不同方法的其他技术包括 TRILL、FabricPath和 VxLAN。
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 和 lacp,vPC 是 EtherChannel 的扩展,LACP 仍用于与连接的设备交换控制消息。
代码语言:txt复制Switch1(config)# feature vpc
Switch1(config)# feature lacp
保持活动链路
保持活动链路将心跳从一个对等方发送到另一个对等方,对等方将使用这些心跳来确定另一台交换机是否已启动。
此链路是第 3 层链路,位于单独的 VRF 中,以使其与其他流量隔离,这很重要,因为某些故障可能导致任一交换机认为其对等方已关闭,而实际上并非如此。这是一种脑裂或 双主动 场景,其中两个交换机都认为它们是主要的,keepalive 链路上的心跳可以防止出现此问题,即使出现故障,双方仍然可以看到对方。
有两种可能的方式来部署此链路,第一种选择是点对点路由连接在两个交换机之间,二是使用单独的三层网络,这可能是分发、核心或管理网络。
由于这条链路只承载很小的心跳包,所以不需要很大的带宽,它也不需要端口通道中的一组链路,这意味着 keepalive 可以是自定义 VRF 上普通端口之间的单个链路,或者,它可以是mgmt0 接口之间的单个点对点链路 。
以下示例显示如何使用专用端口配置保持活动链路,这是对任何带有一对监控器的基于机箱的交换机的建议。
称为vpc-keepalive 的专用 VRF 将流量保持在带外,一个专用的第 3 层(路由)端口被添加到 VRF 并被赋予一个 IP 地址。
代码语言:txt复制[rtbs name="keepalive-link"]
下一个示例是另一种方法,它使用 mgmt0 接口作为 keepalive 链路,这是任何固定交换机(不是机箱)的推荐方法,这可以是点对点链路,通过 OOB 管理网络运行。
管理端口已经路由,并且已经在它自己的专用 VRF 中。
代码语言:txt复制[rtbs name="keepalive-mgmt"]
要验证保持活动链路,请从保持活动 VRF ping 对等交换机。
验证保持活动
代码语言:txt复制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 链路。
代码语言:txt复制[rtbs name="vpc-domain"]
使用·show vpc brief·验证域 ID 和 keepalive 链路 ,在下面的示例中,vPC 处于故障 状态,因为尚未配置对等链路。
确认
代码语言:txt复制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 是一个双接口端口通道。两台交换机上的配置相同。
对等链路
代码语言:txt复制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。
验证对等链路
代码语言:txt复制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 成员端口
代码语言:txt复制!将接口添加到常规端口通道中
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
下面的输出显示了新的成员端口。它目前被标记为关闭,因为还没有任何连接。
代码语言:txt复制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 成员端口或对等链路上。
代码语言:txt复制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 - - -