| 中国 |
|
|
|
![]() |
管理 Serviceguard 第 14 版 > 第 3 章 了解
Serviceguard 的软件组件网络管理器如何工作 |
|
网络管理器的目的是检查网卡和电缆故障并从中恢复,以便网络服务对客户端保持高可用性。此功能实际上就是指将每个程序包的 IP 地址分配给其运行的节点上的主 LAN 接口卡,监视所有接口的运行状况,并在必要时进行切换。 每个节点(主机系统)的每个活动网络接口都至少应有一个 IP 地址。该地址称为固定 IP 地址,在节点的 /etc/rc.config.d/netconf 文件或 /etc/rc.config.d/netconf-ipv6 文件中配置。固定 IP 地址不能转移到另一个节点上,但是可以转移到备用 LAN 接口卡上。固定 IP 地址不与程序包关联。固定 IP 地址用于传送心跳线消息(有关详细内容,请参考“群集管理器如何工作”)和其他数据。 除固定 IP 地址外,通常还要为每个故障切换程序包分配一个或多个唯一的 IP 地址。程序包启动时,程序包控制脚本中的 cmmodnet 命令会将程序包 IP 地址分配给主 LAN 接口卡。 与程序包关联的 IP 地址称为可重新定位的 IP 地址(也称为程序包 IP 地址或浮动 IP 地址),因为这些地址实际上可以从一个群集节点向另一个节点移动。在一个群集中可使用多达 200 个可重新定位的 IP 地址,并且可将它们分配给最多 150 个程序包。这种地址可以是 IPv4 和 IPv6 地址的组合地址。 由于系统多节点程序包及多节点程序包不进行故障切换,因此它们没有可重新定位的 IP 地址。 可重新定位的 IP 地址就像是分配给程序包的虚拟主机 IP 地址。建议通过 DNS(域名服务)为每个程序包配置名称。然后程序就能像使用主机名一样将程序包名作为 gethostbyname() 的输入,它可返回程序包的可重新定位地址。 在局域网卡出现故障的情况下,固定的 IP 地址和可重新定位的 IP 地址都将切换到备用 LAN 接口上。另外,如果程序包的控制转移了,可重新定位地址(但不包括固定地址)可以由另一个代管节点接管。这意味着应用程序无须了解程序包当前驻留在哪个节点上就可以通过它的可重新定位地址来访问程序包。 程序包启动后,可重新定位的 IP 地址便添加到指定的 IP 子网上。程序包停止后,可重新定位的 IP 地址就从指定的子网中删除掉。添加和删除可重新定位的 IP 地址由程序包控制脚本中的 cmmodnet 命令处理,此脚本在第 6 章“配置程序包及其服务”中进行了详细说明。 IP 地址仅配置在每个主网络接口卡上;备用卡不能配置 IP 地址。同一个网卡上的多个 IPv4 地址必须属于同一个 IP 子网。 每隔一定时间,Serviceguard 就会轮询群集配置文件中指定的所有网络接口卡。将按下列方式检测每个节点内的网络故障。节点上的某个接口被指定为轮询者。轮询者将轮询该节点所属桥接网中其他主接口和备用接口以检查它们的运行状况是否正常。通常,轮询者是一个备用接口;如果桥接网中没有备用接口,则将指定主接口来执行轮询任务(第 2 章的“冗余网络部件 ”介绍了桥接网)。 轮询接口将 LAN 信息包发送给节点中同一个桥接网上其他接口,并接收它们返回的信息包。 一旦 LAN 驱动程序报告错误,Serviceguard 就会立刻声明相应的卡已停止,并执行本地切换。例如,如果该卡无法发送信息,Serviceguard 就会立刻收到错误通知,并将该卡标记为已停止。 Serviceguard 网络管理器还会监视某个接口上发送和接收的数据包的数量,以确定卡是否出现问题。Serviceguard 处理发送和接收的数据包的数量有两种方式。在群集配置文件中,为 NETWORK_FAILURE_DETECTION 参数选择下列两个值之一:
本地网络切换包括检测本地网络接口故障及故障切换到本地备份局域网卡(也称为备用局域网卡)。备份局域网卡不能配置任何 IP 地址。 本地网络切换时,以太网的TCP/IP 连接不会丢失,但 IEEE 802.3 连接将丢失。对于 IPv4 来说,以太网使用 ARP 协议,且 HP-UX 发送无需应答的 ARP 来通知远程系统进行 MAC(链路层)地址和 IP 层地址之间的地址映射。IEEE 802.3 没有 rearp 功能。 IPv6 使用 NDP(Neighbor Discovery Protocol,邻节点发现协议),而不是 ARP 协议。主机和路由器使用 NDP 协议执行以下操作:
以太网系列支持下列配置中的本地切换:
但是,在 HP-UX 11i 上,只有配置了 1000 Base-T 或 1000 Base-SX 卡时,才能使用特大帧。100 Base-T 和 10 Base-T 不支持特大帧。另外,运行 1000Base-T 或 1000 Base-SX 的网络接口卡不能本地故障切换到 10 BaseT。 在转移过程中,IP 信息包将丢失,但 TCP(传输控制协议)将重新传送这些信息包。使用 UDP(用户数据报协议)时,协议将不会自动传送这些信息包。但是,由于 UDP 是一种不可靠的服务,所以应使 UDP 应用程序准备好如何处理丢失网络信息包并正确地进行恢复。注意仅在同一类型的两个 LAN 之间才支持本地切换。例如,不支持以太网和 IPoIB 接口之间的本地切换,但支持 10 BT 以太网和 100 BT 以太网之间的本地切换。 图 3-16 “本地网络切换前的群集 ” 显示了在一个桥接网中连接的两个节点。LAN 段 1 和段 2 由一个集线器连接。 节点 1 和节点 2 通过 LAN 网段2 通信,LAN 网段 1 是一个备用 LAN 网段。 图 3-17 “本地网络切换后的群集 ” 中显示了当节点 1 上的 LAN 网段 2 的网络接口卡发生故障时将发生的情况。 备用接口接管后,IP 地址将切换到与备用接口关联的硬件路径。这种切换在 TCP/IP 层上是透明的。所有应用程序都继续在它们的原节点上运行。此时,由于发生转移,节点 1 上的 IP 通信将延迟。但是 TCP/IP 连接仍将继续保持,应用程序也将继续运行。节点 1 上的程序包控制将不受影响。
图 3-18 “电缆出现故障后的本地切换 ” 显示了本地切换的另一个示例。此时,影响网段 2 的故障导致了两个节点都切换到了连接到网段 1 的局域网卡上。 本地网络切换适用于包含一个或多个节点的群集。您可以设计一个单节点群集,以便在只需一个节点且不希望设置复杂群集的情况下利用此本地网络切换功能。 如果主接口发生故障,则子网将切换到备用接口。如果主接口稍后恢复,则群集守护程序会将子网切换回主接口。每当节点暂停时,群集守护程序 (cmcld) 总会试图将运行在备用接口上的任何配置了 Serviceguard 的子网切换回主接口。进行此操作时将不会考虑主接口的链路状态。这种切换回操作的目的是要保持群集启动前的原始网络配置。如果执行 cmhaltnode 命令,则将在特定节点上发生这种切换回操作,如果执行 cmhaltcl 命令,则它将在群集内的所有节点上发生。 远程切换(即程序包切换)涉及将程序包和与之相关的 IP 地址移动到新系统中。新系统必须已配置好相同的子网并且运行正常,否则程序包将无法启动。进行远程切换时会丢失 TCP 连接。TCP 应用程序必须重新进行连接;此过程不会自动进行。请注意,如果程序包依赖于多个子网,则在程序包启动之前目标节点上的所有子网都必须是可用的。 请注意,仅在同一类型的 LAN 之间支持远程切换。例如,如果某台机器使用的是以太网接口,而故障切换机器使用的是 IPoIB 接口,则不支持它们之间的远程切换。可重新定位的 IP 地址的远程切换如图 3-5 “切换程序包前” 和图 3-6 “程序包切换后” 中所示。 Serviceguard 通过 HP-APA(Auto-Port Aggregation,HP 产品 J4240AA)支持使用自动端口聚合。HP-APA 是一种联网技术,它可以将多个物理快速以太网或千兆字节以太网端口聚集到逻辑链路聚合中。以多个 100 Mbps 快速以太网链路或多个 1 Gbps 以太网链路(或分别为 200 Mbps 和 2 Gbps 全双工)为基础,HP-APA 可提供灵活的、可伸缩的带宽。它的其他优点包括物理链路的负荷平衡、自动故障检测以及恢复,这些优点都可用在需要高可用性的环境中。端口聚合能力有时称为链路聚合或主干线。双堆栈内核也支持 APA。 一旦启用,每个链路聚合都可以看作由多个物理端口组成的单个逻辑链路,使用一个 IP 和 MAC 地址。HP-APA 可以在一个链路聚合中最多聚集四个物理端口;每个系统允许的链路聚合数为 50 个。空链路聚合的 MAC 地址个数为零。 可以聚集多端口网卡(当前最多具有四个可用端口的网卡)中的端口。此外,也可以聚集多个网卡上的端口。图 3-19 “聚合的联网端口” 中显示了两个示例。 非聚合配置中的单端口和双端口 LAN 都有四个局域网卡,每个网卡都与独立的非聚合 IP 地址和 MAC 地址关联,并且都有自己的 LAN 名称 (lan0,lan1,lan2,lan3)。当聚集这些端口后,全部四个端口与一个 IP 地址和 MAC 地址关联。在此示例中,聚合的端口统称为 lan900,此名称是聚合在 HP-UX 11i 中所用的名称。 可以随意组合各种以太网卡类型(单个或两个端口)和聚合组,但极其重要的是在任何 APA 的组合中必须至少使用两个物理网卡以避免心跳线连接的单点故障。HP-APA 当前支持对链路聚合进行自动配置和手动配置。 有关使用 Serviceguard 实现 APA 的信息,请参阅在 docs.hp.com 上的 IO Cards and Networking Software 文档集中发布的《《HP Auto Port Aggregation (APA) Support Guide》》以及其他 APA 文档。 Serviceguard 群集支持使用 HP-UX VLAN 软件的虚拟 LAN 配置。 虚拟 LAN(或 VLAN)是一种技术,它允许对网络节点进行逻辑分组,而不考虑其物理位置。 可以使用 VLAN 将一个物理 LAN 分为多个逻辑 LAN 网段或广播域,从而有助于减少广播流量,提高网络性能和安全性以及可管理性。 可以从物理 LAN 接口配置多个 VLAN 接口,其中每个接口都具有自身的 IP 地址;这些 VLAN 接口对应用程序显示为普通网络接口 (NIC)。有关配置 VLAN 接口的详细信息,请参阅《《Using HP-UX VLAN》》(5991-0617)。 VLAN 接口可以用做群集中的心跳线和数据网络。网络管理器可监视群集中配置的 VLAN 接口的运行状态,并在检测到 VLAN 接口出现故障时,执行本地和远程故障切换。VLAN 接口故障通常是由于基础物理 NIC 端口或聚合 (APA) 端口出现故障而引起的。 HP-UX 允许在物理网络接口控制器端口上配置多达 1024 个 VLAN。满足这样的配置需要大量的系统资源;如果在每个群集节点中配置了大量网络接口,则 Serviceguard 的性能可能会降低。为了防止这种问题以及其他问题,Serviceguard 实施了下列限制:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||