什么是堆叠
堆叠是指将多台支持堆叠的设备从逻辑上虚拟成一台设备,堆叠设备使用相同的IP和MAC地址,进行统一的管理和数据转发,可提高链路可靠性、带宽、实现冗余等
堆叠产生的背景
- 堆叠的前身
VRRP+MSTP+E-trunk
- 此组网架构缺点
- 传统园区网络为了保证链路的可靠性,通常采用设备或者链路的冗余来实现,例如VRRP设备冗余协议、E-trunk链路聚合。但是这些传统的方法都会存在链路利用率低,导致网络维护成本较高的缺点。堆叠因此诞生,堆叠技术将多台交换机虚拟成一台交换机。
- 传统的生成树协议不能解决单一vlan负载均衡的场景,多vlan可以用MSTP的多实例配合VRRP实现负载均衡,MSTP负载均衡的条件为同域不同实例。
- 传统的园区网在设备或者链路故障时的秒级切换可能会导致业务的中断,再者难以维护。堆叠技术的出现将主备切换时间提升至毫秒级,可实现零感切换,丝滑柔顺。
- 配置比较麻烦,维护成本较高
堆叠的优点
在堆叠的产生背景中描述了堆叠的多种优点,那我们来看看具体的场景中是如何体现
- 简化拓扑,统一管理
如图堆叠将多台设备从逻辑上虚拟成一台设备进行管理和数据的转发
- 堆叠二层天然无环
如图传统的技术利用STP来实现破环,设备堆叠之后堆叠系统内部可实现自动破环。虽然堆叠逻辑上无环路,为了防止误接线路导致环路,因此还需要开启MSTP来防止环路。在下联设备不做堆叠接入、防火墙时,依然存在环路风险,因此还需要开启MSTP来防止环路
- 提高可靠性,增大带宽
如图堆叠之间可形成备份效果,提高可靠性;也可支持跨堆叠设备的链路聚合来增大交换机上行链路的带宽。
堆叠的缺点
人无完人,何况设备。接下来简单看看堆叠的欠缺点
- 堆叠线路故障时,会导致堆叠分裂,造成网络中配置冲突问题
- 堆叠选举除主交换机,所有同步与主交换机,实现统一的管理。但是也导致整个堆叠系统受限于主交换机的性能,主交换机成为堆叠的瓶颈。
- 常规交换机的系统升级都需要堆叠的多台设备同时重启,在此过程中业务可能会受到影响
- 堆叠在各厂家有着不同的实现技术,导致堆叠只能使用同一厂商的设备来部署堆叠
- 使用业务口堆叠需要占用端口,同时为了堆叠的可靠性需要使用多主检测也要占用端口,导致在一些端口紧张的场景下略显尴尬。
- 部分设备不支持堆叠功能
堆叠相关概念
堆叠分类:
- 盒式交换机堆叠(iStack)支持范围:9~16台
- 框式式交换机堆叠(CSS)支持范围:仅支持2台
堆叠ID:
堆叠ID用来标识堆叠的成员交换机,是唯一的,作为成员交换机的槽位号。
堆叠成员角色:
- 主交换机
负责管理整个堆叠系统,每个堆叠系统中只存在一台主交换机
- 备交换机
备交换机是主交换机的备份,一个堆叠系统中只有一台从交换机。当主交换机故障时,备交换机切换为主交换机管理其所有业务
- 从交换机
用于业务的转发,一个堆叠系统中可以有多台从交换机,从交换机的数量决定了带宽的上限。当备交换机故障时从交换机顶替。
堆叠优先级:
主要用来选举主备交换机
堆叠方式:
- 业务口
配置参数--配置堆叠ID/优先级--连接线缆--重启设备
- 堆叠卡
使能功能--配置堆叠ID/优先级--连接线缆--重启设备
业务口堆叠的两种连线:
- 链形连接(如图1.4)
优点:适合长距离的堆叠
缺点:不能保证链路的可靠性
- 环形连接(如图1.5)
优点:其中一条链路故障即变为链形连接,可保证其链路的可靠性
缺点:不适合长距离的堆叠
堆叠角色选举规则
- 根据系统运行时间
- 若系统运行时间相差在20秒内,则根据优先级大的为主
- 若前两者都不能比较出,则根据MAC地址小的为主
堆叠建立过程
- 物理连接
- 根据角色选举规则选举出主交换机
- 主交换机进行堆叠系统系统内所有交换机的拓扑收集,向外分配堆叠ID,之后选举出备交换机
- 信息同步:主交换机将整个堆叠系统的拓扑信息同步给所有成员交换机,并且成员交换机同步主交换机的系统软件和配置文件
堆叠双主问题
当堆叠系统中线缆故障或者带电移出成员交换机时,会出现双主问题,两套系统的IP和MAC地址相同会导致网络故障,所以此时有必要引出一种可检测双主场景下同IP和MAC地址的冲突情况。
多主检测MAD是一种检测和处理堆叠分裂冲突的协议,可减小堆叠分裂对业务的影响。
MAD的两种方式:
- 直连检测
- 代理检测
1.在堆叠系统上,配置跨设备Eth-Trunk的代理方式多主检测功能。
在Trunk接口视图下配置:mad detect mode relay
2.在代理设备上,配置Eth-Trunk的代理功能,使其能够转发MAD报文。
堆叠升级
堆叠有三种升级方式
- 智能升级
在堆叠系统建立后,成员交换机会根据主交换机的软件版本进行比较,如果不一样,则从主交换机上下载软件版本,并且重启新的系统软件版本后再次加入堆叠系统。
- 传统升级
首先配置启动的系统软件版本,然后整个堆叠系统重启进行升级,这种方式会导致业务有较长时间的中断,不适用于数据中心等对业务中断时间要求较高的场景。
- 平滑升级
如图1.6所示在采用平滑升级需要将原堆叠系统分为两个区域,active区域(主交换机所在的区域)和backup区域。由于在两个区域在上行和下行链路都为备份关系,这两个区域进行依次升级,可以保证其中一个区域的流量不会中断,减少对业务的影响。此升级方式适合于对于业务中断时间要求比较高的场景,和传统的升级最大区别就是时间的差距上。
注意事项:
- 确保下次堆叠系统启动的软件版本支持平滑升级
- 堆叠系统各成员当前和下次启动的软件版本,包括文件名、版本号以及存储路径需一致
- 确保上行和下行链路需形成备份,保证流量的不中断
平滑升级的过程:
- 主交换机下发命令使堆叠系统进入平滑升级状态,backup区各个成员交换机以新的系统软件进行启动。
- backup区以新版本建立一个独立的堆叠系统,并通知active区进入升级阶段,主控权由active区的主交换机转移到backup区的主交换机,backup区负责流量传输,active区进入升级过程。
- active区以新系统软件重新启动并加入backup区的堆叠系统,backup区的主交换机根据最终堆叠建立的结果发布升级的结果。
如果平滑升级过程中出现错误、异常或者升级过程超时(超时时间为70分钟),堆叠系统会自动进行回滚处理,切换为原来的启动系统软件后重新建立堆叠系统。
堆叠相关配置
int stack-port 0/1 创建进入逻辑堆叠接口视图
port int g0/0/1 enable 添加接口到堆叠
stack slot 0 renumber ? 配置设备的堆叠ID
stack slot 0 priority ?配置成员交换机的堆叠优先级
stack reserved-vlan 4096 修改堆叠保留vlan为4096,默认为4093
堆叠查看命令
dis stack config 查看配置
dis stack port 查看堆叠接口
dis device 查看堆叠设备信息
reset stack config 清除堆叠配置