概述
IRF(Intelligent Resilient Framework,智能弹性架构)是H3C自主研发的软件虚拟化技术。它的核心思想是将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。理解为堆叠有助于我们更快理解。
优势
- S5820V2-52Q/S5820V2-52QF/S5820V2-54QS-GE 交换机上的所有 10GE 以太网口、SFP+口或QSFP+口以及 S5830V2-24S 交换机上的所有 SFP+口都可以用于 IRF 连接。如果选择 10GE 以太网口或 SFP+口作为 IRF 物理端口,需要注意的是:
- S5820V2-52QF/S5830V2-24S 设备上的 SFP+口根据端口编号进行分组,从编号 1 开始,按端口编号由小到大的顺序,每4个SFP+口分为一组。同一组中的所有端口用途必须相同,即必须同时作为普通业务端口或 IRF 物理端口。
- S5820V2-52Q 设备上的 10GE 以太网口根据端口编号进行分组,从编号 1 开始,按端口编号由小到大的顺序,每 4 个 10GE 以太网口分为一组。同一组中的所有端口用途必须相同,即必须同时作为普通业务端口或 IRF 物理端口。
- S5820V2-54QS-GE设备上的 4个 SFP+口用途必须相同,即必须同时作为 IRF物理端口或普通业务端口。
- 在将某个 10GE 以太网口或 SFP+口与 IRF 端口进行绑定或取消绑定之前,必须先对该接口所在组内的所有接口执行 shutdown 操作;在完成绑定或取消绑定操作后,再对同组内所有接口执行 undo shutdown 操作。使用接口批量配置功能可以更快捷的完成以上操作。
IRF的相关基本概念
1、角色IRF中每台设备都称为成员设备,成员设备按照功能不同,分为两种角色:
- master:负责管理整个IRF。
- slave:作为master的备份设备运行,当master故障时,系统会自动从slave中选举出一个新的master接替原master工作。
master和slave均由成员设备选举产生。一个IRF中同时只能存在一台master,其他成员设备都是slave。
2、IRF端口:一种专用于IRF的逻辑结构,分为IRF-port1和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前,可以通过命令行手动提高该设备的成员优先级。
- IlRF堆叠中的成员设备分为Master设备和Slave设备。
- 成员设备上用于堆叠连接的物理端口称为物理堆叠口。
- 物理堆叠口需要和逻辑堆叠口绑定,逻辑堆叠口简称为维叠口。
- 由多个物理堆叠口聚合的堆叠口称为聚合堆叠口。
IRF的运行模式与配置方式
IRF的运行模式分为IRF模式和独立运行模式,设备出厂时默认处于独立运行模式。若在本次运行过程中,没有修改设备的运行模式,则下次启动会继续使用本次启动的运行模式;若在本次运行过程中,修改了设备的运行模式,则设备会自动重启,切换到新的模式。
当设备从独立模式切换到IRF模式后,即使只有一台设备也会形成IRF,因为管理和维护IRF也需要耗费一定的系统资源,所以,如果当前组网设中设备不需要和别的设备组成IRF,建议将运行模式配置为独立运行模式。
chassis convert mode irf命令用来将设备的运行模式切换到IRF模式。工作原理
IRF的角色选举
IRF分为四阶段:物理连接、设备间通过IRF端口进行信息收集、选举主备关系、IRF自行维护。只需了解选举规则以及分裂处理机制,其它信息不必深入。如果有需要可以单独debugIRF信息即可。
确定成员设备角色为master或slave的过程称为角色选举,角色选举会在拓扑变更的情况下产生,如IRF建立、新设备加入、master设备离开或故障等。
角色选举规则如下:当前master优先(IRF系统形成时,没有master设备,所有加入的设备都认为自己是master,会跳转到第二条规则继续比较)。
- 成员优先级大的优先。
- 系统运行时间长的优先。
- 桥(交换机设备)MAC地址小的优先。
从上面第一条开始判断,若判断的结果是多个最优,则继续判断下一条,直到找到唯一最优的成员设备才停止比较。此最优成员设备就是master,其他成员设备就都是slave咯。
分裂机制
(1)IRF分裂分为两种情况,主机或者备机整机down掉,那么OK直接更换新设备即可。
(2)如果是IRF链路或者端口down掉,主备之间需要IRF的心跳线(MAD检测)彼此互换IRF信息。为避免二层信息混乱,IRF是让备机完全处于停机状态,It really doesnt work .
关于IRF的相关理论知识还有它的工作原理、管理和维护及多IRF冲突检测(MAD功能)等等,这里就不说了(我懒),可以参考网络虚拟化IRF技术,这个链接上关于IRF介绍的很详细了。
IRF分裂
一个IRF形成后,由于IRF链路故障,导致IRF中两相邻成员设备不连通,一个IRF分裂成两个IRF,这个过程称为IRF分裂。
常用名词
工作流程
Master设备选举规则
IRF堆叠协议热备份
- 堆叠组内的所有交换机会自动同步配置文件,但是成员交换机允许过程中产生缓存表项并不包含在配置文件中
- 热备份机制会自动吧运行过程中的缓存表项进行同步,比如邻居表、协议路由表、ARP表等。
IRF形成的必要条件
- 堆叠口中的物理接口必须使万兆以上的接口
- 一台设备上最多有2个堆叠口
- 一台设备的1号堆叠口必须连接到另一台设备的2号堆叠口
- 一台设备上的2号堆叠口对应的物理口的ID必须大于1号堆叠口对应的物理口的ID
-
配置步骤
更改设备编号
- 保存配置,手动重启更改了设备ID的交换机
- 手动Shutdown要加入到堆叠口中的物理口
- 创建虚拟堆叠口,并加入相应的物理口
- 手动开启物理口
- 保存配置
- 激活IRF配置
相关命令
| [h3c]irf-port ‘member-id/port-id’ | 创建IRF堆叠口 | | —- | —- | | [h3c-irf-port1/1]port group interface ‘port-id’ | 物理口加入到堆叠口 | | [h3c]irf member ‘member-id’ renumber ‘new-member-id’ | 更改IRF设备ID | | [h3c]irf-port-configuration active | 激活IRF配置 | | display irf topology | 如果表中有两台设备存在就算建立成功了 |
交换机 IRF 设备 ID 与设备编号一致,所以修改 IRF 设备 ID,并保存配置后,重启生效后才可进行后续配置
irf domain
irf domain命令用来配置IRF域编号。
undo irf domain命令用来恢复缺省情况。
【命令】
irf domain domain-id
undo irf domain
【缺省情况】
IRF的域编号为0。
【使用指导】
为了适应各种组网应用,同一个网络里可以部署多个IRF。多个IRF之间使用不同的域编号以示区别。
如果LACP MAD、ARP MAD、或ND MAD组网的中间设备本身也是一个IRF系统,则必须配置该命令确保IRF和中间设备的IRF域编号不同,否则可能造成检测异常,甚至导致业务中断。
IRF中的所有成员设备都共用这个IRF域编号。在IRF设备上使用irf domain、mad enable、mad arp enable、mad nd enable命令均可修改全局IRF域编号,最新的配置生效。请按照网络规划来修改IRF域编号,不要随意修改。
【举例】
# 配置IRF的域编号为10。
[Sysname] irf domain 10
1.1.9 irf link-delay
irf link-delay命令用来配置IRF链路状态变化的延迟上报时间。
undo irf link-delay命令用来恢复缺省情况。
【命令】
irf link-delay interval
undo irf link-delay
【缺省情况】
IRF链路状态变化延迟上报时间为4秒。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interval:表示IRF链路状态变化的延迟上报时间,取值范围为0~10000,单位为毫秒。取值为0时,表示不延迟。
【使用指导】
如果IRF链路的不稳定状态持续时间不超过延迟上报时间,则不会导致IRF分裂。
需要注意的是,本系列设备仅对IRF端口的状态变化做延迟上报处理,IRF物理端口的状态变化会立即上报。
【举例】
# 配置IRF链路状态变化的延迟上报时间为300毫秒。
[Sysname] irf link-delay 300
1.1.10 irf mac-address persistent
irf mac-address persistent命令用来配置IRF桥MAC的保留时间。
undo irf mac-address persistent命令用来配置IRF桥MAC不保留,立即变化。
【命令】
irf mac-address persistent { always | timer }
undo irf mac-address persistent
【缺省情况】
IRF桥MAC的保留时间为6分钟。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
always:配置IRF桥MAC永久保留。如果配置了MAC地址永久保留,则无论IRF桥MAC拥有者是否离开IRF,IRF桥MAC始终保持不变。
timer:配置IRF桥MAC的保留时间为6分钟。如果配置了桥MAC保留时间为6分钟,则当IRF桥MAC拥有者离开IRF时,IRF桥MAC在6分钟内不变化。如果IRF桥MAC拥有者在6分钟内重新又加入IRF,则IRF桥MAC不会变化。如果6分钟后IRF桥MAC拥有者没有回到IRF,则会使用IRF当前主设备的桥MAC作为IRF桥MAC。
【使用指导】
IRF桥MAC保留时间是指在桥MAC拥有者离开IRF后,IRF可以继续使用当前桥MAC的时间。
如果配置了MAC地址不保留,立即变化,当IRF桥MAC拥有者离开IRF时,系统立即会使用IRF中当前主设备的桥MAC做IRF桥MAC。
当使用ARP MAD/ND MAD和MSTP组网时,需要将IRF配置为MAC地址立即改变,即配置undo irf mac-address persistent命令,以避免流量中断。
当使用链型拓扑搭建IRF,且IRF与其他设备之间有聚合链路存在时,如果需要重启主设备,请不要使用undo irf mac-address persistent命令配置IRF的桥MAC立即变化,否则可能会导致数据传输的延时甚至丢包。
当IRF设备上存在跨成员设备的聚合链路时,请不要使用undo irf mac-address persistent命令配置IRF的桥MAC立即变化,否则可能会导致流量中断。
缺省情况下,IRF的桥MAC为IRF中当前主设备的桥MAC。
如果两台物理设备的桥MAC相同,则它们不能合并为一个IRF。IRF的桥MAC不受此限制,只要成员设备自身桥MAC唯一即可。
【举例】
# 配置IRF的桥MAC保留时间为永久保留。
[Sysname] irf mac-address persistent always
1.1.11 irf member description
irf member description命令用来配置IRF中成员设备的描述信息。
undo irf member description命令用来恢复缺省情况。
【命令】
irf member member-id description text
undo irf member member-id description
【缺省情况】
未配置成员设备的描述信息。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
member-id:表示设备在IRF中的成员编号。
text:设备的描述信息,为1~127个字符的字符串。
【举例】
# 配置成员设备1的描述信息为F1Num001。
[Sysname] irf member 1 description F1Num001