Sun Cluster 3.0 U1 概念

公共网络管理 (PNM) 和网络适配器故障转移 (NAFO)

客户机通过公共网络向群集提出数据请求。每个群集节点通过公共网络适配器至少连接到一个公共网络。

Sun Cluster 公共网络管理 (PNM) 软件提供了基本的机制来监视公共网络适配器,并在检测到故障时将 IP 地址从一个适配器故障转移到另一个适配器。每个群集节点有它自己的 PNM 配置,该配置可以与其他群集节点上的不同。

公共网络适配器被编入到 Network Adapter Failover 组(NAFO 组)。每个 NAFO 组有一个或多个公共网络适配器。而在任何时候只有一个适配器对给定的 NAFO 组是活动的,在同一组中的更多适配器作为备份适配器使用,活动适配器上的 PNM 守护程序一旦检测到故障,在适配器故障转移期间就使用这些备份适配器。故障转移使与活动适配器相关联的 IP 地址被转移到备份适配器上,从而维持该节点的公共网络连通性。由于故障转移发生在适配器接口级,像 TCP 这样的更高级别的连接则不受影响,仅在故障转移期间有短暂的瞬时延迟。


注意:

由于 TCP 的拥塞恢复特性,TCP 端点可以在成功的故障转移后经受更长的延迟,同时一些段可能会在故障转移期间丢失,激活了 TCP 中的拥塞控制机制。


NAFO 组为逻辑主机名和共享地址资源提供了构件。<command>scrgadm(1M) 命令在必要时自动为您创建 NAFO 组。您也可以独立于逻辑主机名和共享地址资源来创建 NAFO 组,以监视群集节点的公共网络连通性。节点上相同的 NAFO 组可以拥有任意数目的逻辑主机名或共享地址资源。有关逻辑主机名和共享地址的详细信息,请参见《Sun Cluster 3.0 U1 Data Services Installation and Configuration Guide》。


注意:

NAFO 机制的设计着意于检测和屏蔽适配器故障。该设计并不旨在使用 ifconfig(1M) 从管理员那里恢复,以删除一个逻辑(或共享的)IP 地址。Sun Cluster 软件将逻辑和共享 IP 地址视为由 RGM 管理的资源。对于管理员来说,添加或删除 IP 地址的正确方法是使用 scrgadm(1M) 修改包含资源的资源组。


PNM 故障检测和故障转移过程

PNM 有规律地检查活动适配器的包计数,并假定运行良好的适配器的包计数会因通过适配器的正常网络流量而变化。如果一段时间包计数没有变化,那么 PNM 就进入一个 ping 序列,它加强了该通过活动适配器的流量。PNM 在每个序列结束时检查包计数的任何变化,并且如果在 ping 序列重复几次后包计数仍保持不变,就宣告适配器出现故障。这些事件触发了备份适配器的故障转移,只要有一个备份适配器可用,就转移到它。

输入和输出包计数由 PNM 监视,因此当两者之一或两者在一段时间内保持不变,则启动 ping 序列。

ping 序列由对 ALL_ROUTER 多址广播地址 (224.0.0.2)、ALL_HOST 多址广播地址 (224.0.0.1) 和本地子网广播地址的 ping 组成。

Ping 是以最低成本优先的方式构建的,因此如果有一个较低成本的 ping 可以成功运行,就不会运行较高成本的 ping。而且,ping 只作为在适配器上产生流量的一种方法使用。它们的退出状态不会影响对适配器功能或故障的判定。

在这一算法中有四个可以微调的参数:inactive_timeping_timeoutrepeat_testslow_network。这些参数在故障检测的速度和正确性之间提供了一种可调整的平衡。有关参数及如何更改它们的详细信息,请参见《Sun Cluster 3.0 U1 系统管理指南》中关于更改公共网络参数的步骤。

在 NAFO 组的活动适配器上检测到故障后,如果没有备份适配器可用,该组就被宣告关闭,同时继续对其所有备份适配器的测试。然而,如果有备份适配器可用,就会进行故障转移,切换到该适配器。当故障活动适配器被关闭并且不可查明时,逻辑地址和它们相关的标志被"转移"到备份适配器上。

一旦 IP 地址的故障转移成功完成之后,就会发送未经请求的 ARP 广播。从而保持与远程客户机的连通性。