跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
管理 Serviceguard 第 13 版 > 第 3 章 了解 Serviceguard 的软件组件

网络管理器如何工作

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 索引

网络管理器的目的是检查网卡和电缆故障并从中恢复,以便网络服务对客户端保持高可用性。此功能实际上就是指将每个程序包的 IP 地址分配给其运行的节点上的主 LAN 接口卡,监视所有接口的运行状况,并在必要时进行切换。

固定和可重新定位的 IP 地址

每个节点(主机系统)的每个活动网络接口都至少应有一个 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 地址的类型

Serviceguard 同时支持 IPv4 和 IPv6 地址类型。IPv4 地址是形式为“n.n.n.n”的传统地址,其中“n”是介于 0 与 255 之间的一个十进制数。IPv6 地址的形式为“x:x:x:x:x:x:x:x”,其中“x”为十六进制数,每个地址包含八个 16位地址段,共 128 位。心跳线地址只支持使用 IPv4 地址,但群集中定义的固定 IP 地址既可以是 IPv4 地址,也可以是 IPv6 地址(包括各种组合形式)。IPv4 和 IPv6 地址都可以用做可重新定位(程序包)的 IP 地址。

添加和删除可重新定位的 IP 地址

程序包启动后,可重新定位的 IP 地址便添加到指定的 IP 子网上。程序包停止后,可重新定位的 IP 地址就从指定的子网中删除掉。添加和删除可重新定位的 IP 地址由程序包控制脚本中的 cmmodnet 命令处理,此脚本在第 6 章“配置程序包及其服务”中进行了详细说明。

IP 地址仅配置在每个主网络接口卡上;备用卡不能配置 IP 地址。同一个网卡上的多个 IPv4 地址必须属于同一个 IP 子网。

分载

在一个程序包中,可以将多个服务与同一 IP 地址关联。如果其中一个服务移到了新的系统,则使用相同 IP 地址的其他服务也将转移。可以通过使每个服务都有自己的程序包并为其分配一个唯一的 IP 地址来实现分载。这使管理员能够将所选的服务移到负载较少的系统。

监视 LAN 接口和检测故障

每隔一定时间,Serviceguard 就会轮询群集配置文件中指定的所有网络接口卡。将按下列方式检测每个节点内的网络故障。节点上的某个接口被指定为轮询者。轮询者将轮询该节点所属桥接网中其他主接口和备用接口以检查它们的运行状况是否正常。通常,轮询者是一个备用接口;如果桥接网中没有备用接口,则将指定主接口来执行轮询任务(第 2 章的“冗余网络部件 ”介绍了桥接网)。

轮询接口将 LAN 信息包发送给节点中同一个桥接网上其他接口,并接收它们返回的信息包。

一旦 LAN 驱动程序报告错误,Serviceguard 就会立刻声明相应的卡已停止,并执行本地切换。例如,如果该卡无法发送信息,Serviceguard 就会立刻收到错误通知,并将该卡标记为已停止。

Serviceguard 网络管理器还会监视某个接口上发送和接收的数据包的数量,以确定卡是否出现问题。Serviceguard 处理发送和接收的数据包的数量有两种方式。在群集配置文件中,为 NETWORK_FAILURE_DETECTION 参数选择下列两个值之一:

注释:有关详细阐述,请参阅白皮书《Serviceguard Network Manager: Inbound Failure Detection Enhancement》,可以在 http://docs.hp.com -> High Availability -> Serviceguard -> White Papers 中获得。
  • INOUT:如果在某段时间内入站和出站数均停止增加,Serviceguard 就会将该卡声明为已损坏(Serviceguard 根据 LAN 卡的类型计算时间)。如果只有入站数停止增加,或者只有出站数停止增加,Serviceguard 将不会将该卡声明为已损坏。入站数和出站数必须停止增加。这是缺省值。

  • INONLY_OR_INOUT:如果入站数和出站数都停止增加,此选项也会将该卡声明为已损坏。但如果只有入站数停止,它也会将其声明为已损坏。

    该选项不适用于所有环境。选择此选项之前,务必满足下列条件:

    • 群集中的每个桥接网都应有两个以上的接口。

    • 每个主接口至少应有一个备用接口,并应与一个备用交换机相连。

    • 主交换机应直接与其备用交换机相连。

    • 所有桥接网中的任何位置均不应有单点故障。

注释:可以在群集启动和运行时更改 NETWORK_FAILURE_DETECTION 参数。

本地切换

本地网络切换包括检测本地网络接口故障及故障切换到本地备份局域网卡(也称为备用局域网卡)。备份局域网卡不能配置任何 IP 地址。

