跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:网络接口和网络虚拟化 Oracle Solaris 11 Information Library (简体中文) |
本节介绍有关使用 IPMP 组的各种主题。
各种因素可导致接口变得不可用。IP 接口出现故障是常见原因。或者,接口可能因硬件维护而被切换为脱机状态。在此类情况下,如果没有 IPMP 组,使用与不可用的接口相关联的任何 IP 地址就不再能够联系系统。而且,使用这些 IP 地址的现有连接也会中断。
使用 IPMP,可以将一个或多个 IP 接口配置到一个 IPMP 组中。组在功能上类似于使用数据地址发送或接收网络通信流量的 IP 接口。如果组中的一个底层接口出现故障,数据地址会在组中的其余底层活动接口之间重新分配。因此,尽管某个接口出现故障,组仍能保持网络连接。使用 IPMP 时,只要组中至少有一个接口可用,网络连接就始终可用。
而且,通过自动在 IPMP 组中的一组接口中分配传出网络通信流量,IPMP 提高了总体网络性能。此过程称为传出负荷分配。系统还通过为应用程序未指定其 IP 源地址的数据包执行源地址选择,间接控制传入负荷分配。但是,如果应用程序明确选择了 IP 源地址,则系统不会改变该源地址。
IPMP 组的配置取决于您的系统配置。遵守以下规则:
同一局域网 (LAN) 上的多个 IP 接口必须配置到一个 IPMP 组中。LAN 一般引用各种本地网络配置,包括 VLAN 以及其节点属于同一链路层广播域的有线和无线本地网络。
注 - 不支持同一个链路层 (L2) 广播域上存在多个 IPMP 组。L2 广播域通常对应于特定子网。因此,对于每个子网,只能配置一个 IPMP 组。
IPMP 组的底层 IP 接口不能跨越不同的 LAN。
例如,假定具有三个接口的系统已连接到两个单独的 LAN。其中两个 IP 接口链接到一个 LAN,而另一个 IP 接口连接到另一个 LAN。在这种情况下,根据第一条规则的要求,连接到第一个 LAN 的两个 IP 接口必须配置为一个 IPMP 组。根据第二条规则,连接到第二个 LAN 的单个 IP 接口不能成为该 IPMP 组的成员。该单个 IP 接口不需要 IPMP 配置。但是,您可以将该单个接口配置到一个 IPMP 组中以监视该接口的可用性。单接口 IPMP 配置在IPMP 接口配置的类型中进一步讨论。
考虑另一种情况,其中第一个 LAN 的链路包含三个 IP 接口,另一个链路包含两个接口。此设置需要两个 IPMP 组的配置:一个三接口组链接到第一个 LAN,一个两接口组连接到第二个 LAN。
IPMP 和链路聚合是用来改进网络性能和维护网络可用性的不同技术。一般情况下,部署链路聚合可获取更好的网络性能,使用 IPMP 可确保高可用性。
下表列出了链路聚合与 IPMP 的一般比较。
|
在链路聚合中,传入通信流量在构成聚合的多个链路上分配。因此,由于安装了更多 NIC 以将链路添加到聚合,提高了网络性能。IPMP 的通信流量使用 IPMP 接口的数据地址,因为它们绑定到了可用的活动接口。举例来说,如果所有数据流量只在两个 IP 地址之间流动,但不一定在同一连接上,则添加多个 NIC 不会借助 IPMP 提高性能,因为只有两个 IP 地址保持可用。
这两种技术互补,可以一起部署,取长补短,综合提高网络性能和可用性。例如,除非使用某些供应商提供的专用解决方案,否则链路聚合当前不能跨多个交换机。因此,交换机就成为该交换机和主机之间的链路聚合的单故障点。如果交换机出现故障,链路聚合也会丢失,并且网络性能下降。IPMP 组不会面临这种开关限制。因此,在使用多个交换机的 LAN 方案中,连接到各自交换机的链路聚合可以合并到主机上的一个 IPMP 组中。使用此配置,既能提高网络性能,又能获得高可用性。如果某个交换机出现故障,该出现故障的交换机的链路聚合的数据地址会在组中剩余链路聚合之间重新分配。
有关链路聚合的其他信息,请参见第 12 章。
由于支持定制的链路名称,链路配置不再绑定到与该链路相关联的物理 NIC。使用定制的链路名称,可以在管理 IP 接口时拥有更大的灵活性。这种灵活性也扩展到了 IPMP 管理。如果一个 IPMP 组的底层接口出现故障并需要更换,更换该接口的过程极为方便。只要用于更换的 NIC 与出现故障的 NIC 的类型相同,就可以对其重命名以继承出现故障的 NIC 的配置。您不必创建新配置,即可将其作为新接口添加到 IPMP 组。将出现故障的 NIC 的链路名称指定给新 NIC 后,新 NIC 将被配置为具有与出现故障的接口相同的设置。然后,多路径守护进程根据活动和备用接口的 IPMP 配置部署该接口。
因此,为了优化您的网络配置和便于 IPMP 管理,必须为您的接口指定通用名称,以便它们具有灵活的链路名称。在下一节IPMP 的工作原理中,所有示例对 IPMP 组及其底层接口均使用灵活的链路名称。有关在使用定制链路名称的网络环境中更换 NIC 的过程的更多信息,请参阅IPMP 和动态重新配置。有关网络栈和定制链路名称使用的概述,请参阅Oracle Solaris 中的网络栈。
IPMP 尝试保留创建组时活动接口和备用接口的原始数量,以此保持网络可用性。
IPMP 故障检测可以基于链路,也可以基于探测器,或同时基于两者,以确定组中某具体底层 IP 接口的可用性。如果 IPMP 确定某底层接口出现故障,则该接口被标记为出现故障,并且不再可用。然后,与故障接口相关联的数据 IP 地址被重新分配给组中另一个能正常工作的接口。还会部署一个备用接口(如果可用)以保持活动接口的原始数量。
以一个使用活动/备用配置的三接口 IPMP 组 itops0 为例,如图 14-1 所示。
图 14-1 IPMP 活动/备用配置
组 itops0 的配置如下所示:
两个数据地址指定给组 192.168.10.10 和 192.168.10.15。
两个底层接口配置为活动接口,并对其指定了灵活的链路名称:net0 和 net1。
该组有一个备用接口,同样具有灵活的链路名称 net2。
使用基于测试器的故障检测,因此对活动和备用接口配置了测试地址,如下所示:
net0:192.168.10.30
net1:192.168.10.32
net2:192.168.10.34
注 - 图中的Active(活动)、Offline(脱机)、Reserve(保留)和Failed(故障)区域仅表示底层接口(而不是物理位置)的状态。在此 IPMP 实现内,没有接口或地址的物理移动,也没有发生 IP 接口的转移。这些区域只是为了显示在出现故障或修复后,底层接口是如何改变状态的。
可以将 ipmpstat 命令与不同的选项结合使用来显示有关现有 IPMP 组的特定类型的信息。如需更多示例,请参见监视 IPMP 信息。
可通过使用以下 ipmpstat 命令显示图 14-1 中的 IPMP 配置:
# ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES itops0 itops0 ok 10.00s net1 net0 (net2)
要显示有关该组的底层接口的信息,请键入以下内容:
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 yes itops0 ------- up ok ok net1 yes itops0 --mb--- up ok ok net2 no itops0 is----- up ok ok
IPMP 通过管理底层接口以保留活动接口的原始数量来维护网络可用性。因此,如果 net0 出现故障,则会部署 net2 以确保该组仍有两个活动接口。net2 的激活如图 14-2 所示。
图 14-2 IPMP 中的接口故障
ipmpstat 实用程序显示了图 14-2 中的信息,如下所示:
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 no itops0 ------- up failed failed net1 yes itops0 --mb--- up ok ok net2 yes itops0 -s----- up ok ok
在修复 net0 后,它的状态将恢复为活动接口。net2 也依次返回其原始的备用状态。
图 14-3显示了一种不同的故障情形,其中备用接口 net 出现故障 (1),然后管理员将一个活动接口 net1 置于脱机状态 (2)。结果,IPMP 组就只剩下一个正常工作的接口 net0。
图 14-3 IPMP 中的备用接口故障
ipmpstat 实用程序显示了图 14-3 中展示的信息,如下所示:
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 yes itops0 ------- up ok ok net1 no itops0 --mb-d- up ok offline net2 no itops0 is----- up failed failed
对于此特定故障,接口修复后的恢复行为也有所不同。恢复取决于 IPMP 组的活动接口的原始数量与修复后的配置的对比情况。恢复过程以图形表示在图 14-4中。
图 14-4 IPMP 恢复过程
在图 14-4 中,net2 在得到修复后,通常会恢复到其原始状态,即备用接口 (1)。但是,IPMP 组仍不反映两个活动接口的原始数量,因为 net1 仍保持脱机状态 (2)。因此,IPMP 将 net2 部署为活动接口 (3)。
ipmpstat 实用程序将修复后的 IPMP 情形显示如下:
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 yes itops0 ------- up ok ok net1 no itops0 --mb-d- up ok offline net2 yes itops0 -s----- up ok ok
如果也配置为 FAILBACK=no 模式(在此模式下,出现故障的活动接口在修复后不会自动恢复为活动状态)的一个活动接口出现故障,会发生类似的恢复顺序。假定图 14-2中的 net0 配置为 FAILBACK=no 模式。在该模式下,修复后的 net0 会切换到保留状态作为备用接口,尽管它原来是一个活动接口。接口 net2 仍保持活动以维持 IPMP 组的两个活动接口的原始数量。ipmpstat 实用程序将如下显示恢复信息:
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 no itops0 i------ up ok ok net1 yes itops0 --mb--- up ok ok net2 yes itops0 -s----- up ok ok
有关这种类型的配置的更多信息,请参见FAILBACK=no 模式。