C9K Stackwise Virtual(一)

你说的曾经没有我的故事 提交于 2020-04-13 19:41:01

【今日推荐】:为什么一到面试就懵逼!>>>

一、SV技术基本说明

思科Catalyst9K平台的Stackwise Virtual技术是将两个物理的交换机虚拟成一个逻辑的实体(从网络控制层面和管理的角度来看),这两个交换机合二为一之后,将共享相同的配置和转发状态。这项技术对于网络设计在如下方面都得到了强化:

  • 高可用性

  • 扩展性

  • 设备管理

  • 设备维护

由于两个设备都虚拟成了一台逻辑的设备,所以生成树(STP)将该逻辑的设备视为一个桥节点,但是和其他的SW设备协同工作,也需要注意STP的使用。另外,该技术也整合了包括SSO(Stateful Switch Over)、NSF(Non-Stop Forwarding)、MEC(Multi-chassis EtherChannel)等技术,以提升了可靠性。

 从如上这个图我们可以看到,该技术消除了HSRP/VRRP等FHRP协议的使用,避免FHRP协议的一些问题。并通过LACP,PAGP等完成了的Ethernet Channel的建立,实现EMC。为了使用该技术,需要特定的硬件和软件来支持。且不同的设备,要求可能也会不一样。

 

二、SV技术的架构

该技术将两台配置为同一给SV domain的物理设备虚拟成为一台逻辑的设备,其中一台设备被指定为Active角色,另外一台则作为Standby角色,所有的控制平面的工作都是Active交换机来处理,这包括了我们熟知的SNMP、SSH、Telnet等管理方式;L2的协议如BPDU、PDU、LACP等;L3的路由协议;软件数据路径等。

对于数据平面和流量转发,SV域中的两台交换机都会参与,每台交换机都可以将流量从自己的物理接口转发到上行接口,不是所有的流量都需要Active交换机来转发,除非某一交换机查询到目的是在SV域中另一台交换机,那么会将该流量通过SVL(Stackwise Virtual Link)转发给那台交换机进行出口方向的处理。

1、SV MAC地址

  • 当交换机启动,作为Active交换机时,它将给所有的L3接口分配MAC地址,默认情况下,MAC地址从位于Cisco Catalyst 9000交换机本身的EEPROM存储设备派生。

  • 当选为Active角色的交换机将为SV domain提供系统MAC地址。

  • 当Standby交换机上线之后,它的MAC地址也将由Active交换机的MAC EEPROM派生。

  • 即使SV交换机的角色发生了切换,MAC地址也会保持不变。当该情况发生时,show switch查看也能看到MAC persistency wait time(MAC持久性等待时间)为“indefinite”(未定义)。此行为特别有助于减少对流量的影响,因为在意外切换期间,SV domain不必向邻居通告新的MAC地址。

SV-1#show switch

Switch/Stack Mac Address : 2eaf.be84.0a12 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Switch#         Role         Mac Address     Priority     Version     State
-------------------------------------------------------------------------------------
 1         Standby        2eaf.be84.0a12     15                Ready
*2         Active         00b0.e1f2.6820     1                 Ready

我们可以通过命令“stack-mac persistent timer #”来修改该行为的时间,在该配置的时间内,会使用当前的Active交换机来更新系统的MAC地址。

  •  如果整个SV domain的设备被重启并再次上线之后,并且Peer交换机或其他的交换机作为了SV Active交换机,则Virtual MAC地址将由当前的Active交换机重新分配,所以虚拟MAC地址将和系统重启之前不同。
  • 如果SV domain中的其中一台交换机由于硬件问题而发生故障,并且恰好是SV MAC地址的所有者,那么系统将继续使用相同的MAC地址运行,除非SV domain重新加载或用户明确更新Stack的MAC地址。要在SV domain上更新MAC地址,可以执行命令“ stack-mac update force”。 这将使用当前Active的交换机更新Stack MAC地址。

2、Stackwise Virtual Link(SVL)