本地网络切换时,以太网的TCP/IP 连接不会丢失,但 IEEE 802.3 连接将丢失。对于 IPv4 来说,以太网、令牌环网和 FDDI 使用 ARP 协议,且 HP-UX 发送无需应答的 ARP 来通知远程系统进行 MAC(链路层)地址和 IP 层地址之间的地址映射。IEEE 802.3 没有 rearp 功能。

IPv6 使用 NDP(Neighbor Discovery Protocol,邻节点发现协议),而不是 ARP 协议。主机和路由器使用 NDP 协议执行以下操作:

  • 确定相同链路上相邻路由器的链路层地址,并快速清空无效的缓冲值。

  • 查找可以代替它转发数据包的相邻路由器。

  • 主动跟踪哪些相邻路由器是可以到达的,哪些是不可到达的,并检测发生变化的链路层地址。

  • 当到达某个路由器的路径出现故障时,搜索其他正常运行的路由器。

以太网系列支持以下本地切换配置。

  • 1000 Base-SX 和 1000 Base-T

  • 1000 Base-T 或 1000 BaseSX 以及 100 Base-T

但是,在 HP-UX 11i 上,只有配置了 1000Base-T 或 1000Base-SX 卡时,才能使用特大帧。100Base-T 和 10Base-T 不支持特大帧。另外,运行 1000Base-T 或 1000Base-SX 的网络接口卡不能本地故障切换到 10BaseT。

在转移过程中,IP 信息包将丢失,但 TCP(传输控制协议)将重新传送这些信息包。使用 UDP(用户数据报协议)时,协议将不会自动传送这些信息包。但是,由于 UDP 是一种不可靠的服务,所以应使 UDP 应用程序准备好如何处理丢失网络信息包并正确地进行恢复。注意仅在同一类型的两个 LAN 之间才支持本地切换。例如,不支持以太网和 FDDI 接口之间的本地切换,但支持 10BT 以太网和 100BT 以太网之间的本地切换。

图 3-16 “本地网络切换前的群集 ” 显示了在一个桥接网中连接的两个节点。LAN 段 1 和段 2 由一个集线器连接。

图 3-16 本地网络切换前的群集

本地网络切换前的群集

节点 1 和节点 2 通过 LAN 网段2 通信,LAN 网段 1 是一个备用 LAN 网段。

图 3-17 “本地网络切换后的群集 ” 中显示了当节点 1 上的 LAN 网段 2 的网络接口卡发生故障时将发生的情况。

图 3-17 本地网络切换后的群集

本地网络切换后的群集

备用接口接管后,IP 地址将切换到与备用接口关联的硬件路径。这种切换在 TCP/IP 层上是透明的。所有应用程序都继续在它们的原节点上运行。此时,由于发生转移,节点 1 上的 IP 通信将延迟。但是 TCP/IP 连接仍将继续保持,应用程序也将继续运行。节点 1 上的程序包控制将不受影响。

注释:在以太网上,Serviceguard 支持在配置有“以太网协议”的网络接口之间、或在配置有“封装在 IEEE 802.3 协议内的 SNAP”的网络接口之间进行本地故障切换。不能在同一接口上同时使用这两种协议,也不能在使用不同协议的接口之间进行本地故障切换。

图 3-18 “电缆出现故障后的本地切换 ” 显示了本地切换的另一个示例。此时,影响网段 2 的故障导致了两个节点都切换到了连接到网段 1 的局域网卡上。

图 3-18 电缆出现故障后的本地切换

电缆出现故障后的本地切换

本地网络切换适用于包含一个或多个节点的群集。您可以设计一个单节点群集,以便在只需一个节点且不希望设置复杂群集的情况下利用此本地网络切换功能。

本地切换后再切换回主 LAN 接口

如果主接口发生故障,则子网将切换到备用接口。如果主接口稍后恢复,则群集守护程序会将子网切换回主接口。每当节点暂停时,群集守护程序 (cmcld) 总会试图将运行在备用接口上的任何配置了 Serviceguard 的子网切换回主接口。进行此操作时将不会考虑主接口的链路状态。这种切换回操作的目的是要保持群集启动前的原始网络配置。如果执行 cmhaltnode 命令,则将在特定节点上发生这种切换回操作,如果执行 cmhaltcl 命令,则它将在群集内的所有节点上发生。

远程切换

远程切换(即程序包切换)涉及将程序包和与之相关的 IP 地址移动到新系统中。新系统必须已配置好相同的子网并且运行正常,否则程序包将无法启动。进行远程切换时会丢失 TCP 连接。TCP 应用程序必须重新进行连接;此过程不会自动进行。请注意,如果程序包依赖于多个子网,则在程序包启动之前目标节点上的所有子网都必须是可用的。

