Sun Cluster 3.0 概念

公共网络管理 (PNM) 和网络适配器失败切换 (NAFO)

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

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

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


注意:

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


NAFO 组为逻辑主机名和共享地址资源提供了构件。scrgadm(1M) 命令在必要时自动 为您创建 NAFO 组。您也可以独立于逻辑主机名和共享地址资源来创建 NAFO 组,以监视群集节点的公共网络连通性。节点上相同 的 NAFO 组可以拥有任意数目的逻辑主机名或共享地址资源。有关逻辑主机名和共享地址的详细信息,请参见 Sun Cluster 3.0 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 系统管理指南 中关于更改 公共网络参数的步骤。

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

当 IP 地址的失败切换成功完成时,就发送出无必要的 ARP 广播。因而也保持与远程客户机的连通。