本发明涉及通信领域,具体地,涉及MLAG接口故障下的主从设备切换方法及系统。
背景技术:
MLAG(Multi-Chassis Link Aggregation Group)技术是一种跨设备的链路聚合技术,将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载。
如图1所示,用户侧设备CE(可以是交换机或服务器)通过MLAG机制与另外两台设备(SwitchA和SwitchB)进行跨设备链路聚合,共同组成一个M-LAG双主系统。这样可以实现SwitchA和SwitchB共同进行流量的转发,保证网络的可靠性。MLAG双主系统存在四种类型的接口,分别是:Peer-link接口、MLAG成员接口、MLAG上行接口和Keepalive接口。
Peer-link接口是连接SwitchA和SwitchB设备的内部控制的接口,且每台设备上只能存在一个Peer-link接口,通过Peer-link接口创建的链路称之为Peer-link链路,此链路用于交互设备间的协商报文及承载部分转发数据流量。同时为了增强peer-link链路的可靠性和稳定性,推荐采用多条链路做链路聚合。
MLAG成员接口是SwitchA或SwitchB设备连接用户侧CE设备(服务器或交换设备)的汇聚接口。MLAG成员接口与CE设备采用二层汇聚接口进行连接,同时SwitchA和SwitchB设备与用户侧CE设备相同聚合组连接的MLAG成员接口属于一组分布式汇聚组。此分布式汇聚组接口用于承担Switch设备与用户侧CE设备间流量的负载均衡,同时也提高了Switch设备与用户侧CE设备间通信的可靠性。
MLAG上行接口是SwitchA或SwitchB设备连接NetWork网络侧设备的接口。此接口主要承担Switch设备与NetWork网络侧设备间流量的负载均衡,同时也提高了Switch设备与NetWork网络侧设备间通信的可靠性。
Keepalive接口是用于SwitchA和SwitchB设备之间双主检测的接口,Switch设备间双主检测的链路称之为双主检测链路,此链路是一条三层互通链路,用于M-LAG主从设备间发送双主检测报文。Keepalive链路建议采用单独配置一条三层可达的链路来作为双主检测链路(比如:设备管理接口),避免因为Peer-link接口故障导致Keepalive链路不可用问题。
如图2所示,MLAG双主系统主从设备通过Keepalive链路交互的协议报文格式,协议格式内容:消息类型、协议报文序列号、系统优先级、上行接口状态、MLAG成员接口UP数和Peer-link接口状态。Switch设备根据接收到对端Switch设备设备的MLAG接口状态数据,与本地设备的MLAG接口状态进行比较,选择出Primary主设备和Secondary从设备。
主从设备选举规则:
若本地设备与对端Switch设备设备的上行接口状态、MLAG成员接口UP数和Peer-link接口状态均一致时,采用设备系统优先级作为判断条件,系统优先级高的设备为主设备,系统优先级低的设备为从设备。
若本地设备与对端Switch设备设备的上行接口状态不一致,MLAG成员接口UP数和Peer-link接口状态均一致时,采用设备上行接口状态作为判断条件,上行接口状态UP的设备选举为主设备,上行接口状态DOWN的设备选举为从设备。
若本地设备与对端Switch设备设备的MLAG成员接口UP数不一致,上行接口状态和Peer-link接口状态均一致时,采用设备MLAG成员接口UP数作为判断条件,MLAG成员接口UP数大为主设备,MLAG成员接口UP数小为从设备。
按照上述选举规则,MLAG双主系统会选举出主从设备。Peer-link接口为UP状态且未发生故障时,选举出的从设备,不会对MLAG相关接口做处理,仅仅选举出主从设备即可。Peer-link接口发生故障时,选举出的从设备会对除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
附图3,Peer-link接口故障,触发MLAG双主设备进行Keepalive协议报文交互,同时进行主从设备选举,选举规则如上描述。此时将选举出的从设备上除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作,即从设备的MLAG成员接口和上行接口执行Error-Down,保证数据流量转发的正确性。
上述Peer-link接口故障情况下,选举出新的主从设备,可以保证新选举的主设备进行正常数据转发,保证用户侧CE设备与网络侧network设备通信正常。但是此方案存在以下问题:
1、如果新选举主设备上行接口故障,那么MLAG系统的数据转发将会出现异常,系统将无法保证用户侧CE设备与网络侧network设备通信正常;
2、如果新选举主设备LAG成员接口故障,那么MLAG系统的数据转发能力将受到影响,网络侧Network设备与用户侧CE设备的通信带宽和数据通信能力下降。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种MLAG接口故障下的主从设备切换方法及系统。
根据本发明提供的一种MLAG接口故障下的主从设备切换方法,包括:
peer-link接口故障切换步骤:在MLAG系统出现peer-link接口故障时,根据主从选举规则,选举出主从设备,同时将从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作;
MLAG上行或成员接口故障切换步骤:在选举出的主设备出现MLAG上行接口或者MLAG成员接口故障时,根据主从选举规则,选举出新的主从设备,同时将新的主设备ERR_DOWN的上行接口和MLAG成员接口恢复为UP状态,将新的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
较佳的,所述peer-link接口故障切换步骤包括:
S601、Switch设备注册peer-link接口故障事件,接收到MLAG接口故障事件时进入S602;
S602、主设备或者从设备接收到peer-link接口故障事件,触发进入双主检测流程,收集获取本端接口状态信息,然后封装到双主检测报文中,通过keepalive接口发送到对端Switch设备。
较佳的,步骤S602后还包括:
S701、Switch设备接收到双主检测协议报文后,进入S702;
S702、获取本地系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,将这些信息封装到双主检测报文中,通过peer-link接口发送到对端Switch设备;
S703、解析接收到的双主检测报文,从报文中获取出对端Switch设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,然后与本端的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较,然后选举出主从设备;
S704、选举的主设备所有接口状态保持不变,选举的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
较佳的,所述MLAG上行或成员接口故障切换步骤包括:
S801、MLAG的peer-link接口故障,主设备接收到MLAG上行接口故障事件或者MLAG成员接口故障事件,进入S802;
S802、主设备获取本地系统优先级、Peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,将这些信息封装到双主检测报文中,然后通过peer-link接口发送到对端Switch设备。
较佳的,S802之后,包括:
S901、MLAG的peer-link接口故障,从设备接收来自主设备的双主检测报文;
S902、从接收的双主检测报文中获取出对端Switch设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数;
S903、获取缓存的从设备的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,封装到双主检测报文,通过keepalive接口发送到主设备;
S904、从设备根据本地的系统优先级、结合本端缓存的Peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,与接收到的主设备的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较选举,选举出新的主从设备;
S905、从设备选举为新的主设备,将除管理接口、peer-link接口和堆叠口以外的接口执行No Error-Down操作。
较佳的,S802之后,包括:
S1001、MLAG的peer-link接口故障,主设备接收来自从设备的双主检测报文;
S1002、从接收的双主检测报文中获取出对端Switch设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数;
S1003、主设备根据本地的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,与接收到的从设备的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较选举,选举出新的主从设备;
S1004、主设备选举为新的从设备,将除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
较佳的,还包括正常工作步骤:Switch设备的Peer-link接口、MLAG成员接口、MLAG上行接口和keepalive接口状态均为UP,并且数据收发均处于正常状态,根据主从选举规则,选举出主从设备。
较佳的,所述正常工作步骤包括:
S501、Switch设备注册报文接收事件,同时周期性向对端Switch设备发送双主检测报文,双主检测报文中携带本端Switch设备的系统优先级、Peerlink接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,当接收到报文接收事件将进入S502;
S502、解析接收到双主检测报文,获取出对端Switch设备的系统优先级、Peerlink接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,同时获取本端Switch设备系统优先级、Peerlink接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数;
S503、基于S502中获取的本端Switch设备和对端Switch设备的数据,开展主从选举操作,选举的出主从设备共同进行流量的转发。
较佳的,步骤S503还包括:主从设备间进行数据的同步和备份。
根据本发明提供的一种MLAG接口故障下的主从设备切换系统,包括:
peer-link接口故障切换模块:在MLAG系统出现peer-link接口故障时,根据主从选举规则,选举出主从设备,同时将从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作;
MLAG上行或成员接口故障切换模块:在选举出的主设备出现MLAG上行接口或者MLAG成员接口故障时,根据主从选举规则,选举出新的主从设备,同时将新的主设备ERR_DOWN的上行接口和MLAG成员接口恢复为UP状态,将新的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
与现有技术相比,本发明具有如下的有益效果:
1)本发明通过主从智能切换方式保证用户侧CE设备与网络侧network设备通信正常;
2)本发明通过主从智能切换方式保障网络侧Network设备与用户侧CE设备的通信带宽和数据通信能力。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为MLAG示意图;
图2为Keepalive协议格式示意图;
图3为peer-link接口故障主从切换图;
图4为新主设备上行接口故障主从切换图;
图5为Switch设备接口正常状态的主从设备选举流程图;
图6为Switch设备peer-link接口故障处理流程图;
图7为Switch设备主从选举切换处理流程图;
图8为Switch主设备MLAG相关接口故障处理流程图;
图9为Switch从设备切换为主设备处理流程图;
图10为Switch主设备切换为从设备处理流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种MLAG接口故障下的主从设备切换方法,保证MLAG系统可以持续进行主从选举,最大限度解决因为新选举的主设备MLAG上行接口或MLAG成员接口故障而导致的数据丢包问题。包括:
在MLAG系统出现peer-link接口故障时,根据主从选举规则,选举出主从设备,同时将从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作;在选举出的主设备出现MLAG上行接口或者MLAG成员接口故障时,根据主从选举规则,选举出新的主从设备,同时将新的主设备ERR_DOWN的上行接口和MLAG成员接口恢复为UP状态,将新的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。包含如下步骤:
a、Switch设备的peer-link接口、MLAG成员接口、MLAG上行接口和Keepalive接口状态均为UP,并且数据收发均处于正常状态;
b、Switch设备会根据MLAG双主系统主从设备选举规则,选举出MLAG双主系统的主从设备,此时主从Switch设备均参与数据正常转发;
c、Switch设备的peer-link接口故障,MLAG双主系统立即触发双主检测,根据主从选举规则选举出新的主设备,同时将选举出的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作,Error-Down是设备提供的一种保护机制,可以根据故障场景下设置自动关闭shutdown接口操作,进而保护网络不受影响;
d、Switch选举的新主设备的MLAG上行接口故障或者MLAG成员接口故障,MLAG双主系统立即触发双主检测,由于从设备MLAG接口执行Error-Down,所以在进行主从选举规则时,接口状态需要根据从设备执行Error-Down之前的接口状态作为双主选举条件,从而保证选举新主设备的正确性;
e、Switch设备由从设备选举为主设备后,需要立即将除管理接口、peer-link接口和堆叠口以外的接口执行no Error-Down操作,恢复接口为UP状态,保证数据能在新主设备正常转发,no Error-Down是设备提供的一种保护机制,一般情况下接口error-down之后默认无法自动恢复,需要满足某种指定策略条件后才会将接口执行no shutdown操作,从而恢复接口正常通信;
f、Switch为新主设备的MLAG相关接口故障时,均需要进行步骤d的操作和步骤e的操作。
如图4所示,新选举的主设备(peer-link接口故障选举出的主设备)上行接口故障,触发新主设备进入双主检测流程,发送本地接口状态数据到从设备。从设备接收到主设备的接口状态数据与本地缓存的接口状态数据(从设备执行ERR-DOWN之前的接口状态数据)进行主从选举,同时从设备将本地缓存的接口状态数据封装到双主检测报文中,通过keepalive接口发送到主设备。主设备接收到从设备的双主检测报文,提取出接口状态数据与本地接口状态数据进行主从选举。经过主从选举规则判断,完成主从设备切换。从设备切换为主设备,立即将ERR-DOWN的接口恢复为UP状态;主设备切换为从设备,则需要将除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作;保证用户侧CE设备与Network网络侧设备仅通过新主设备完成数据转发。
实施举例1:MLAG相关接口均处于正常状态,Switch主从设备选举方案,具体包含如下步骤(如图5):
步骤501:Switch设备的双主检测管理模块注册报文接收事件,同时会周期性向对端Switch设备发送双主检测报文,报文中将携带本地Switch设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数。当接收到报文接收事件将进入步骤502;
步骤502:解析接收到双主检测报文,获取出对端Switch设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数。同时获取本端Switch设备系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数。
步骤503:基于步骤502中获取的本端Switch设备和远端Switch设备的主从选举数据,开展主从选举操作。由于所有接口状态均处于UP状态,所以只需要根据系统优先级选举出主从设备。选举的出主从Switch设备共同进行流量的转发,保证网络的可靠性。同时主从Switch设备为保证共同进行流量的转发正确性,设备间会进行相关的数据的同步和备份,如:FDB表项和路由表项等。
实施举例2:MLAG的peerlink接口故障,触发主从Switch设备双主检测方案,具体包含如下步骤(如图6):
步骤601:Switch设备的双主检测管理模块注册peer-link接口故障事件,当接收到MLAG接口故障事件进入步骤602;
步骤602:MLAG主设备或者从设备接收到peer-link接口故障事件,立即触发进入双主检测流程,收集获取本端设备接口状态信息,然后封装到双主检测报文中,通过keepalive接口发送到对端Switch设备。
实施举例3:MLAG的peer-link接口故障,接收对端Switch双主检测报文进行主从设备选举方案,具体包含如下步骤(如图7):
步骤701:Switch设备的主从选举模块接收到双主检测协议报文后,进入步骤702;
步骤702:Switch设备获取本地系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数。将这些信息封装到双主检测报文中,然后通过peer-link接口发送到对端设备;
步骤703:Switch设备解析接收到的双主检测报文,从报文中获取出对端设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,然后与本端设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较,然后选举出主从设备。
步骤704:选举为主的Switch设备所有接口状态保持不变,选举为从的Switch设备,需要将除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作,保证数据流量只能从主设备进行转发,从而保证数据流量转发的正确性。
实施举例4:MLAG的peer-link接口故障,选举的主设备发生MLAG上行接口故障,触发Switch主设备双主检测报文发送方案,具体包含如下步骤(如图8):
步骤801:MLAG的peer-link接口故障,选举的Switch主设备读的主从选举模块接收到MLAG上行接口故障事件或者MLAG成员接口故障事件,进入步骤802;
步骤802:Switch主设备获取本地系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数。将这些信息封装到双主检测报文中,然后通过peer-link接口发送到对端设备。
实施举例5:MLAG的peer-link接口故障,选举的从设备接收来自主设备的双主检测报文,触发进行主从选举的方案,具体包含如下步骤(如图9):
步骤901:MLAG的peer-link接口故障,选举的从设备的主从选举模块接收到来自主设备的双主检测报文;
步骤902:从接收的报文中获取出对端设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数;
步骤903:由于从设备的MLAG相关接口均被执行ERR-DOWN操作,按照当前接口实际状态将无法进行有效的主从选举,所以从设备需要缓存其接口在执行ERR-DOWN前的状态。获取缓存的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,封装到双主检测报文,通过keepalive接口发送到主设备;
步骤904:从设备根据本地的系统优先级、结合本端缓存的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,与接收到的主设备的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较选举,选举出主从设备。
步骤905:从设备选举为主设备,则需要将除管理接口、peer-link接口和堆叠口以外的接口执行No Error-Down操作,保证MLAG上行接口状态和MLAG成员接口能快速恢复UP,从而尽快恢复数据流量转发。
实施举例6:MLAG的peer-link接口故障,选举的主设备接收来自从设备响应的双主检测报文,触发进行主从选举的方案,具体包含如下步骤(如图10):
步骤1001:MLAG的peer-link接口故障,选举的主设备的主从选举模块接收到来自从设备的双主检测响应报文;
步骤1002:从接收的报文中获取出对端设备的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数;
步骤1003:主设备根据本地的系统优先级、peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数,与接收到的从设备的peer-link接口状态、MLAG上行接口状态和MLAG成员接口处于UP状态的接口数进行比较选举,选举出主从设备。
步骤1004:主设备选举为从设备,需要将除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作,保证数据流量只能从主设备进行转发,从而保证数据流量转发的正确性。
基于上述一种MLAG接口故障下的主从设备切换方法,本发明还提供一种MLAG接口故障下的主从设备切换系统,包括:
peer-link接口故障切换模块:在MLAG系统出现peer-link接口故障时,根据主从选举规则,选举出主从设备,同时将从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作;
MLAG上行或成员接口故障切换模块:在选举出的主设备出现MLAG上行接口或者MLAG成员接口故障时,根据主从选举规则,选举出新的主从设备,同时将新的主设备ERR_DOWN的上行接口和MLAG成员接口恢复为UP状态,将新的从设备除管理接口、peer-link接口和堆叠口以外的接口执行Error-Down操作。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。