SVL是为了让两台C9K交换机形成SV的关键,相关信号或控制信息需要通过SVL来交互,为了促进信息的交互,在两台交换机之间使用的专门的链路来传输数据和控制流量,这个链路就叫做SVL。

该链路通过EthernetChannel形成,可以有1-8个物理接口组成,该链路承载正常的数据流量和SV控制流量

为了确保在SVL上控制流量获得最高优先级,在所有Link的控制帧上都设置了特殊位。这有助于确保这些帧始终在出口硬件队列上获得优先服务。从数据平面的角度来看,SVL用于将内部交换机数据路径扩展到相邻交换机。使用配置的EtherChannel load-balancing算法,可在SVL负载平衡发送的数据流量。

通过SVL发送的所有帧都用SV头部封装,该头部由出接口ASIC添加到数据帧,并在SVL的另一侧被入口端口ASIC剥离。该头部中包含诸如入端口索引、目标端口索引、VLAN和服务等级(CoS)之类的信息。SV头部的长度为64个字节。它被放置在以太网前导之后,并直接位于第2层头部之前,如下所示。

初始化过程必须确定哪个交换机将成为StackWise Virtual Domain的Active交换机。要确定Active角色和Standby角色,必须初始化SVL并使其联机以进行控制平面通信。由于此决策会影响每个交换机的行为,因此必须在交换机启动周期的早期就协商好角色。因此,在初始化系统的其余部分之前,系统必须使SVL及其关联的端口Online

通过SVL发送的内部消息可促进两个交换机之间的通信。 因为该Link通过EtherChannel接口被实现,所以它可以低于单链路故障。在激活SV domain之前,系统必须使SVL Online。初始化序列包括如下所示的步骤。

初始化

交换机确定其系统本地的哪些端口是构成SVL的成员,并且预先解析配置文件以提取适当的SVL命令及其相关的接口。这样,可以快速将链路接口置于Online状态。一旦Online,就在SVL的每个Link上激活链接管理协议(Link Management Protocol,LMP)。 

LMP执行以下功能:

  • 通过建立双向流量转发来验证链路完整性,并拒绝任何单向链路;
  • 周期交换Hello,以监视和维护Links的健康状况;
  • 在交换机之间协商SV Header的版本。

StackWise虚拟链接角色解析

每个交换机的冗余角色由StackWise发现协议(SDP)解决。

该协议执行以下功能:

  • 确定硬件和软件版本是否允许形成Cisco StackWise Virtual Domain;
  • 从控制平面的角度确定哪个交换机将成为Active交换机,哪个将成为Standby交换机。

HA角色确定

在角色解析期间,首先确定Active角色,然后才对具有成员角色的另一台交换机进行兼容性检查,然后进行批量配置同步。然后,交换机借助SSO机制转换为Standby角色。

*Mar 1 01:41:05.532: %HA_CONFIG_SYNC-6-BULK_CFGSYNC_SUCCEED: Bulk Sync succeeded
*Mar 1 01:41:06.535: %RF-5-RF_TERMINAL_STATE: Terminal state reached for (SSO)

3、软硬件需求

从Release16.8.1开始,Stackwise Virtual在所有的Catalyst3850 XS型号和Catalyst9500系列交换机开始支持。

从Release16.9.1开始,Stackwise Virtual只在C9404和C9407支持,并且仅在两个参与Stackwise Virtual 的机箱的相同插槽号中放置单个Supervisor。如果机箱内有备引擎,将在Stackwise Virtual中处于power-off状态。如果Active要求发生了故障,需要用新的引擎或者备引擎来替换。此限制将在以后的软件版本中删除。 WS-SUP-1和WS-SUP1-XL都支持Stackwise Virtual。但是,对于SUP-1,Stackwise Virtual 配置需要额外的许可证

从Release16.10.1开始,Stackwise Virtual也在所有的高性能C9500支持,如C9500-24Y4C, C9500-48Y4C, C9500-32QC, C9500-32C。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!