一山不容二虎:IRF+MDC环境下防双活功能介绍
前言
S12500系列产品从Comvare V7版本开始实现了MDC技术,而MDC与IRF2的结合使用也为我们带来了更灵活的部署方案,下图所示的就是我们最常见的IRF+MDC的应用方式,即两框堆叠+跨框划分MDC的方式。
图 1
在IRF中不得不关注一个问题,即堆叠分裂导致网络中出现双活,为了防止这个问题出现,我们要部署相应的检测机制来避免该问题,那么该怎么部署呢?IRF+MDC环境下防双活需要同时部署两种检测机制:MAD检测机制和IRF link-status detect机制,二者的结合才是IRF+MDC环境下防双活的解决方案。首先来介绍下这两种机制。
一、 IRF link-status detect(IRF链路状态检测) 机制
准确的讲,IRF link-status detect机制并不是真正意义上的双活检测机制,它只是一种类似于以太网OAM的链路故障检测机制,它的功能是当两台成员设备之间存在多于一条IRF物理连接时,系统会检测每条IRF物理连接是否连通,确保系统能及时发现故障链路,当某条IRF链路发生故障时,系统会将此IRF链路对应的IRF物理端口设置为禁止接收报文,并通过Log信息通知用户,而且该功能仅在两框未分裂状态下才有效,因为分裂后,尽管IRF堆叠口仍然会发送检测报文,但对端的框并不会处理该报文。其实在V5平台上IRF link-status detect功能就已经有了,正如上面的描述,在V5平台上该功能仅仅对IRF链路本身有效;而在V7平台上对此功能做了扩展,当在某MDC中检测到IRF链路故障后,它不仅会把该IRF端口本身down掉,还会down掉本MDC中除保留端口以外的其他所有端口(当然,当同一个MDC中有多条IRF链路时,当所有IRF链路都故障了才会down掉其他端口),做了这样的功能扩展后,IRF link-status detect机制便有了防双活的能力,而且它有以下特点:
1、IRF链路状态检测功能配合IRF link-status auto-recover(IRF链路故障恢复功能),当故障的IRF链路重新恢复正常时,被设置为禁止接收报文的IRF物理端口会重新恢复正常,对应MDC内的其他端口也会恢复正常(相当于天然具有IRF自动恢复功能)
2、该功能在整个系统未分裂时(任意一个MDC当中只要有一条堆叠链路工作正常系统就不会分裂)生效,当系统彻底分裂时,被设置为禁止接收报文的IRF物理端口,会恢复到之前的状态,被down掉的其他端口也会恢复到之前的状态;即IRF link-status detect(IRF链路状态检测)失效
n 下面来看下具体现象
1、 down掉IRF Link-2,此时两框IRF并未彻底分裂,但MDC-2的irf link-status detect 生效,会down掉IRF-member号大的框(框2)MDC-2中的所有端口,查看业务端口状态,显示为IRF-link-down
2、重新恢复MDC-2的堆叠链路,irf link-status auto-recover功能生效,IRF自动恢复(不用重启),且框2上所有的业务端口重新UP(不用手工恢复)
3、如果两框彻底分裂,业务端口不会被down掉,即使之前被IRF-link-down的业务端口也会重新UP
n 由上可知irf link-status detect 机制依赖于两框间的IRF未分裂,当系统彻底分裂时该机制不生效,这个时候就需要MAD检测机制来保证网络不出现双活。
二、 IRF+MDC环境下的MAD检测机制
MAD检测机制的应用已经很成熟,这里不再详细说明其原理,仅关注在多个MDC的环境下部署MAD的特点,MAD检测是对整个系统起作用而不会单独对某个MDC起作用,这一特点涉及到以下两个具体问题:
1、在每一个MDC中都部署MAD检测,当单独一个MDC分裂了,MAD检测是否会生效,是否会影响其他MDC
2、仅在一个MDC中部署MAD,会有什么样的效果
n 接下来我们通过具体的实验现象来解析这两个问题
1、在每一个MDC中都部署BFD MAD检测,down掉IRF Link-2,此时两框堆叠未彻底分裂,BFD MAD-2不会生效,但MDC-2的irf link-status detect生效,会down掉框2上MDC-2中的所有端口(包括BFD MAD检测口),而MDC-1不会受到任何影响
2、紧接着down掉IRF Link-1,此时两框堆叠彻底分裂,BFD MAD-1生效,框2上的所有端口MAD shutdown
3、仅在一个MDC中部署BFD MAD检测,先down掉IRF Link-1,最后down掉IRF Link-2,此时BFD MAD检测生效,将断开的顺序颠倒过来,MAD检测仍能生效
n 通过上面具体实验现象,可知MAD检测在IRF+MDC环境下的特点,即MAD检测仅在两框堆叠彻底分裂的情况下才会生效,且是全局生效,可以仅在一个MDC中(不论是默认MDC还是用户MDC)配置MAD来检测整个系统是否分裂
以上就是IRF+MDC环境下解决双活问题两种技术,简单的说:
l IRF link-status detect用于单个MDC分裂防双活(默认开启);
l MAD用于两框彻底分裂防双活;
了解完两种检测机制,接下来给出一个部署思路。
三、 推荐的IRF+MDC部署思路
1、 在每一个MDC中都部署MAD检测
2、仅在一个MDC中部署MAD检测
说明:
l 首先推荐在每一个MDC中都部署MAD检测,可以增加可靠性
l 当客户部署如实例中所示的BFD MAD检测时,如果没有足够的端口时,可仅在一个MDC中配置MAD
l 务必注意关闭MAD检测端口STP功能
l 如果仅在一个MDC中部署MAD,将MAD检测口加入保留端口(即MAD exclude,当一个端口是保留端口时,系统分裂MAD生效后,该端口不会被MAD shutdown),可以缩短MAD检测时间,增加检测及时率
以上即是IRF+MDC组网的防双活机制以及简单的部署思路的介绍,希望本文能够为MDC部署工作带来一些提示,这里也列出一些防双活机制其他的特性供大家参考。
小锦囊:
1、如果MDC内的堆叠链路失效,该MDC在大框号机框的端口会被down,状态为IRF-LINK-DOWN
2、如果失效的堆叠链路恢复,原来被IRF-LINK-DOWN的端口可以恢复
3、优先级:手工shutdown > MAD DOWN > IRF-LINK-DOWN,优先级高的状态会覆盖优先级低的状态
4、端口配置MAD exclude可以避免被MAD down和IRF-LINK-DOWN
5、MAD restore命令对IRF-LINK-DOWN的端口无效
6、MAD可以在每个MDC内配置,也可以在一个MDC内配置多种MAD检测。各种MAD检测之间互相不干扰。
7、对于LACP MAD检测,同样可以在每个MDC中配置,但domain是系统唯一的。