IRF堆叠使用问题分析

更多技术文章请访问 https://guotiejun.com
IRF(Intelligent Resilient Framework,智能弹性架构)是H3C自主研发的软件虚拟化技术。它的核心思想是将多台设备连接在一起,进行必要的配置后,虚拟化成一台设备。使用这种虚拟化技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。
IRF中每台设备都称为成员设备。成员设备按照功能不同,分为两种角色:

·主用设备(简称为主设备):负责管理整个IRF。
·从属设备(简称为从设备):作为主设备的备份设备运行。当主设备故障时,系统会自动从从设备中选举一个新的主设备接替原主设备工作。

一个IRF形成后,由于IRF链路故障,导致IRF中两相邻成员设备不连通,一个IRF变成两个IRF,这个过程称为IRF分裂。
确定成员设备角色为主设备或从设备的过程称为角色选举。角色选举会在以下情况下进行:IRF建立、主设备离开或者故障、两个IRF合并等。
角色选举规则如下:

(1)当前主设备优先,IRF不会因为有新的成员设备加入而重新选举主设备。不过,当IRF形成时,因为没有主设备,所有加入的设备都认为自己是主设备,则继续下一条规则的比较。
(2)成员优先级大的优先。如果优先级相同,则继续下一条规则的比较。
(3)系统运行时间长的优先。在IRF中,成员设备启动时间间隔精度为10分钟,即10分钟之内启动的设备,则认为它们是同时启动的,则继续下一条规则的比较。
(4)CPU MAC小的优先。
通过以上规则选出的最优成员设备即为主设备,其它成员设备则均为从设备。
在角色选举完成后,IRF形成,进入IRF管理与维护阶段。

任务一:搭建一组IRF环境

SW1:

irf member 1 priority 10
interface Ten-GigabitEthernet1/0/49
shutdown
irf-port 1/2
 port group interface Ten-GigabitEthernet1/0/49
interface Ten-GigabitEthernet1/0/49
undo shutdown
save force
irf-port-configuration active

SW2:

irf member 1 renumber 2
save force
reboot
interface Ten-GigabitEthernet2/0/49
shutdown
rf-port 2/1
 port group interface Ten-GigabitEthernet2/0/49
interface Ten-GigabitEthernet2/0/49
undo shutdown
interface Ten-GigabitEthernet2/0/50
shutdown
irf-port 2/2
 port group interface Ten-GigabitEthernet2/0/50
interface Ten-GigabitEthernet2/0/50
undo shutdown
save force
irf-port-configuration active

SW3:

irf member 1 renumber 3
save force
reboot
interface Ten-GigabitEthernet3/0/49
shutdown
irf-port 3/1
 port group interface Ten-GigabitEthernet3/0/49
interface Ten-GigabitEthernet3/0/49
undo shutdown
save force
irf-port-configuration active

配置完成后,可以看到设备堆叠成功。

可以看到一台设备有两个IRF-PORT,主要是为了多台设备做堆叠使用,可以链形连接或者环形连接。而连接时,要求port1和port2交叉互联。IRF的连接拓扑有两种:链形连接和环形连接。
·链形连接对成员设备的物理位置要求比环形连接低,主要用于成员设备物理位置分散的组网。
·环形连接比链形连接更可靠。因为当链形连接中出现链路故障时,会引起IRF分裂;而环形连接中某条链路故障时,会形成链形连接,IRF的业务不会受到影响。

任务二:IRF环境下文件系统测试

对于单独运行的设备,直接使用存储介质的名称就可以访问设备的文件系统。对于IRF中的成员设备,直接使用存储介质的名称可以访问主设备的文件系统,使用“slotMember-ID#存储介质的名称”才可以访问从设备的文件系统。

可以看到,不同设备存储的文件系统仍然是存在差别的,但是版本文件、配置文件等信息保持一致。由于做了IRF之后,无论从哪一台设备上登录,看到的系统都是一样的,所以直接使用存储介质的名称只能访问主设备的文件系统;如果访问单独的设备,需要使用“slotMember-ID#存储介质的名称”来操作。
可以通过display irf来判断当前登录的设备,一般是通过console口登录才有区别。(*号表示Master设备,+号表示当前用户登陆的设备)

任务三:IRF设备主设备故障测试

