本发明涉及通信领域,具体涉及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比较选择状态界面数,选出新的主从设备;
S除管理接口外,905、从设备选择为新的主设备peer-link接口和堆叠口以外的接口执行No Error-Down操作。
较佳的,S802后包括:
S1001、MLAG的peer-link接口故障,主设备接收设备双主检测报告;
S1002.从双主检测报告中获取对端Switch设备系统优先级,peer-link接口状态、MLAG上行接口状态和MLAG成员接口在UP状态接口数;
S根据当地系统优先级,主设备peer-link接口状态、MLAG上行接口状态和MLAG成员接口在UP从设备中接收到的接口数和接收到的接口数peer-link接口状态、MLAG上行接口状态和MLAG成员接口在UP比较选择状态界面数,选出新的主从设备;
S除管理接口外,1004、主设备选为新设备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设备系统优先,Peerlin接口状态、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操作。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。