网络虚拟化和冗余技术
IBM®Power Systems™支持多种可以为IBM i分区提供网络冗余的技术。 本文讨论了以太网链路聚合,IBM i虚拟IP寻址(VIPA)和以太网第2层桥接,并说明了它们之间如何交互。
以太网链路聚合将多个物理以太网端口组合为一个以太网接口,通过同时使用所有可用端口来提供冗余。 但是,虚拟以太网适配器不支持链接聚合,因此没有物理以太网资源的IBM i分区不能直接利用它。
IBM i虚拟IP地址(VIPA)基于其他多个IP接口。 在任何给定时间,VIPA都会使用这些IP接口之一来处理其所有传出流量,而VIPA的传入流量则通过这些接口来进行。 如果基础接口发生故障,VIPA将更改为使用其他接口,因此VIPA可以抵抗单个接口发生故障。
使用以太网第2层桥接,分区可以通过将虚拟以太网流量桥接到物理网络,并将流量从物理网络桥接到虚拟以太网来共享其与网络的物理连接。 该技术允许客户端分区透明地访问网络,而无需分配任何物理以太网资源。 IBM i作为客户端和服务器或网桥提供者都支持以太网第2层桥接。 虚拟I / O服务器(VIOS)分区还支持第2层桥接,名为共享以太网适配器 (SEA)。 第2层桥接本身并不能提供冗余,而是通过虚拟以太网实现冗余配置的关键推动力,如下所示。
这些技术以多种有趣的方式结合在一起。
链路聚合和第二层桥接
即使虚拟以太网不直接支持链路聚合,网桥提供程序也可以在用于网桥的物理接口上使用链路聚合。 这透明地同时为所有客户端分区提供了相同的好处:跨物理以太网端口分布的流量(以提高利用率)和针对链路故障的恢复能力。
从客户端,这不需要进行第二层桥接所需的虚拟以太网适配器之外的其他配置。 在网桥提供程序分区中,只需要创建一个聚合接口或线路描述,然后将其用作网桥的物理端即可。
共享以太网适配器故障转移
VIOS在两个VIOS分区之间提供了共享以太网适配器故障转移。 在此配置中,一个SEA是活动的,另一个则作为备份。 如果活动的SEA由于任何原因停止或失败,则备用SEA会接管并桥接相同的流量。 这为活动SEA上的链路故障提供了相同的恢复力,同时还为拥有活动SEA的VIOS中的全分区故障提供了冗余。 但是,备用SEA的资源保持空闲状态。
这也使用了最简单的客户端配置。 除了虚拟以太网适配器,不需要任何其他操作。 与单个网桥相比,VIOS分区和硬件管理控制台(HMC)中的配置更加复杂,并且在IBM技术说明中进行了详细描述。
共享的以太网适配器活动/活动(负载共享)
如上所述,通过SEA故障转移,分配给备用SEA的以太网资源将保持空闲状态。 在最新版本中,VIOS增加了对配置的支持,该配置允许同时激活两个物理以太网资源。 但是,此配置要求客户端分区在物理网络(如IEEE 802.1q标准中定义)上的两个或多个虚拟局域网(VLAN)之间分配其流量。
在客户端分区中,此环境仍然不需要任何其他配置。 但是,物理网络设计,VIOS配置和HMC配置比本文描述的任何其他环境都要复杂得多。 可以在IBM Power Systems信息中心中找到详细的要求和配置步骤。
具有桥接虚拟备份的IBM i物理以太网
可以访问物理以太网资源的IBM i分区可以使用混合配置,该混合配置在可用物理物理资源时使用物理以太网资源,但是如果物理接口不可用,则使用虚拟以太网适配器。 对于受益于直接访问物理网络的分区,这提供了可以在多个分区之间共享的后备功能,从而可以在不中断的情况下更换网络硬件。
此环境需要在客户端分区中进行更多配置,包括以下元素:
- 物理以太网的线路描述和IP接口(可以是单个端口或聚合端口),
- 桥接虚拟以太网适配器的线路描述和IP接口,以及
- 具有首选接口(
PREFIFC
)的VIPA,其物理接口位于第一位,虚拟以太网位于第二位。
例如,给定线路描述PHYSETH
和VIRTETH
以及网络上可用的适当IP地址,这些命令将配置适当的IP接口:
ADDTCPIFC INTNETADR('192.168.1.4') LIND(*VIRTUALIP) SUBNETMASK('255.255.255.255')
ADDTCPIFC INTNETADR('192.168.1.2') LIND(PHYSETH) SUBNETMASK('255.255.255.0')
LCLIFC('192.168.1.4')
ADDTCPIFC INTNETADR('192.168.1.3') LIND(VIRTETH) SUBNETMASK('255.255.255.0')
LCLIFC('192.168.1.4')
CHGTCPIFC INTNETADR('192.168.1.4') PREFIFC('192.168.1.2' '192.168.1.3')
在启动所有三个接口之后,应该可以通过物理以太网端口从网络访问VIPA。 如果该端口发生故障,则虚拟以太网端口将接管。
桥接虚拟以太网适配器之间的IBM i故障转移
从物理以太网到虚拟以太网的故障转移设计之所以可行,是因为VIPA支持可检测基础物理以太网IP接口的故障。 但是,网桥提供程序中的故障不会导致客户端分区中的故障。 当网桥发生故障时,传出的客户端流量将不会到达物理网络,而打算用于客户端的物理网络流量也将不会到达虚拟以太网,但是任何IBM i客户端线路描述和IP接口仍将保持活动状态并能够发送并接收内部流量。 因为没有IP接口故障,所以VIPA支持不会从该接口切换。 因此,使用VIPA在虚拟以太网端口之间进行故障转移需要某种监视器,以检测到某些外部实体的端到端连接中的故障。
如果网络已经有多个子网,并且它们之间有一个外部IP路由器,则一种选择是对路由协议使用VIPA支持,例如路由信息协议(RIP)或开放式最短路径优先(OSPF)。 这要求基础接口位于单独的IP子网上,并且路由器可通过两条路径访问。 IBM i分区将不断尝试在两条路径上宣传VIPA的可用性。 路由协议将发现任何断开的路径,并且路由器和IBM i VIPA支持将通过工作路径路由通信。
另一个选择是使用上一节中所述的代理地址解析协议(proxy ARP)配置VIPA,但是运行一个程序,该程序可以通过两条路径不断监视某些外部资源(例如IP默认网关)的可用性。 如果在备份能够访问时默认或主路径始终无法访问网关,则程序可以通过修改首选接口(PREFIFC)列表的顺序进行切换。
借助VIPA和OSPF,RIP或监视脚本,IBM i可以使用两个桥接虚拟以太网适配器作为支持VIPA的后备接口。 反过来,这使得设计可以进行主动/主动桥接并检测任何端到端故障,而无需在物理网络或VIOS SEA故障转移配置中使用单独的IEEE 802.1q VLAN。 在这些设计中,故障转移逻辑位于客户端中更复杂的设计中,而网络和网桥提供程序的配置则保持简单。
在此设计中,必须有两个桥接器提供程序分区(VIOS或IBM i),并且桥接器配置在单独的VLAN或HMC的交换机上。 每个网桥提供商仅配置了一个基本的第2层网桥。 在每个客户端分区中,每个网桥应有一个虚拟以太网适配器,并且每个适配器都需要一个线路描述和一个IP接口。 如果将VIPA与RIP或OSPF一起使用,则路由配置就足够了。 如果改用代理ARP,请创建VIPA并运行监视程序。 在下面的示例脚本, IFC1
和IFC2
是底层虚拟基于以太网的接口的地址, VIPA
是VIPA的地址,和TARGET
是必须可达的一个需要考虑的接口可用的外部资源的地址(例如接口的网络网关)。 为了使路由程序和监视程序正常运行,请应用V7R1 PTF MF57894。
PGM
DCL &TARGET *CHAR 15 '192.168.1.1'
DCL &IFC1 *CHAR 15 '192.168.1.2'
DCL &IFC2 *CHAR 15 '192.168.1.3'
DCL &VIPA *CHAR 15 '192.168.1.4'
DCL &IFC1STAT *INT 4 0
DCL &IFC2STAT *INT 4 0
DCL &PREF *INT 4 1
/* MAKE SURE PROXY IN PREFERRED ORDER */
CHGTCPIFC &VIPA PREFIFC(&IFC1 &IFC2)
/* BEGIN LOOP FOREVER TO MONITOR THE INTERFACES */
LOOP:
/* PING THROUGH INTERFACE 1 AND COUNT FAILURES */
PING &TARGET LCLINTNETA(&IFC1) NBRPKT(1) MSGMODE(*VERBOSE *ESCAPE)
MONMSG MSGID(TCP3210) EXEC(GOTO IFC1FAIL)
CHGVAR &IFC1STAT 0
GOTO IFC2
IFC1FAIL:
IF (&IFC1STAT < 9999) +
THEN(CHGVAR &IFC1STAT (&IFC1STAT + 1))
IFC2:
/* PING THROUGH INTERFACE 2 AND COUNT FAILURES */
PING &TARGET LCLINTNETA(&IFC2) NBRPKT(1) MSGMODE(*VERBOSE *ESCAPE)
MONMSG MSGID(TCP3210) EXEC(GOTO IFC2FAIL)
CHGVAR &IFC2STAT 0
GOTO UPDVIPA
IFC2FAIL:
IF (&IFC2STAT < 9999) +
THEN(CHGVAR &IFC2STAT (&IFC2STAT + 1))
UPDVIPA:
/* TREAT 2 CONSECUTIVE FAILURES AS LINK DOWN INDICATION */
IF (&IFC1STAT < 2) THEN(GOTO PREF1)
IF (&IFC2STAT < 2) THEN(GOTO PREF2)
/* NO INTERFACES APPEAR TO BE UP... NO CHANGES */
GOTO DELAY
PREF1:
IF (&PREF ^= 1) +
THEN(CHGTCPIFC &VIPA PREFIFC(&IFC1 &IFC2))
CHGVAR &PREF 1
GOTO DELAY
PREF2:
IF (&PREF ^= 2) +
THEN(CHGTCPIFC &VIPA PREFIFC(&IFC2 &IFC1))
CHGVAR &PREF 2
GOTO DELAY
DELAY:
DLYJOB 30
GOTO LOOP
ENDPGM
结论
使用IBM i设计多分区系统时,您可以使用多种虚拟化技术,并且它们以强大的方式结合在一起。 本文介绍了设计空间中的几个要点,这些要点可以为您的系统提供所需的弹性,并可以通过在分区之间共享以太网容量来减少I / O资本支出。
翻译自: https://www.ibm.com/developerworks/ibmi/library/i-ibmi-tcp-ip-redundancy/index.html