IRF技术使用了严格的配置文件同步机制,来保证IRF中的多台设备能够像一台设备一样在网络中工作,并且在主设备出现故障之后,其余设备仍能够正常执行各项功能。
·IRF中的从设备在启动时,会自动寻找主设备,并将主设备的当前配置文件同步到本地并执行;如果IRF中的所有设备同时启动,则从设备会将主设备的起始配置文件同步至本地并执行。
·在IRF正常工作后,用户所进行的任何配置,都会记录到主设备的当前配置文件中,并同步到IRF中的各个设备执行。
通过即时的同步,IRF中所有设备均保存有相同的配置文件,即使主设备出现故障,其它设备仍能够按照相同的配置文件执行各项功能。
1、两台设备环境下,如果IRF分裂,再重新堆叠,使用前述角色选举规则进行选举,此处不再测试;
2、本例中,三台设备做IRF链形连接,此时测试将SW1和SW2之间的连线断开,查看结果。

可以看到,SW1分裂后认为自己是Master。查看运行配置,只有当前设备配置信息,而查看保存的配置信息,仍然是IRF环境下的配置信息。

另一方面,分裂之后,SW2和SW3重新选举,可以看到SW2选举为Master,运行配置中仅包含当前两台设备的配置信息,而查看保存的配置信息,仍然是IRF环境下的配置信息。

此时也可以再行拆分,即可验证两台设备环境下的IRF分裂场景。

可以看到,现在三台设备都认为自己是Master设备,并且设备名称都是SW1。接下来,我们先恢复SW2和SW3之间的连线。

可以看到,SW2仍然是Master。此时,我们再恢复SW1和SW2之间的连线。

发现此时适用第二条规则,SW1优先级最高,所以选举为主设备。接下来,我们将SW1下电进行测试。

发现此时适用第一条规则,IRF不会因为有新的成员设备加入而重新选举主设备。因为SW1断电之后,SW2选举为Master,而SW1重启后,相当于重新加入IRF,所以不会重新选举,SW2继续成为Master。

任务四:IRF设备备设备故障测试

本操作主要测试备设备故障后,更换设备是否有影响。首先确认IRF成员状态如下:

发现SW2为Master,SW1和SW3为Standby。正常情况下,设备运行时,肯定会有配置变更,此时我们将SW3的接口G3/0/3修改为trunk模式,并放通所有VLAN。

保存配置,也可以看出,配置先保存到主设备,再保存到备设备上。此时运行配置和保存配置中均已存在接口配置。

此时我们将SW3下架,模拟设备损坏,同时换上一台新设备,只配置IRF接入的相关配置,本次替换IRF接口,测试设备上线之后和之前的差别。

irf member 1 renumber 3
save force
reboot
interface Ten-GigabitEthernet3/0/50
shutdown
irf-port 3/1
 port group interface Ten-GigabitEthernet3/0/50
interface Ten-GigabitEthernet3/0/50
undo shutdown
save force
irf-port-configuration active

测试过程中尝试将本端配置为irf-port 3/2,出现报错,所以需要修改为irf-port 3/1,说明两端端口索引不能相同。

%Dec 17 09:54:04:940 2019 H3C DSTM/1/DRV_DSTM: STM stackability check: IRF port index conflict. Self port index is 2, peer port index is 2.
%Dec 17 09:54:04:940 2019 H3C STM/3/STM_SOMER_CHECK: Neighbor of IRF port 2 can't be stacked.

查看接口配置:

成员设备的接口配置应用了主设备的配置信息。

IRF端口配置同步了最新的状态,说明不会因为替换IRF端口而导致IRF堆叠失败。

补充测试任务:

测试任务四时,第一步修改优先级时没有修改成功,导致测试步骤成了接入IRF,断开线路使IRF分裂,然后再加入IRF,测试命中第二条规则,导致SW4竞选成为Master。
此时再将SW4断开连接,SW1竞选为新的Master。

此时我们将SW1重启,让SW2重新抢占为Master。

然后新建一台SW5,测试修改优先级的加入情况。

irf member 3 priority 10

发现仍然是SW5抢占为Master。原因如下:
设备成员编号非默认的情况下,需要修改成员编号,而修改之后需要重启,此时该设备认为自己是Master,则进行第二轮匹配,因为优先级高于当前主设备,所以会抢占为主。
所以在替换设备时,为保证业务不中断,需要保证新设备的优先级不高于当前主设备。

本文地址:https://blog.csdn.net/gtj0617/article/details/107358861