VSF简介
VSF(虚拟交换框架)是一种将多台设备通过VSF端口连接起来,形成一台虚拟逻辑设备的技术。用户可以通过管理这台虚拟设备,实现对其中所有物理设备的管理。
传统的园区和数据中心网络通常采用多层网络拓扑结构,如图1-1所示。这些网络存在以下缺点:
- 网络和服务器复杂,导致运营效率低、运营开支高。
- 无状态的网络级故障切换延长了应用恢复时间和业务中断时间。
- 资源使用率低,降低了投资回报(ROI),提高了资本开支。
为了应对这些问题,VSF技术应运而生,它将多台支持VSF的设备组合为单一虚拟交换机。在VSF中,交换机的管理引擎、数据面板和交换阵列能够同时激活。VSF成员通过VSF链路(VSL)连接。VSL在虚拟交换机成员之间使用标准万兆以太网连接(最多4条,以提供冗余性),如图1-2所示。
与传统的L2/L3网络设计相比,VSF提供了多项显著优势,主要归纳为以下三个方面:
1. 提高运营效率
- 单一管理点,包括配置文件和单一网关IP地址(无需HSRP/VRRP/GLBP)。
- 多台物理设备堆叠形成的逻辑设备创建了简单的无环路拓扑结构,不再依靠生成树协议(STP)。
- 底层物理交换机通过标准万兆以太网接口相连,提供灵活的部署选项。
2. 优化不间断通信
- 机箱间状态化故障切换不会干扰需要使用网络状态信息的应用。凭借VSF,在一个虚拟交换机成员发生故障时,不再需要进行L2/L3重收敛,能够在较短时间内实现确定性虚拟交换机的恢复。
3. 扩展系统带宽容量
- 在VSF交换机上激活所有可用的L2带宽,不仅扩大了带宽,还可以在多个VSF成员上进行精确的负载均衡。
基本概念
1. 角色
VSF中的每台设备称为成员设备,根据功能不同分为以下几种角色:
- Master:负责管理整个VSF。
- Standby Master:VSF的备份成员,作为Master的备份设备运行,当Master故障时,系统由Standby Master自动接替Master的工作。
- Slave:VSF中除Master和Standby Master之外的成员设备。
Master、Standby Master和Slave均通过角色选举产生。一个VSF中只能存在一台Master和一台Standby Master,其他成员设备都是Slave。
2. VSF端口
VSF端口是一种专用于VSF的逻辑接口,分为vsf-port1和vsf-port2,需要与VSF物理端口绑定后才能生效。
3. VSF物理端口
VSF物理端口是设备上用于VSF连接的物理端口,可能是VSF专用接口、以太网接口或者光口。以太网接口和光口负责转发业务报文,当它们与VSF端口绑定后,作为VSF物理端口用于成员设备之间转发报文。可转发的报文包括VSF相关协商报文以及跨成员设备转发的业务报文。
4. VSF合并
两个独立运行的VSF,通过物理连接和必要的配置,形成一个VSF的过程称为VSF合并(merge)。
5. VSF分裂
由于VSF链路故障,导致VSF中两相邻成员设备物理上不连通,一个VSF分裂为两个VSF的过程称为VSF分裂(split)。
6. 成员优先级
成员优先级是成员设备的一个属性,主要用于角色选举过程中确定成员设备的角色。优先级越高,当选为Master的可能性越大。设备的缺省优先级为1,若希望某台设备当选为Master,可以在组建VSF前通过命令行手工提高该设备的成员优先级。
VSF术语
- VSF (Virtual Switching Framework):虚拟交换框架。
- VSF Port:VSF口,为一个 mode on 的 port-channel。
- VSF AM:VSF中的活动主控卡。
- VSF SM:VSF中的备份主控卡。
- VSF Slave:VSF中的线卡,在机架交换机中指Chassis AM,未被选为VSF AM或VSF SM。
- VSF Member:VSF中的成员设备。
- VSF Master Member:VSF中的主成员设备。
- VSF Standby Master Member:VSF中的备份主成员设备。
- VSF Slave Member:VSF中的slave成员设备。
- HA (High Availability):高可靠性。
- AM (Active Master):活动主控,工作模式为Master且处于活动状态的交换机,一个盒式VSF组每一时刻只能有一个AM。
- SM (Standby Master):备份主控,盒式VSF组中工作模式为Master且处于备份状态的交换机。
- SSO (Stateful Switchover):全状态主备倒换,同步协议应用层的数据,发生主备倒换时,备份主控的协议应用模块能快速接管相应功能,数据不丢失,但路由协议的动态数据不同步。
- NSF (None Stop Forwarding):利用数据层面和控制层面的独立性,在控制层面故障时,数据层面依然能正常转发数据。
- NSF/SSO (Nonstop Forwarding with Stateful Switchover):在进行SSO主备倒换时,数据转发不受影响。
- Syn Process:HA同步进程,负责活动主控或备份主控协议模块数据的收集或分发,负责活动主控和备份主控的数据同步通信。
- GR (Graceful Restart):优雅重启,为实现不间断转发,路由协议做扩展以支持GR能力。
- MAD (Multi-Active Detection):多Active检测。
VSF 典型应用
VSF(虚拟交换框架)在校园网数据中心中的应用,如图1-6所示,能显著简化网络配置。通过使用VSF,汇聚层的多个设备成为一个单一的逻辑设备,接入设备直接连接到虚拟设备,不再需要使用MSTP、VRRP协议。依靠跨设备的链路聚合(port group模式要求必须使用active模式),在成员设备故障时无需依赖MSTP、VRRP等协议的收敛,从而提高了网络的可靠性。
LACP MAD
LACP MAD(多活动检测)基于LACP的动态聚合方式,每个VSF成员设备至少有一个端口与中间设备连接。中间设备必须支持LACP扩展功能。LACP MAD通过扩展LACP协议报文内容,在LACP报文的扩展字段中定义一个新的TLV(Type Length Value),用于交互VSF的ActiveID。VSF系统中的ActiveID是唯一的,用VSF中master设备的成员编号表示。使能LACP MAD检测后,成员设备通过LACP报文与其他成员设备交互ActiveID信息。
在VSF正常运行时,所有成员设备发送的LACP报文中的ActiveID值相同,没有多Active冲突。当VSF分裂形成两个VSF时,不同VSF中成员设备发送的LACP报文中的ActiveID值不同,从而检测到多Active冲突。
BFD MAD
BFD MAD(双向转发检测)拓扑搭建比LACP简单,但一旦某个VLAN被选定用于BFD MAD检测,该VLAN及其端口将作为BFD MAD的专有VLAN和端口,不能再配置其他功能。搭建方法:在member1和member2上分别选定一个端口,并将两者之间连线。BFD MAD通过BFD协议实现。要使BFD MAD正常运行,需在三层接口下使能BFD MAD检测功能,并在该接口上配置MAD IP地址。MAD IP地址与成员设备绑定,且必须属于同一网段。
在VSF正常运行时,只有master上配置的MAD IP地址生效,关联的slave设备的MAD IP地址不生效,BFD会话处于down状态;当VSF分裂形成两个VSF时,新形成的VSF上与该member关联的MAD IP地址生效,通过BFD MAD检测连接线,两个VSF之间会建立BFD会话,从而检测到多Active冲突。
VSF相关配置
VSF配置
VSF配置任务包括:
- 配置VSF成员编号(必选)
- 配置VSF成员优先级(可选)
- 配置VSF域(可选)
- 配置逻辑VSF口
- 设备由独立运行模式转换到VSF运行模式
- 配置VSF自动合并(可选)
- 对VSF成员进行描述(可选)
- 配置VSF链路down延迟上报功能(可选)
- 配置VSF分裂后VSF组MAC地址保留时间(可选)
- 设备由VSF运行模式转换到独立运行模式
- 快速检测VSF链路状态变化
配置VSF成员编号(必选)
命令 | 解释 |
vsf member | 配置VSF成员编号 |
no vsf member | 删除VSF成员编号 |
配置VSF成员优先级和所在VSF域(可选)
命令 | 解释 |
vsf priority | 配置VSF成员优先级 |
no vsf priority | 删除VSF成员优先级 |
vsf domain | 配置VSF域 |
no vsf domain | 删除VSF域,恢复到默认域号1 |
配置逻辑VSF口并与物理口进行绑定
命令 | 解释 |
vsf port-group | 配置逻辑VSF口 |
no vsf port-group | 删除逻辑VSF口 |
vsf port-group interface Ethernet | 将物理口与逻辑VSF口进行绑定 |
no vsf port-group interface Ethernet | 删除物理口与逻辑VSF口的绑定 |
设备进行运行模式转换
命令 | 解释 |
`switch convert mode (stand-alone | vsf)` |
其他配置
命令 | 解释 |
vsf auto-merge enable | 使能VSF组自动合并功能 |
no vsf auto-merge enable | 去除自动合并功能 |
vsf member description | 对VSF成员进行描述,描述信息只写入VSF主控配置文件中 |
no vsf member description | 删除对应VSF成员的描述信息 |
vsf link delay | 配置VSF链路down延迟上报功能,避免因端口链路状态短时间内频繁改变导致VSF分裂、合并的频繁发生 |
no vsf link delay | 将延迟上报时间值恢复为默认值 |
`vsf mac-address persistent | always>` |
no vsf mac-address persistent | 删除VSF组MAC地址保留时间的配置,不保留 |
vsf non-wait port-inactive | 快速检测VSF链路状态变化,用于需要快速发现VSF分裂的场景 |
no vsf non-wait port-inactive | 恢复检测VSF链路状态为默认方式 |
LACP MAD配置
LACP MAD配置任务包括:
- 创建聚合组
- 将端口加入聚合组,至少有一方为active方式
- 配置快速检测(可选)
- 使能LACP MAD
创建聚合组
命令 | 解释 |
port-group | 创建port-group |
no Port-group | 删除port-group |
将端口加入聚合组
命令 | 解释 |
interface ethernet | 进入端口模式 |
`port-group mode | passive>` |
no port-group | 将端口退出聚合组 |
配置快速检测
命令 | 解释 |
`lacp timeout | short>` |
no lacp timeout | 删除快速检测 |
使能LACP MAD
命令 | 解释 |
`vsf mad lacp | disable>` |
BFD MAD配置
BFD MAD配置任务包括:
- 创建用于BFD MAD的VLAN
- 将用于进行BFD MAD的端口加入到相应VLAN中
- 为BFD MAD三层接口配置IP地址
- 使能BFD MAD功能
创建用于BFD MAD的VLAN
命令 | 解释 |
vlan | 配置VLAN |
no vlan | 删除VLAN |
将用于进行BFD MAD的端口加入到相应VLAN中
命令 | 解释 |
switchport interface ethernet | 将端口加入VLAN |
no switchport interface ethernet | 将端口移出VLAN |
为BFD MAD三层接口配置IP地址
命令 | 解释 |
interface vlan | 进入VLAN接口配置模式 |
vsf mad ip address member | 配置三层接口上用于BFD MAD的IP地址 |
no vsf mad ip address member | 删除三层接口上用于BFD MAD的IP地址 |
使能BFD MAD功能
命令 | 解释 |
`vsf mad bfd | disable>` |
案例 1:
在独立运行模式下进行配置,令两台交换机形成 VSF,两台设备分的 VSF 成员编号分别为 1 和 2,为了让 vsf member2 成为 vsf master,配置 member 2 的成员优先级为 32,两台设备之间建立两个 vsf port-group,每个 vsf port-group 绑定一个万兆端口。
switch1 的 VSF 配置如下:
switch1#config
switch1(config)#vsf member 1
switch1(config)#vsf port-group 1
switch1(config-vsf-port1)#vsf port-group interface ethernet 1/1
switch1(config)#vsf port-group 2
switch1(config-vsf-port1)#vsf port-group interface ethernet 1/2
switch1(config)#exit
switch1(config)#switch convert mode vsf
switch2 的 VSF 配置如下:
switch2#config
switch1(config)#vsf member 2
switch1(config)#vsf priority 32
switch1(config)#vsf port-group 1
switch1(config-vsf-port1)#vsf port-group interface ethernet 2/1
switch1(config)#vsf port-group 2
switch1(config-vsf-port1)#vsf port-group interface ethernet 2/2
switch1(config)#exit
switch1(config)#switch convert mode vsf
案例 2:
在两个 vsf 之间使用 lacp mad 检测功能,vsf1 与 vsf2 的角色既为被检测设备,也互为中间设备。配置和前面基本相同。建议用户在各个设备之间交叉连接,避免 vsf1 分裂后不能做中间设备继续检测 vsf2。
假设 vsf1 与 vsf2 使用的 lacp 端口都为 ethernet 1/1/1,ethernet 1/1/2,ethernet 2/1/1,ethernet 2/1/2。
vsf1 的配置如下:
Switch(config)#vsf domain 1
*配置 vsf 域号,可以配置成其它值,但是不能与 vsf2 相同。
Switch(config)#port-group 1
Switch(config)#interface ethernet 1/1/1
Switch(config-if-ethernet1/1/1)#port-group 1 mode active
Switch(config)#interface ethernet 1/1/2
Switch(config-if-ethernet1/1/2)#port-group 1 mode active
Switch(config)#interface ethernet 2/1/1
Switch(config-if-ethernet2/1/1)#port-group 1 mode active
Switch(config)#interface ethernet 2/1/2
Switch(config-if-ethernet2/1/2)#port-group 1 mode active
Switch(config-if-ethernet2/1/2)#interface port-channel 1
Switch(config-if-port-channel1)#vsf mad lacp enable
vsf2 的配置如下:
Switch(config)#vsf domain 2
*配置 vsf 域号,可以配置成其它值,但是不能与 vsf1 相同。
其余配置和 vsf1 上的配置相同。
案例 3:
假设用于 bfd mad 检测的端口为 ethernet1/1/1,ethernet2/1/1,vlan 为 3000。Mad ip 地址的配置以 192.168.1.1 网段为例。
switch 的 BFD MAD 配置如下:
Switch(config)#vlan 3000
Switch(config-vlan3000)#interface ethernet 1/1/1
Switch(config-if-ethernet1/1/1)#switchport access vlan 3000
Switch(config-if-ethernet1/1/1)#interface ethernet 2/1/1
Switch(config-if-ethernet2/1/1)#switchport access vlan 3000
Switch(config-if-ethernet2/1/1)#interface vlan 3000
Switch(config-if-vlan3000)#vsf mad bfd enable
Switch(config-if-vlan3000)#vsf mad ip add 192.168.1.1 255.255.255.0 member 2
Switch(config-if-vlan3000)#vsf mad ip add 192.168.1.2 255.255.255.0 member 1