博文目录
一、IRF概述
二、IRF具有哪些优点
三、IRF的基本概念
1、角色
2、IRF端口
3、IRF物理端口
4、IRF合并
5、IRF分裂
6、成员优先级
四、IRF的运行模式与配置方式
五、IRF的工作原理
1、物理连接
2、拓扑收集
3、角色选举
4、IRF的管理与维护
六、多IRF冲突检测(MAD功能)
1、多IRF冲突检测的定义和功能
2、多IRF冲突检测的方式和原理
七、配置IRF
八、IRF和MAD涉及的查询类命令如下
一、IRF概述
IRF(Intelligesilient Framework,智能弹性架构)是H3C自主研发的硬件虚拟化技术。它的核心思想是将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。使用这种虚拟化技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。
目前的IRF是一种将多个设备虚拟为单一设备使用的通用虚拟化技术,此技术已经应用于高、中、低端多个系列的交换机设备,通过IRF技术形成的虚拟设备具有更高的扩展性、可靠性及性能。
二、IRF具有哪些优点?
- 简化管理:IRF形成之后,用户通过任意成员设备的任意端口都可以登录IRF系统,对IRF内所有成员设备进行统一管理。
- 高可靠性:IRF的高可靠性体现在多个方面。例如,IRF由多台成员设备组成,master设备负责IRF的运行、管理和维护,slave设备在作为备份的同时也可以处理业务。一旦master设备故障,系统会迅速自动选举新的master,以保证业务不中断,从而实现了设备的1:N备份。此外,成员设备之间的IRF链路支持聚合功能,IRF和上、下层设备之间的物理链路也支持聚合功能,多条链路之间可以互为备份也可以进行负载分担,从而进一步提高了IRF的可靠性。
- 扩展力:通过增加成员设备,可以轻松自如地扩展IRF的端口数,带宽。因为各成员设备都有CPU,能够独立处理协议报文及进行报文转发,所以IRF还能够轻松自如地扩展处理能力。
三、IRF的基本概念
1、角色
IRF中每台设备都称为成员设备,成员设备按照功能不同,分为两种角色:
- Master:负责管理整个IRF。
- Slave:作为master的备份设备运行。当master故障时,系统会自动从slave中选举一个新的master接替原master工作。
master和slave均由成员设备选举产生。一个IRF中同时只能存在一台master,其他成员设备都是slave。
2、IRF端口
一种专用于IRF的逻辑端口,分为IRF-Port2,需要和IRF物理端口绑定之后才能生效。
3、IRF物理端口
设备上可以用于IRF连接的物理端口。IRF物理端口可能是IRF专用接口,以太网接口或者光口(设备上哪些端口可用作IRF物理端口与设备型号有关,要以实际情况为准)。通常情况下,以太网接口和光口负责向网络中转发业务报文,当它们与IRF端口绑定后就成为了IRF物理端口,用于成员设备之间转发报文。可转发的报文包括IRF相关协商报文及需要跨成员设备转发的业务报文。
4、IRF合并
两个IRF各自已经稳定运行,通过物理连接和必要的配置,形成一个IRF,这个过程就是IRF合并。
5、IRF分裂
一个IRF形成后,由于IRF链路故障,IRF中两相邻成员设备物理上不连通,一个IRF变成两个IRF,这个过程就是IRF分裂。
6、成员优先级
成员优先级是成员设备的一个属性,主要用于角色选举过程中确定成员设备的角色。优先级越高当选master的可能性越大,设备的默认优先级为1,如果想让某台设备当选master,则在组建IRF前,可以通过命令行手动提高该设备的成员优先级。
四、IRF的运行模式与配置方式
IRF的运行模式分为IRF模式和独立运行模式,设备出厂时默认处于独立运行模式。若在本次运行过程中,没有修改设备的运行模式,则下次启动会继续使用本次启动的运行模式;若在本次运行过程中,修改了设备的运行模式,则设备会自动重启,切换到新的模式。
chassis convert mode irf命令用来将设备的运行模式切换到IRF模式。
配置方式分为预配置方式和非预配置方式。预配置方式是在独立运行模式的设备上进行IRF相关配置,最终组成IRF只需要重启一次。非预配置方式是先在独立运行模式的设备上配置成员编号,然后切换到IRF模式,再配置IRF端口、成员优先级等相关参数。slave设备需要重启两次才能组成IRF。
五、IRF的工作原理
1、物理连接
要形成一个IRF,需要先连接成员设备的IRF物理端口。
2、拓扑收集
每个成员设备和邻居成员设备通过交互IRF Hello报文来收集整个IRF的拓扑。IRF Hello报文会携带拓扑信息,具体包括IRF端口连接关系、成员设备编号、成员设备优先级、成员设备的桥MAC等内容。
3、角色选举
确定成员设备角色为master或slave的过程称为角色选举,角色选举会在拓扑变更的情况下产生,如IRF建立、新设备加入、master设备离开或故障、两个IRF合并等。
角色选举规则如下:
- 当master优先(IRF系统形成时,没有master设备,所有加入的设备都认为自己是master,会跳转到第二条规则继续比较)。
- 成员优先级大的优先。
- 系统运行时间长的优先。
- 桥MAC地址小的优先。
从第一条开始判断,若判断的结果是多个最优,则继续判断下一条,直到找到唯一最优的成员设备才停止比较。此最优成员设备就是master,其他成员设备就都是slave。
4、IRF的管理与维护
角色选举完成之后,IRF形成,所有的成员设备组成一台虚拟设备存在于网络中,所有成员设备上的资源归该虚拟设备拥有并由master统一管理。
1)成员编号
在运行过程中,IRF系统使用成员编号(Master ID)来标志和管理成员设备,并在端口编号和文件系统中引入成员编号的标识信息。该编号关系到整个IRF的管理和运行,因此,需要用户在设备加入IRF前统一规划、配置设备的成员编号,以保证IRF中成员编号的唯一性。
2)接口命名规则
对于单独运行的设备(即没有加入任何IRF),接口编号采用设备编号/子槽位编号/接口序号的格式,其中,默认情况下,设备编号为1。若设备曾经加入过IRF,则在退出IRF后,仍然会使用在IRF中时的成员编号作为自身的设备编号。子槽位编号即接口所在子槽位的编号。成员设备编号用来标识不同成员设备上的接口。子槽位编号和接口序号的含义及取值与单独运行时一样。
3)文件系统命名规则
对于IRF中的成员设备,直接使用存储介质的名称可以访问master设备的文件系统,使用“slotmember-ID#存储介质的名字”才可以访问slave设备的文件系统。
4)配置文件的同步
IRF技术使用了严格的配置文件同步机制,来保证IRF中的多台设备能够像一台设备一样在网络中工作,并且在master设备出现故障之后,其余设备仍能够正常执行各项功能。
IRF中的slave设备在启动时,会自动寻找master设备,并将master设备的当前配置文件同步到本地并执行;若IRF中的所有设备同时启动,则slave设备会将master设备的起始配置文件同步至本地并执行。
在IRF正常工作后,用户所进行的任何配置,都会记录到master设备的当前配置文件中,并同步到IRF中的各个设备执行;用户在执行save命令时,如果开启了配置文件同步保存功能(默认为开启),master设备的当前配置文件将被同步保存到IRF的所有成员设备上,作为起始配置文件,以便使IRF中所有设备的起始配置文件保持统一;如果未开启配置文件同步保存功能,当前配置文件将仅在master设备上进行保存。通过即时的同步,IRF中所有设备均保存有相同的配置文件,即使master设备出现故障,其他设备仍然能够按照相同的配置文件执行各项功能。
5)IRF拓扑维护
如果某成员设备A down或者IRF链路down,其邻居设备会立即将“成员设备A离开”的信息广播通知给IRF中的其他设备。获取到离开消息的成员设备会根据本地维护的IRF拓扑信息表来判断离开的是master还是slave,如果离开的是master,则触发新的角色选举,再更新本地的IRF拓扑;如果离开的是slave,则直接更新本地的IRF拓扑,以保证IRF拓扑能迅速收敛。
六、多IRF冲突检测(MAD功能)
当存在多个IRF时会涉及一下问题。
1、多IRF冲突检测的定义和功能
IRF链路故障会导致一个IRF变成两个新的IRF。这两个IRF拥有相同的IP地址等三层配置,会引起地址冲突,导致故障在网络中扩大。为了提高系统的可用性,当IRF分裂时需要一种机制能够检测出网络中同时存在多个IRF,并进行相应的处理,以尽量降低IRF分裂对业务的影响。MAD(Multi-Active Detection,多Active检测)就是这样一种检测和处理机制。它主要提供以下功能。
1)分裂检测:通过LACP(Link Aggregation Control Protocol,链路聚合控制协议)或者免费ARP(Gratuitous Address Resolution Protocol)来检测网络中是否存在多个IRF。
2)冲突处理:IRF分裂后,通过分裂检测机制IRF会检测到网络中存在其他处于active状态(标识IRF处于正常工作状态)的IRF。冲突处理会让master成员编号最小的IRF继续正常工作(维持active状态),其他IRF会迁移到recovery状态(表示IRF处于禁用状态),并关闭recovery状态IRF中所有成员设备上除保留端口以外的其他所有物理端口(通常为业务接口),以保证该IRF不能再转发业务报文。
3)MAD故障恢复:IRF链路故障导致IRF分裂,从而引起多active冲突。因此修复故障的IRF链路,使冲突的IRF重新合并为一个IRF,就能恢复MAD故障。若在MAD故障恢复前,处于recovery状态的IRF也出现了故障,则需要将故障IRF和故障链路都修复后,才能让冲突的IRF重新合并为一个IRF,恢复MAD故障;若再MAD故障恢复前,故障的是active状态的IRF,则可以通过命令行先启用recovery状态的IRF,让它接替原IRF工作,以便保证业务尽量少受影响,再恢复MAD故障。
IRF分裂后,竞选失败的IRF会自动关闭所有成员设备上的部分端口(等效于在接口下执行shutdown命令),但有些端口不会被自动关闭,这些端口称为保留端口。默认情况下,只有IRF物理端口是保留端口,如果要将其他端口(如用于远程登录的端口)也作为保留端口,需要使用命令行进行手工配置。
2、多IRF冲突检测的方式和原理
IRF支持的MAD检测方式有LACP MAD检测、BFD MAD检测和ARP MAD检测。三种检测方式虽然原理不同但是功能效果相同,能够满足不同组网的需求。LACP MAD检测用于基于LACP的组网检测需求;BFD MAD检测用于基于BFD的组网检测需求;ARP MAD检测用于基于非聚合场合的Resilient ARP的组网检测需求。这三种方式独立工作,彼此之间互不干扰。因此,同一IRF内可以配置多种MAD检测方式。
1)LACP MAD检测的原理:LACP MAD检测时通过扩展LACP协议报文内容实现的,即在LACP协议报文的扩展字段内定义一个新的TLV(Type/Length/Value,类型/长度/值)数据域,用于交互IRF的Domain ID(域编号)和Active ID。当网络中同时存在多个IRF时(如IRF级联的组网情况),Domain ID用于区别不同的IRF。当某个IRF分裂时,Active ID用于MAD检测,用IRF中master设备的成员编号来表示。使能LACP MAD检测后,成员设备通过LACP协议报文和其他成员设备交互Domain ID和Active ID信息。
如上图所示,当成员设备收到LACP协议报文后,先比较Domain ID;如果Domain ID相同,再比较Active ID;如果Domain ID不同,则认为报文来自不同IRF,不再进行MAD处理。如果Active ID相同,则表示IRF正常运行,没有发生多Active冲突,如果Active ID不同,则表示IRF分裂,检测到多Active冲突。
2)BFD MAD检测的原理:BFD MAD检测是通过BFD协议实现的。要使BFD MAD检测功能正常运行,除在三层接口下使能BFD MAD检测功能外,还需要在该接口上配置MAD ID地址。MAD IP地址与普通IP地址不同的地方在于MAD IP地址与成员设备是绑定的,IRF中每个成员设备上都需要配置,且必须属于同一网段。
当IRF正常运行时,只有master上配置的MAD IP地址生效,slave设备上配置的MAD IP地址不生效,BFD会话处于down状态。可以通过display bfd session命令查看BFD会话的状态,若session state显示为up,则表示处于激活状态;若显示为down,则表示处于关闭状态。IRF分裂后会形成多个IRF,不同IRF中master上配置的MAD IP地址均会生效,BFD会话被激活,此时会检测到多Active冲突。
3)ARP MAD检测的原理:ARP MAD检测是通过扩展免费ARP协议报文内容实现的,即使用免费ARP协议报文中未使用的字段来交互IRF的Domain ID和active ID。domain ID和active ID的定义及比较方法同LACP MAD检测相同。使能ARP MAD检测后,成员设备可以通过免费ARP协议报文和其他成员设备交互domain IP和active ID信息。ARP MAD适用于使用MSTP双上行的组网。当IRF正常运行时,MSTP功能会阻塞某条链路,使免费ARP报文无法到达另一台成员设备,不会发生多active冲突。IRF分裂后会形成两个或多个IRF,MSTP将重新计算拓扑,原先阻塞的链路被打开,不同IRF中的成员设备便可以接收到另一个IRF发送的免费ARP协议报文,从而检测到多active冲突。
4)三种MAD检测的适用性分析如下表所示,一般来说,高可靠性要求下可以使用BFD MAD检测。
啰嗦了一大堆,原理性的东西也就说完了,下面简单配置一个IRF技术的案例。
七、配置IRF
1)路由器模拟PC机,软件问题没法模拟PC,路由器代替。
2)PC1及PC2分别属于vlan10和vlan20中,其各自对应的网关分别为192.168.10.1及192.168.20.1。配置在SW1和SW2上(SW1及SW2使用IRF技术虚拟化为一台三层交换机)。
3)最终实现效果为:SW1和SW2宕掉其中任何一台,都不会影响PC1和PC2的通信。
1、开始配置:
首先配置基础部分(PC1、PC2、SW3及SW4):
PC1配置如下:
[PC1]int g0/0
[PC1-GigabitEthernet0/0]ip add 192.168.10.10 2
[PC1-GigabitEthernet0/0]undo shutdown
[PC1-GigabitEthernet0/0]quit
[PC1]ip route-static 0.0.0.0 0.0.0.0 192.168.10.1
PC2配置如下:(请参照PC1注释)
[PC2]int g0/0
[PC2-GigabitEthernet0/0]ip add 192.168.20.10 24
[PC2-GigabitEthernet0/0]undo shutdown
[PC2-GigabitEthernet0/0]quit
[PC2]ip route-static 0.0.0.0 0.0.0.0 192.168.20.1
SW3配置如下:
[SW3]int Bridge-Aggregation 1
[SW3-Bridge-Aggregation1]port link-type trunk
[SW3-Bridge-Aggregation1]port trunk permit vlan all
[SW3-Bridge-Aggregation1]link-aggregation mode dynamic
[SW3-Bridge-Aggregation1]quit
[SW3]int range GigabitEthernet 1/0/1 to GigabitEthernet 1/0/2
[SW3-if-range]port link-aggregation group 1
[SW3-if-range]port link-type trunk
[SW3-if-range]port trunk permit vlan all
[SW3-if-range]quit
[SW3]vlan 20
[SW3]quit
[SW3-vlan20]int g1/0/3
[SW3-GigabitEthernet1/0/3]port link-type access
[SW3-GigabitEthernet1/0/3]port access vlan 20
[SW3-GigabitEthernet1/0/3]quit
SW4配置如下:(参照SW3注释)
[SW4]interface Bridge-Aggregation 2
[SW4-Bridge-Aggregation2]port link-type trunk
[SW4-Bridge-Aggregation2]port trunk permit vlan all
[SW4-Bridge-Aggregation2]link-aggregation mode dynamic
[SW4-Bridge-Aggregation2]quit
[SW4]interface range GigabitEthernet 1/0/1 to GigabitEthernet 1/0/2
[SW4-if-range]port link-aggregation group 2
[SW4-if-range]port link-type trunk
[SW4-if-range]port trunk permit vlan all
[SW4-if-range]quit
[SW4]vlan 10
[SW4-vlan10]quit
[SW4]int g1/0/3
[SW4-GigabitEthernet1/0/3]port link-type access
[SW4-GigabitEthernet1/0/3]port access vlan 10
[SW4-GigabitEthernet1/0/3]quit
下面开始配置IRF技术
SW2配置如下(由于设备需要重启几次,所以重启前保存配置很重要):
[SW2]irf member 1 renumber 2
Renumbering the member ID may result in configuration change or loss. Continue?[Y/N]:y
[SW2]quit
save
The current configuration will be written to the device. Are you sure? [Y/N]:y
(To leave the existing filename unchanged, press the enter key):
reboot
This command will reboot the device. Continue? [Y/N]:y
[SW2]int range Ten-GigabitEthernet 2/0/50 to Ten-GigabitEthernet 2/0/51
[SW2-if-range]shutdown
[SW2-if-range]quit
[SW2]irf-port 2/2
[SW2-irf-port2/2]port group interface Ten-GigabitEthernet 2/0/50
You must perform the following tasks for a successful IRF setup:
Save the configuration after completing IRF configuration.
Execute the "irf-port-configuration active" command to activate the IRF ports.
[SW2-irf-port2/2]port group interface Ten-GigabitEthernet 2/0/51
[SW2-irf-port2/2]quit
[SW2]int range Ten-GigabitEthernet 2/0/50 to Ten-GigabitEthernet 2/0/51
[SW2-if-range]undo shutdown
[SW2-if-range]quit
[SW2]save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[SW2]irf-port-configuration active
SW1配置如下:(参照SW2注释)
[SW1]irf member 1 priority 32
[SW1]interface range Ten-GigabitEthernet 1/0/50 to Ten-GigabitEthernet 1/0/51
[SW1-if-range]shutdown
[SW1-if-range]quit
[SW1]irf-port 1/1
[SW1-irf-port1/1]port group interface Ten-GigabitEthernet 1/0/50
You must perform the following tasks for a successful IRF setup:
Save the configuration after completing IRF configuration.
Execute the "irf-port-configuration active" command to activate the IRF ports.
[SW1-irf-port1/1]port group interface Ten-GigabitEthernet 1/0/51
[SW1-irf-port1/1]quit
[SW1]int range Ten-GigabitEthernet 1/0/50 to Ten-GigabitEthernet 1/0/51
[SW1-if-range]undo shutdown
[SW1-if-range]quit
[SW1]irf-port-configuration active
[SW1]save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
当SW1设备激活IRF端口配置后,IRF组中优先级低的设备会自动重启,我这里激活后,大约二三十秒左右,SW2自动重启了。当SW2重启后,也就可以对这两台设备进行统一管理了,接下来的配置,在SW1或SW2上配置都可以,都是会同步的。
下面在SW1或SW2任意一台设备上配置聚合链路,并开启LACP MAD检测功能:
[SW1]int Bridge-Aggregation 1
[SW1-Bridge-Aggregation1]port link-type trunk
[SW1-Bridge-Aggregation1]port trunk permit vlan all
[SW1-Bridge-Aggregation1]link-aggregation mode dynamic
[SW1-Bridge-Aggregation1]mad enable
You need to assign a domain ID (range: 0-4294967295)
[Current domain is: 0]:
The assigned domain ID is: 0
MAD LACP only enable on dynamic aggregation interface.
[SW1-Bridge-Aggregation1]quit
[SW1]interface Bridge-Aggregation 2
[SW1-Bridge-Aggregation2]port link-type trunk
[SW1-Bridge-Aggregation2]port trunk permit vlan all
[SW1-Bridge-Aggregation2]link-aggregation mode dynamic
[SW1-Bridge-Aggregation2]mad enable
You need to assign a domain ID (range: 0-4294967295)
[Current domain is: 0]:
The assigned domain ID is: 0
MAD LACP only enable on dynamic aggregation interface.
[SW1-Bridge-Aggregation2]quit
将相应的端口添加至聚合链路中:
[SW1]interface GigabitEthernet 1/0/1
[SW1-GigabitEthernet1/0/1]port link-type trunk
[SW1-GigabitEthernet1/0/1]port trunk permit vlan all
[SW1-GigabitEthernet1/0/1]port link-aggregation group 2
[SW1-GigabitEthernet1/0/1]int g1/0/2
[SW1-GigabitEthernet1/0/2]port link-type trunk
[SW1-GigabitEthernet1/0/2]port trunk permit vlan all
[SW1-GigabitEthernet1/0/2]port link-aggregation group 1
[SW1-GigabitEthernet1/0/2]quit
[SW1]int g2/0/1
[SW1-GigabitEthernet2/0/1]port link-type trunk
[SW1-GigabitEthernet2/0/1]port trunk permit vlan all
[SW1-GigabitEthernet2/0/1]port link-aggregation group 2
[SW1-GigabitEthernet2/0/1]quit
[SW1]int g2/0/2
[SW1-GigabitEthernet2/0/2]port link-type trunk
[SW1-GigabitEthernet2/0/2]port trunk permit vlan all
[SW1-GigabitEthernet2/0/2]port link-aggregation group 1
[SW1-GigabitEthernet2/0/2]quit
创建相应的vlan,并配置IP地址(IP地址为两台PC机的网关)
[SW1]vlan 10
[SW1-vlan10]quit
[SW1]vlan 20
[SW1-vlan20]quit
[SW1]int vlan 10
[SW1-Vlan-interface10]ip add 192.168.10.1 24
[SW1-Vlan-interface10]undo shutdown
[SW1-Vlan-interface10]quit
[SW1]int vlan 20
[SW1-Vlan-interface20]ip add 192.168.20.1 24
[SW1-Vlan-interface20]undo shutdown
[SW1-Vlan-interface20]quit
已经可以ping通了,现在IRF已经正常运行了,SW1或SW2 down掉其中任何一台,都不会影响PC1和PC2的通信。
八、IRF和MAD涉及的查询类命令如下
[SW1]dis irf
MemberID Role Priority CPU-Mac Description
*+1 Master 3.2 206b-8b49-0104 ---
2 Standby 1 206b-9278-0204 ---
--------------------------------------------------
* indicates the device is the master.
+ indicates the device through which the user logs in.
The bridge MAC of the IRF is: 206b-8b49-0100
Auto upgrade : yes
Mac persistent : 6 min
Domain ID : 0
[SW1]
[SW1]display irf configuration
MemberID NewID IRF-Port1 IRF-Port2
1 1 Ten-GigabitEthernet1/0/50 disable
Ten-GigabitEthernet1/0/51
2 2 disable Ten-GigabitEthernet2/0/50
Ten-GigabitEthernet2/0/51
[SW1]
display irf configuration命令显示信息描述表如下:
[SW1]display irf topology
Topology Info
-------------------------------------------------------------------------
IRF-Port1 IRF-Port2
MemberID Link neighbor Link neighbor Belong To
2 DIS --- UP 1 206b-8b49-0104
1 UP 2 DIS --- 206b-8b49-0104
[SW1]
display irf topology命令显示信息描述表如下:
[SW1]display mad verbose
Multi-active recovery state: No
Excluded ports (user-configured):
Excluded ports (system-configured):
Ten-GigabitEthernet1/0/50
Ten-GigabitEthernet1/0/51
Ten-GigabitEthernet2/0/50
Ten-GigabitEthernet2/0/51
MAD ARP disabled.
MAD ND disabled.
MAD LACP disabled.
MAD BFD disabled.
[SW1]
display mad verbose命令显示信息描述表如下:
博文到此结束,感谢阅读!