请注意,仅在同一类型的 LAN 之间支持远程切换。例如,如果某台机器使用的是以太网接口,而故障切换机器使用的是 FDDI 接口,则不支持它们之间的远程切换。可重新定位的 IP 地址的远程切换如上面的图 3-5 “切换程序包前”图 3-6 “程序包切换后” 中所示。

切换后的地址解析消息

当浮动 IPv4 地址移到一个新接口(本地或远程的)时,就会广播一个 ARP 消息,说明 IP 地址和链路层地址之间的新映射。对于每个已移动的 IPv4 地址,都会发送与其对应的 ARP 消息。接收广播的所有系统都将更新相关联的 ARP 高速缓存项来反映此变化。目前,ARP 消息是在 IP 地址添加到新系统时发送的。并且,该消息是以 ARP 请求的形式发送的。ARP 请求消息的发送者和接收者协议字段都设置为同一个浮动 IP 地址。这将确保收到此消息的节点不发送答复。

与 IPv4 不同,IPv6 地址使用 NDP 消息来确定其相邻路由器的链路层地址。

自动端口聚合

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 “聚合的联网端口” 中显示了两个示例。

图 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 文档。

VLAN 配置

Serviceguard 群集支持使用 HP-UX VLAN 软件的虚拟 LAN 配置。

什么是 VLAN

虚拟 LAN(或 VLAN)是一种技术,它允许对网络节点进行逻辑分组,而不考虑其物理位置。

可以使用 VLAN 将一个物理 LAN 分为多个逻辑 LAN 网段或广播域,从而有助于减少广播流量,提高网络性能和安全性以及可管理性。

可以从物理 LAN 接口配置多个 VLAN 接口,其中每个接口都具有自身的 IP 地址;这些 VLAN 接口对应用程序显示为普通网络接口 (NIC)。有关配置 VLAN 接口的详细信息,请参阅《Using HP-UX VLAN》(5991-0617)。

支持 HP-UX VLAN

VLAN 接口可以用做群集中的心跳线和数据网络。网络管理器可监视群集中配置的 VLAN 接口的运行状态,并在检测到 VLAN 接口出现故障时,执行本地和远程故障切换。VLAN 接口故障通常是由于基础物理 NIC 端口或聚合 (APA) 端口出现故障而引起的。

配置限制

HP-UX 允许在物理网络接口控制器端口上配置多达 1024 个 VLAN。满足这样的配置需要大量的系统资源;如果在每个群集节点中配置了大量网络接口,则 Serviceguard 的性能可能会降低。为了防止这种问题以及其他问题,Serviceguard 实施了下列限制:

  • 每个节点最多支持 30 个网络接口。这些接口可以是物理 NIC 端口、VLAN 接口、APA 聚合接口或三者的任意结合。

  • VLAN 本地故障切换必须在相同的链路类型上进行。 例如,可以从 VLAN-over-Ethernet 故障切换到 VLAN-over-Ethernet,或从 VLAN-over-FDDI 故障切换到 VLAN-over-FDDI,但不会从 VLAN-over-Ethernet 故障切换到 VLAN-over-FDDI,反之亦然。

  • 主 VLAN 和备用 VLAN 必须具有相同的 VLAN ID(或标记 ID)。

  • 只有 HP-UX 11i 发行版支持 VLAN 配置。

  • 只支持基于端口和基于 IP 子网的 VLAN。因为 Serviceguard 不支持除 TCP/IP 以外的任何其他传输协议,所以不支持基于协议的 VLAN。

  • 必须为每个 VLAN 接口在每个独立的子网中分配一个 IP 地址,除非该 VLAN 是作为主 VLAN 接口的一个备用接口。

  • 由于 VLAN 软件的限制,不支持从物理 LAN 接口到 VLAN 接口或反向的故障切换。

  • 不支持在广域网群集中使用 VLAN。

  • 如果使用 CVM 磁盘组(在支持 CVM 的系统上使用;请参阅“关于 VERITAS CFS 和 CVM”),则不得在 VLAN 接口上配置 Serviceguard 心跳线。

其他心跳线要求

VLAN 技术允许进行更加灵活的网络配置。 为了在这样的环境中维护 Serviceguard 的可靠性和可用性,在群集使用 VLAN 时强化了如下的心跳线规则:

  1. 为了避免单点故障,必须在单独的物理 NIC 或 APA 聚合上配置 VLAN 心跳线网络。

  2. 仍建议在包括 VLAN 在内的所有群集网络中使用心跳线。

  3. 如果要使用 VLAN,但决定不对心跳线网络使用 VLAN,则建议对群集配置文件中指定的所有其他物理网络或 APA 聚合使用心跳线。

打印版本
保密声明 使用本网站表示您同意其使用条件
© Hewlett-Packard Development Company, L.P.