IRF角色:
- Master 负责管理整个IRF。
- Slave:作为Master的备份设备运行。当Master设备出现故障时,会从Slave中选举一个新的Master接替原Master工作。一个IRF中只能同时存在一台Master,其他设备都是Slave。
分裂机制:
一个IRF形成后,由于IRF链路故障,IRF中两相邻的成员设备物理上不连通,一个IRF变为两个IRF,这个过程就是IRF分裂。
IRF运行模式与配置方式:
IRF的运行模式分为IRF模式与独立运行模式,设备出厂时默认处于独立运行模式。若本次运行过程中,没有修改设备的运行模式,则下次启动时会继续使用本次启动的运行模式。如果在运行过程中修改了设备的运行模式,则设备会自动重启,切换到新的模式。
IRF工作原理:
-
物理连接
要形成一个IRF,需要先连接成员设备的IRF物理端口。
-
拓扑收集
每个成员设备和邻居成员设备通过交互IRF Hello报文来收集整个IRF的拓扑。IRF hello报文会携带拓扑信息,具体包括IRF端口连接关系、成员设备编号、成员设备优先级、成员设备的桥MAC等。
-
角色选举
角色选举会在拓扑变更的情况下进行。例如,IRF建立、新设备加入、Master设备的离开或者故障、IRF合并。
选举规则:
当Master优先(IRF系统形成时,没有Master设备,所有加入的设备都认为自己是Master)
成员优先级大的优先
系统运行时间长的优先
-
桥Mac地址小的优先
从第一条开始判断,如果有多个最优结果,则进行下一条判断。
-
IRF管理与维护
角色选举完毕后,IRF形成,所有成员设备组成一台虚拟设备存在于网络中,所有成员设备上的资源归虚拟设备,并由Master统一管理。
(1) 成员编号
在运行过程中,IRF使用成员编号来标示和管理成员设备,并在端口编号和文件系统中引入成员编号的标识信息。用户在设备加入IRF前需要统一规划配置设备的成员编号,以保证IRF中成员编号的唯一性。
(2) 文件系统命名规则
对于IRF中的设备,直接使用存储介质的名称,可以访问Master设备的文件系统,使用“slotmember-ID#存储介质的名称” 才能访问slave设备的文件系统。
(3) 配置文件的同步
IRF中的slave设备在启动时,会自动寻找Master设备,并将Master设备的当前配置文件同步到本地并执行;若IRF中的所有设备同时启动,则Slave设备会将Master设备的起始配置文件同步到本地并执行。
在IRF正常工作后,用户所进行的任何配置,都会记录到master设备的当前配置文件中,并同步到IRF中的各个设备执行;用户在执行save命令时,如果开启了配置文件同步保存功能(默认为开启),master设备的当前配置文件将被同步保存到IRF的所有成员设备上,作为起始配置文件,以便使IRF中所有设备的起始配置文件保持统一;如果未开启配置文件同步保存功能,当前配置文件将仅在master设备上进行保存。通过即时的同步,IRF中所有设备均保存有相同的配置文件,即使master设备出现故障,其他设备仍然能够按照相同的配置文件执行各项功能。
-
IRF拓扑维护
如果成员Adown,或者IRF链路Down,邻居设备会立即广播‘A设备离开’。获取到离开信息的成员设备会判断离开的是Master还是slave,如果是Master,会进行Master选举,否则立即更新IRF拓扑。
多IRF冲突检测
-
分裂检测:
通过LACP或者免费ARP来检测网络中是否存在多个IRF。
-
冲突处理:
检测到网络中存在其他处于Active状态的IRF,冲突处理会让Master 成员编号最小的IRF继续工作,其他的IRF会迁移到Recover 状态,并关闭Recovery状态IRF中所有成员设备上除保留端口以外的其他所有物理端口,保证该IRF不在转发业务报文。默认情况下,只有IRF物理端口是保留端口,如果要将其他端口(如用于远程登录的端口)也作为保留端口,需要使用命令行进行手工配置。
-
MAD故障恢复:
IRF链路故障导致IRF分裂,从而引起多active冲突。因此修复故障的IRF链路,使冲突的IRF重新合并为一个IRF,就能恢复MAD故障。若在MAD故障恢复前,处于recovery状态的IRF也出现了故障,则需要将故障IRF和故障链路都修复后,才能让冲突的IRF重新合并为一个IRF,恢复MAD故障;若再MAD故障恢复前,故障的是active状态的IRF,则可以通过命令行先启用recovery状态的IRF,让它接替原IRF工作,以便保证业务尽量少受影响,再恢复MAD故障。
配置案例
实验拓扑
-
配置A 为Master
#设置成员号以及优先级 irf member 1 priority 4 #将需要加入irf-port的端口关闭,并加入相应的IRF Group int range Ten-GigabitEthernet 1/0/49 to Ten-GigabitEthernet 1/0/52 shut irf-port 1/1 port group interface Ten-GigabitEthernet 1/0/49 port group interface Ten-GigabitEthernet 1/0/50 port group interface Ten-GigabitEthernet 1/0/51 port group interface Ten-GigabitEthernet 1/0/52 int range Ten-GigabitEthernet 1/0/49 to Ten-GigabitEthernet 1/0/52 undo shut # 激活IRF irf-port-configuration active
-
配置B为Slave
# 设置成员号以及优先级,H3C设备模式mem 为1 ,需要修改为2 irf mem 1 retu 2 irf mem 2 pri 3 #将需要加入irf-port的端口关闭,并加入相应的IRF Group int range Ten-GigabitEthernet 2/0/49 to Ten-GigabitEthernet 2/0/52 shut irf-port 2/2 port group interface Ten-GigabitEthernet 2/0/49 port group interface Ten-GigabitEthernet 2/0/50 port group interface Ten-GigabitEthernet 2/0/51 port group interface Ten-GigabitEthernet 2/0/52 int range Ten-GigabitEthernet 2/0/49 to Ten-GigabitEthernet 2/0/52 undo shut # 激活IRF irf-port-configuration active
连接心跳线。
配置BFD
vlan 4000
interface Vlan-interface4000
description **IRF_BFD**
mad bfd enable
mad ip address 1.1.1.1 255.255.255.252 member 1
|| mad ip address 1.1.1.2 255.255.255.252 member 2
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 4000
undo stp enable
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 4000
undo stp enable