浅析IRF虚拟化技术增强企业网络架构的弹性
[摘要]随着“云”时代到来和各种虚拟化技术日趋成熟,对传统企业网络架构提出新挑战。例如:在不破坏企业原有网络架构和资产投入情况下,可以为企业网络提供更好的扩展性,其中包括简化管理、简化网络运行、降低整体投入成本、扩展端口密度和带宽容量、保护用户投资,使企业网络具备高可用性和持续的、不间断的运行效果。为了达到此效果,可利用H3C的IRF虚拟化技术在企业网络架构中增强弹性,现浅析如下。
关键词:云时代、企业网络、虚拟化技术、持续不间断、IRF、简化管理
传统企业网络管理员经常提出如下一些典型问题:
典型问题1:企业网络接入层交换机端口紧张匮乏,需要对端口密集度进行扩容,如果使用常规“级联”方式来达到增加端口密集度效果,那么被新增入网的交换机将以一台独立被网管元件体现。这不能满足现代化网络管理要求,如果有一种技术能将新增入网多台交换机虚拟化为一台被网管的元件,感觉多台交换机就是一个整体,对于网管而言是非常开心的事情。
典型问题2:为了企业网络链路冗余,在传统网络架构中,网络管理员常常需要部署二层生成树(STP)或者三层冗余技术,在这个过程中将面对冗余环境成“网状式”似连接设备的各种角色选举,比如:STP选根桥,设备越多、网状辐射面越庞大,维护越复杂。如果网络管理员没有非常坚实的理论基础,面对这些冗余技术实现将是一件非常痛苦的事情。如果有一种技术能实现分布式二层冗余与三层弹性路由,这也是一件非常开心的事情。
典型问题3:使用传统堆叠技术不就可以将多台独立交换机看成一台逻辑设备(一个整体交换设备)了吗?这样理解不完全正确,因为传统堆叠技术可以扩展端口密集度,使多台交换机被看成一个逻辑整体,也能实现二层分布式转发;但是传统堆叠技术引发典型问题是:不能实现分布式三层转发和路由高可用性,也不能实现跨越多台交换机链路聚合等问题。
1、论点
综合上述企业网络中典型问题,H3C的IRF智能弹性框架(Intelligent Resilient Framework)将是一个不错的选择,它是H3C(华为3com)的一种网络架构虚拟化技术,IRF可以将多台物理设备(一般指交换机)互连形成一个Fabric(联合矩阵)。无论在管理还是在应用层面上,将被视为一个整体。它具备高可靠性,高扩展性,易用性,可管理性,实用性等特点。如下图1所示:
在图1所示的环境中交换机1和交换机2使用IRF技术形成了一个交换机联合矩阵IRF Fabric,此时交换机1和交换机2通过实施IRF后对外仅体现为一台交换设备,当然这台交换设备是被IRF虚拟化而成,端口密集度得到了扩展,其它的管理和应用特性也进行了集成,形成了一个整体。通过IRF来完成虚拟化时,按照人们正常的思考逻辑,会提出新一轮问题,也是理解IRF的关键。
ü 两台物理设备IRF虚拟化后,端口怎么编号?如果两台物理交换机的端口编号都是G2/0/1-G2/0/5,那么当配置虚拟交换机的某个端口时,比如:G2/0/2,会是配置物理设备1的G2/0/2,还是物理设备2的G2/0/2呢?
ü 两台物理设备IRF虚拟化后,两台物理设备上文件如何同步?
ü 两台物理设备IRF虚拟化后,谁是虚拟矩阵中主设备和从设备?
ü 两台物理设备IRF虚拟化后,与传统二层冗余技术、路由技术如何协同?
2、理论依据
2.1 关于IRF成员编号与虚拟矩阵最终呈现给用户端口编号原则
如图1所示,当两台物理设备被IRF虚拟化后,它们在IRF形成虚拟矩阵中必须要各自具备一个独一无二IRF成员ID,比如物理交换机1获得成员编号ID1,物理交换机2获得成员编号ID2,然后由于两台物理设备现在虚拟化成一台交换机,所以该虚拟交换机端口总数为两台物理设备端口总数之和,虚拟交换机端口编码将使用IRF成员ID+原始编号。比如:G1/2/0/2实际上是物理设备1上G2/0/2端口,G2/2/0/2则是物理设备2上G2/0/2端口,这样最终呈现给用户端口就好比一台交换机(注意此时交换机是指虚拟交换机)上有8个端口,被分布在2个模块上(G1/2/0/2-G1/2/0/5和G2/2/0/2-G2/2/0/5),这样可以解决虚拟交换机端口编码冲突问题。
2.2 两台物理设备经IRF虚拟化后,可在两台物理设备上解决文件同步问题
在被IRF虚拟化以后,所有配置将被区分为全局配置和局部配置。其中典型全局配置包括:三层接口、IP地址、路由协议、安全特性等。全局配置在整个Fabric(联合矩阵)内有效。局部配置主要包括端口参数等配置,局部配置只在Fabric(联合矩阵)中具体某台物理设备上有效。一个Fabric需要明确在系统运行任何时候全局配置都相同。
启动时进行配置比较,确保全局配置相同。在配置比较时将以IRF中最小ID物理设备的配置作为参照标准。
2.3 两台物理设备经IRF虚拟化后,可在虚拟矩阵中解决主从设备问题
在Fabric(联合矩阵)中会存在一台主设备(Master),其它设备都叫从设备(Slave),主设备功能是作为Fabric中全局配置参考基准,然后执行一些重要工作,比如路由下发等。主从设备需要选举产生,默认情况下,最小成员ID的物理设备将成为主设备。主设备一旦选举产生,请尽量维持它不变。
2.4 两台物理设备经IRF虚拟化后,可解决传统二层冗余技术与路由技术协同问题
两台物理设备经经IRF虚拟化后,传统的一些二层冗余技术,如STP将把Fabric(联合矩阵)仅看成是一台交换机,联合矩阵(也就是被IRF虚拟交换机)内所有端口都将参与STP角色选择,整个联合矩阵有唯一的根端口和BID。在以太通道(链路聚合)这个特性上,可以在联合矩阵内实现跨越不同设备链路聚合。
在联合矩阵路由特性上,由于三层接口在全局是同步的。一个三层接口可以包含联合矩阵内不同物理设备的端口。并且关于路由三层配置命令都是全局模式下生效,这样自然保证静态路由同步,也保证了IRF所支持动态路由协议配置同步。联合矩阵内各个物理设备的路由协议都在运行,计算并生成路由表。但是只有主设备路由表才会下载到FIB,然后FIB表将被同步到联合矩阵中各个物理设备上,并下载到ASIC中进行转发。
3、实验依据
实验目标:
ü 在H3C设备上实施IRF,论证IRF虚拟化后编号原则
ü 通过实验论证虚拟交换机配置文件同步,确定主从设备
ü 通过实验论证IRF能实施跨越不同物理单元链路聚合(以太网通道)
实验背景:
如图2所示网络环境中,要求将交换机S1和S2通过IRF虚拟化为交换机IRF_S,以扩展接入层端口密集度让物理交换机S1和S2形成统一网管元件;然在虚拟交换机IRF_S上与交换机S形成以太网通道(俗称链路聚合),以增加聚合链路冗余性和带宽容量。
实验步骤:
第一步:在执行IRF虚拟化之前,可以通过指令display current-Configuration查看交换机S1和S2配置文件,可以得到一个无可质疑的结论:交换机S1和S2上端口编号都是三维编号,而且都是从G2/0/1-G2/0/5,如图3所示。当在交换机S1和S2上配置IRF虚拟化后,根据在理论部分2.1关于IRF成员编号与虚拟矩阵最终呈现给用户端口编号的原则,交换机端口编号将由各自成员ID+原始编号生成新虚拟交换机编号。完成IRF配置后可以使用图4去对比图3的端口编号。
第二步:在交换机S1和S2上配置IRF虚拟化,配置IRF时有两种方式,一种是通过专用高速10G线缆来连接交换机S1和S2;另一种方案是通过常规吉比特以太线缆来连接S1和S2,在该环境中选择第二种方案,其实S1和S2相连的这根线缆,也叫做“心跳线”,是实现IRF功能一条关键线缆,因为当S1和S2被IRF成一台虚拟交换机时,这条“心跳线”将用于同步两台交换机配置以及检测和维护IRF状态。
[S1]irf member 1 * 为物理交换机S1配置IRF成员ID 1
[S1]chassis convert mode irf * 转换交换机的模式为IRF模式
<S1>reboot * 在这一步必须使用reboot重新启动设备,以进入IRF模式。
[S1]irf-port 1/1 * 在重启交换机后,进入IRF的端口1/1
[S1-irf-port 1/1]port group interface G1/2/0/1
*将物理接口G1/2/0/1捆绑到IRF端口。
[S1-irf-port 1/1]quit
[S1]interface G1/2/0/1 * 进入G1/2/0/1物理接口(成员ID1+原始端口编码)
[S1-GigabitEthernet 1/2/0/1]undoshutdown * 确保端口被激活。
[S1-GigabitEthernet 1/2/0/1]quit
[S1]irf-port-configuration active *激活IRF端口的配置
配置思路总结:
必须为每个IRF成员交换机建立不同成员ID,转换交换机工作模式到IRF模式,进入IRF端口,将连接“心跳线”物理端口,捆绑到IRF端口,确保物理端口被激活。特别需要注意的是“心跳线”物理端口原本是S1上G2/0/1,但是S1被IRF虚拟化后,变为了G1/2/0/1(成员ID1+原始端口编码),同理S2上G2/0/1被虚拟化后将变为G2/2/0/1(成员ID2+原始端口编码)。
IRF中第2个成员交换机的配置:
[S2]irf member 2 * 为交换机S2配置IRF的成员ID(必须与S1具备不同的ID)
[S2]chassis convert mode irf * 转换模式为IRF
<S2>reboot *必须使用reboot重新启动设备
[S2]irf-port 2/2 * 在重启交换机后,进入IRF的端口2/2
[S2-irf-port 1/1]port group interface G2/2/0/1
*将物理接口G2/2/0/1捆绑到IRF端口。
[S2-irf-port 1/1]quit
[S2]interface G2/2/0/1 *进入G2/2/0/1物理接口(成员ID2+原始端口编码)
[S2-GigabitEthernet 1/2/0/1]undoshutdown * 确保端口被激活。
[S2-GigabitEthernet 1/2/0/1]quit
[S2]irf-port-configuration active * 激活IRF端口的配置
注意:配置IRF第二个成员时,IRF端口连接必须遵守一个原则:成员1使用IRF端口1连接成员2的IRF端口2或者成员1使用IRF端口2连接成员2的IRF端口1;但是不可将成员1使用IRF端口1连接成员2的IRF端口1,关于这一点可参看H3C公司对RIF的白皮书文档!
第三步:现在来检测S1和S2IRF配置及同步情况,重新启动IRF中第2个成员交换机S2,当完成第二步中所有配置,重启S2后。
此时你会发现:重启后成员交换机S2名称被改为S1。这并不奇怪,事实上,现在已经不存在S1或者S2了,只有一个虚拟交换机,S2被自动重命名为S1。原因是:S2去同步了S1上配置文件。
现在你可以在任何一个物理交换机上将虚拟交换机重命名为IRF_S,你会发现这个重命名会被立即同步在两台物理设备上,换言之,你在原来S1或者S2上看到配置文件是同一个配置文件,命名也都是IRF_S。
此时你再通过执行display current-configuration查看虚拟交换机配置文件(在S1上或者S2上控制台执行皆可,因为现在没有S1和S2区别了,只有一个IRF-S),此时你会发现现在虚拟交换机上端口是原来两台物理交换机端口总合数量,如图4所示。根据理论部分2.1关于IRF成员编号与虚拟矩阵最终呈现给用户端口编号原则。可以通过如下指令查看IRF各项运行状态,如下图5所示显示。
Display irf * 可查看IRF的主从设备
Display irf topology * 可查看IRF的拓扑和口状态信息
Display irf link * 查看IRF链路信息(心跳线状态)
在以太通道(链路聚合)上IRF虚拟化特性的体现:
现在将在虚拟化特性上去实现企业网络中最常见的一种技术:以太网通道(聚合链路),以增加聚合链路冗余性和带宽容量。
在传统企业网络架构中,链路聚合中各条物理连接只能处于同一台物理交换机。而在实施IRF虚拟化技术后,现在可以在虚拟交换机IRF_S上与跨越多个物理设备(原来S1和S2)来与外部交换机S建立以太网通道(链路聚合)。
注意,在这个过程中物理线缆连接实际上是:外部交换机S的G2/0/2连接原物理交换机S1的G2/0/2,但是由于S1现在被IRF虚拟化为成员1,所以配置虚拟交换机IRF_S时应该是配置G1/2/0/2接口(成员ID1+原端口编号)为链路聚合端口,外部交换S的G2/0/3连接原物理交换机S2的G2/0/2同理。
根据这个原则,现在得出一结论:在IRF中可以跨越多个物理设备来建立聚合链路,这打破了传统网络对聚合链路配置原则,注意对比图2所示环境中左右两个部分。
第四步:配置虚拟交换机IRF-S和外部交换机S链路聚合,并查看在IRF中跨越多个物理设备来建立聚合链路。
[IRF_S]interface bridge-aggregation 1*在虚拟交换机上建立一个链路聚合通道1
[IRF_S -Bridge-Aggregation1]quit
[IRF_S]interface gigabitethernet 1/2/0/2 *进入虚拟交换机的G1/2/0/2接口(S1的G2/0/2)
[IRF_S-gigabitethernet 1/2/0/2]portlink-aggregation group 1 *将该接口捆绑到链路聚合通道1
[IRF_S-gigabitethernet 1/2/0/2]quit
[IRF_S]interface gigabitethernet 2/2/0/2 *进入虚拟交换机的G2/2/0/2接口(S2的G2/0/2)
[IRF_S-gigabitethernet 2/2/0/2]portlink-aggregation group 1 *将该接口捆绑到链路聚合通道1
[IRF_S-gigabitethernet 2/2/0/2]quit
[IRF_S]interface bridge-aggregation 1 *进入链路聚合通道1
[IRF_S-Bridge-Aggregation1]port link-type trunk *将链路聚合通道类型配置为干道
[IRF_S-Bridge-Aggregation1]port trunk permit vlan all
[IRF_S-Bridge-Aggregation1]link-aggregation mode dynamic *配置链路聚合为动态协商
[S]interfacebridge-aggregation 1 *在外部交换机S上建立一个链路聚合通道1
[S -Bridge-Aggregation1]quit
[S]interfacegigabitethernet 2/0/2 *进交换机S的G/2/0/2接口
[S-gigabitethernet 2/0/2]portlink-aggregation group 1 *将该接口捆绑到链路聚合通道1
[S-gigabitethernet 2/0/2]quit
[S]interfacegigabitethernet 2/0/3 *进交换机S的G/2/0/3接口
[S-gigabitethernet 2/0/3]portlink-aggregation group 1 *将该接口捆绑到链路聚合通道1
[S-gigabitethernet 2/0/3]quit
[S]interfacebridge-aggregation 1 *进入链路聚合通道1
[S-Bridge-Aggregation1]portlink-type trunk *将链路聚合通道类型配置为干道
[S-Bridge-Aggregation1]porttrunk permit vlan all *在干道上允许所有VLAN
[S-S-Bridge-Aggregation1]link-aggregationmode dynamic *配置链路聚合为动态协商
当完成虚拟交换机IRF_S与外部交换机S链路聚合配置后,可以在虚拟交换机IRF_S和S上使用display link-aggregation summary查看链路聚合状态。
如图6所示,可以在外部交换机S上,看到链路聚合对等体(Partnet ID)就仅仅是虚拟交换机IRF_S,但事实上,该链路聚合是跨越了虚拟交换机中不同物理设备构建而成。
5、结论与事实
通过上面论述观点、理论说明、实验求证过程,可以得出:H3C智能弹性框架(Intelligent ResilientFramework)IRF技术,是传统企业网络架构一场革命性演变,它正在无缝迎合“云”时代迈进步伐,它将比传统堆叠技术更好地兼容已经非常成熟的网络特性。比如:STP、聚合链路、各种静动态路由协议等,使企业网络架构具备更好的弹性、可扩展性、持续不间断转发、简化网络结构等特色。
但是任何一项新技术都有一个过渡阶段,IRF也无法跨越这个阶段,因为不是所有技术模块都能支持IRF虚拟化。比如:一些链路层协议、IPX、IS-IS 、BGP、MPLS/×××、MSDP、还部分安全协议就暂时不能被IRF所支持,当然H3C厂商一直在对IRF支持特性做改良,可明显看出现在第二代IRF相较于第一代有明显提高。
而最终用户正是需要在这个过程中不断地去应用和普及IRF技术,并在实践项目中去探查到IRF在改变传统企业网络架构之后,与已经成熟传统网络技术特性一些兼容性问题,使其IRF本身更加的完善和稳定。这也是本论文一个核心思想,因为积累将成就卓越,过程将见证非凡。最后必须说明一点:IRF是H3C厂商技术,并不是华为虚拟化技术,华为虚拟化技术叫CCS。由于H3C和华为曾经商业关系,导致广大用户容易将其搞混淆。