6.2、IRF
今天,我们简单了解一下IRF技术,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 irf-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中所有成员设备的相关信息。
查看IRF端口配置信息。
查看IRF链路信息。
查看IRF的拓扑信息。
可以看到一台设备有两个IRF-PORT,主要是为了多台设备做堆叠使用,可以链形连接或者环形连接。而连接时,要求port1和port2交叉互联。IRF的连接拓扑有两种:链形连接和环形连接。链形连接对成员设备的物理位置要求比环形连接低,主要用于成员设备物理位置分散的组网;环形连接比链形连接更可靠。因为当链形连接中出现链路故障时,会引起IRF分裂;而环形连接中某条链路故障时,会形成链形连接,IRF的业务不会受到影响。
任务二:IRF环境下文件系统测试
对于单独运行的设备,直接使用存储介质的名称就可以访问设备的文件系统。对于IRF中的成员设备,直接使用存储介质的名称可以访问主设备的文件系统,使用“slotMember-ID#存储介质的名称”才可以访问从设备的文件系统。
可以通过指定存储路径查看成员设备SW1的配置文件。
通过指定存储路径查看成员设备SW2的配置文件。
通过指定存储路径查看成员设备SW3的配置文件。
可以看到,不同设备存储的文件系统仍然是存在差别的,但是版本文件、配置文件等信息保持一致。由于做了IRF之后,无论从哪一台设备上登录,看到的系统都是一样的,所以直接使用存储介质的名称只能访问主设备的文件系统;如果访问单独的设备,需要使用“slotMember-ID#存储介质的名称”来操作。
可以通过display irf来判断当前登录的设备,一般是通过console口登录才有区别。(*号表示Master设备,+号表示当前用户登陆的设备)
任务三:IRF设备主设备故障测试
IRF技术使用了严格的配置文件同步机制,来保证IRF中的多台设备能够像一台设备一样在网络中工作,并且在主设备出现故障之后,其余设备仍能够正常执行各项功能。
·IRF中的从设备在启动时,会自动寻找主设备,并将主设备的当前配置文件同步到本地并执行;如果IRF中的所有设备同时启动,则从设备会将主设备的起始配置文件同步至本地并执行。
·在IRF正常工作后,用户所进行的任何配置,都会记录到主设备的当前配置文件中,并同步到IRF中的各个设备执行。
通过即时的同步,IRF中所有设备均保存有相同的配置文件,即使主设备出现故障,其它设备仍能够按照相同的配置文件执行各项功能。
1、两台设备环境下,如果IRF分裂,再重新堆叠,使用前述角色选举规则进行选举,此处不再测试;
2、本例中,三台设备做IRF链形连接,此时测试将SW1和SW2之间的连线断开,查看结果。
查看IRF中所有成员设备的相关信息。
可以看到,SW1分裂后认为自己是Master。查看运行配置,只有当前设备配置信息,而查看保存的配置信息,仍然是IRF环境下的配置信息。
另一方面,分裂之后,SW2和SW3重新选举,可以看到SW2选举为Master。
运行配置中仅包含当前两台设备的配置信息,而查看保存的配置信息,仍然是IRF环境下的配置信息。
此时也可以再行拆分,即可验证两台设备环境下的IRF分裂场景。
在SW2上查看,设备的成员编号是2,但是设备名称是SW1,且认为自己是Master设备。
在SW2上查看,设备的成员编号是3,设备名称同样是SW1,且认为自己是Master设备。
接下来,我们先恢复SW2和SW3之间的连线。
可以看到,SW2仍然是Master。此时,我们再恢复SW1和SW2之间的连线。
设备日志显示进行了重新选举,此时SW1再次选举为Master设备。
发现此时适用第二条规则,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,测试修改优先级的加入情况。
修改设备优先级为10。
irf member 3 priority 10
查看IRF中所有成员设备的相关信息。
发现仍然是SW5抢占为Master。原因如下:
设备成员编号非默认的情况下,需要修改成员编号,而修改之后需要重启,此时该设备认为自己是Master,则进行第二轮匹配,因为优先级高于当前主设备,所以会抢占为主。
所以在替换设备时,为保证业务不中断,需要保证新设备的优先级不高于当前主设备。