浙江杭州招聘:IBM红皮书上翻译的HACMP原理

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 14:49:44

在我们解释什么是HACMP以前,我们先来定义一下高可用性的概念。

High availability

在当今复杂的环境下,成功实现IT应用的一个关键要素就是提供不间断的应用服务。HA就是这样一个可以通过消除计划内/计划外宕机事件从而向客户应用提供不间断服务的部件,它能达到消除从硬件到软件的单点故障(SPOFs)。

一个高可用性解决方案可以保证方案中任何组件的失效(包括硬件、软件或系统管理)都不会造成客户无法访问应用和应用数据。

高可用性解决方案可以通过恰当的设计、计划、硬件选择、软件配置以及细心控制改变管理方法来消除单点故障。

Downtime

停机时间是指应用程序不能为客户端提供服务的时间。停机时间分为:

?        计划内:

-        硬件升级

-        维修

-        软件更新/升级

-        备份(离线备份)

-        测试(对群集确认必须进行周期性测试)

-        发展

?        计划外:

-        管理员过失

-        应用失效

-        硬件失效

-        其他不可抗力(天灾)

IBM针对AIX的高可用性解决方案——HACMP给予饱经考验的IBM群集技术,它包括以下两个组件:

?        高可用性:该进程保证应用在用户复制和/或共享资源时是可用的。

?        群集多处理:该进程提供在同一节点上多个应用共享或并发访问数据。

基于HACMP的高可用性解决方案提供自动失效检测、诊断、应用恢复和节点重新控制。在恰当的应用中,HACMP还可以在并行应用处理中提供对数据的并发访问,从而提供更高的可扩展性。

标准的HACMP环境如图1-1

 

1.1.1.        历史与发展

IBM HACMP最早可追溯至90年代。HACMP1990年开始为RS/6000机器上的应用提供高可用性解决方案。

我们不会提供关于更早版本的信息,原因在于这些版本要么已经不被支持或者已经不再使用,我们只提供近期一些版本的相关信息。

HACMP V4.2.2

较早版本,引入了基于RSCTReliable Scalable Clustering Technology)技术的增强的可扩展版本,组、事件管理服务都从并行系统支持(PSSP)中引入。

HACMP V4.3.X

该版本引入了更多的支持,包括32节点、增强的C-SPOCATM网络、HACMP 任务指南(图形化的HACMP简单配置)、多脚本(安装前、后)、FDDI MAC地址接管、监视和管理增强、节点到节点的迁移以及AIX快速连接支持。

HACMP V4.4.X

该版本中增加了Tivoli集成、应用监视、无退却层叠、增强的C-SPOC、改良的迁移支持、集成HA-NFS功能和软件副本文档(pdf或者doc)。

HACMP V4.5

在线这个版本中要求AIX5L以上,自动配置发现特性、在每个网卡上的多服务标签支持(通过ip aliasing),固定IP地址、64位应用支持、监视和恢复丢失的VG quorum

HACMP V5.1

该版本在配置简单化和性能增强方面都有了重大改变,V5.1的主要特性如下:

?        SMIT标准和扩展配置路径

?        自动配置发现

?        定制资源组

?        IP网络基于通过磁盘的心跳

?        快速磁盘接管

?        心跳通过IP aliases

?        HAS不再保留,现在只有基于IBM RSCTHACMP/ES

?        通过使用群集通讯进程提高了安全性(消除了使用AIX r命令,也消除了对/.rhosts文件的依赖)

?        为群集的定制和同步提高了性能

?        标准化HACMP术语

?        简单化配置和维护

?        增强的在线计划工作表

?        强制要求varyon VG

?        自定义资源组

?        接管节点上服务IP/标签心跳监视

?        心跳通过IP别名

?        心跳通过磁盘

?        不同的C-SPOC增强

?        GPFS集成

?        快速接管

?        群集确认增强

?        改良的资源组管理

HACMP V5.2

20047月开始,新的HACMP V5.2在管理、配置简单化、自动化和性能方面增加了不少内容:

?        2-节点配置助手,可以通过SMIT菜单或者Java™接口

?        文件收集

?        用户密码管理

?        Classic资源组不再使用,取而代之的是自定义资源组

?        自动测试进程

?        自动群集校验

?        增强的OLPW可以导出已存在的HACMP群集的配置

?        事件管理被资源监视和AIX的一个控制子系统(RMC)所取代

?        增强的安全性

?        资源组依赖关系

?        自复原群集

注意:本书出版时HACMP V5.1V5.2都已出现,但认证考试仅包括V5.1的主题

1.1.2.        高可用性的概念

需要保护什么?从根本上讲,在一个关键环境中IT方案就是要提供连续的服务和数据保护!HA就是完成不间断服务这一目标的。高可用性基于硬件的可用性和软件(操作系统及其组件)、应用程序和网络组件的可用性。

实现一个高可用性解决方案,你需要:

?        冗余服务器

?        冗余网络

?        冗余网络接口卡

?        监视

?        故障检测

?        故障诊断

?        自动接管

?        自动重新控制

实现HACMP的主要目标就是消除单点故障。

1.1.3.        高可用性Vs容错

系统发现和处理软硬件故障可以定义为两种:

?        容错系统

?        高可用性系统

容错系统

它是提供冗余的设计为不间断操作而不管故障的发生(除非天灾造成整个站点瘫痪)。在这样的系统中,所有的组件都是双份的(不管是硬件还是软件),CPU、内存、磁盘都有特殊的设计来提供不间断服务,甚至于一个子系统失效。

这样的系统是非常昂贵和非常专业的。实现一个冗余系统需要大量的努力和对所有组件的高度定制。只有在要求0宕机的环境下,容错系统设备和方案才有需求。

高可用性系统

配置为高可用性的系统是一组软件、硬件的组合可以保证系统失效后可以在可接受的宕机时间内恢复。在这种系统中,软件负责监测到环境故障后将应用交给另一个机器实现队员机器的接管。因此,在这种环境下重要的是消除SPOF。例如,如果及其只有一个网络连接,就需要提供第二块网卡以备主网卡失效后接管。另一点就是通过将数据放在所有节点都可以访问的共享磁盘上并实现镜像。

HACMP软件提供一个框架以及一系列的工具来将应用程序集成到一个高可用性系统中。应用系统被集成到HACMP群集中需要公正的定制(非应用级别,而是HACMPAIX平台级别)。

HACMP是一个灵活的平台,它允许集成AIX平台的大多应用,在一个合理的代价下实现高可用性系统。

1.1.4.        高可用性解决方案

高可用性解决方案优点如下:

?        标准化的组件

?        可以在已有的硬件上实现

?        可以和大多应用协同工作

?        支持大多数磁盘和网络类型

?        合理的价格实现优秀的可用性

IBM针对p系列服务器的高可用性解决方案有些独特的优点。这些优点包括:

?        Proven解决方案(长达14年的产品发展)

?        灵活性(事实上在单机AIX上运行的应用在HACMP中都被保护)

?        使用原来的硬件组件

?        Proven客户支持

考虑提供高可用性解决方案包括:

?        详尽的设计和计划

?        消除单点故障

?        选择适当的硬件

?        正确执行(没有捷径)

?        严格的系统管理练习

?        文档化操作步骤

?        全面测试

1.2.        HACMP的概念

HACMP的基本概念可以作如下分类:

?        群集拓扑

包含基本的群集组件——节点、网络、通讯接口、通讯设备、通讯适配器。

?        群集资源

被设为高可用性的实体(例如文件系统、裸设备、服务IP标签、应用等)。所有资源被组织成资源组(RG),HACMP保持唯一实体——资源组——的高可用性。资源组可以被一个节点访问或者在并发应用中同时有多个节点访问。

?        Fallover

在活动节点出现故障时,将资源组从活动节点转移到备份节点的动作。

?        Fallback

原来的活动节点恢复时,将资源组切换回原节点的动作。这是将失效节点重新集成到集群的标准动作。

1.2.1.        HACMP术语

要理解HACMP的正确功能并利用它,就必须知道一些术语:

?        群集

为共享资源和相互通讯而通过网络连接在一起的独立主机(节点)或者LPARs称为群集。HACMP负责定义在协同的系统中那个节点提供服务那个节点不提供服务。所有节点共同负责维护应用的功能可用(在群集节点失效时)。

?        节点

在群集中的所有运行AIXHACMP软件的IBM p系列服务器(或者LPAR)都是节点。每个节点都有一个资源集(磁盘、文件系统、IP地址、应用)在该节点失效时可以被群集中其他节点接管。

?        资源

资源是在群集配置中可以从一个节点转移到其他节点的逻辑组件。所有必须提供高可用性应用的资源被构成资源组(RG)。当节点失效时,资源组中的组件被一同从一个节点移动到另一个节点。一个群集可以有多个RG,从而提供节点的效率(也就是HACMP中的Multi-Processing)。

?        接管

在群集内部节点之间传送资源的操作称为接管。如果一个节点发生硬件故障或AIX故障,它的资源应用会被移到另一个节点。

?        客户

客户就是可以通过局域网访问群集节点应用的一个系统。客户通过运行客户端程序连接到应用所在的服务器上。

1.3.        HACMP/XD

AIX下的HACMP是基于软件实现解决连续操作的问题。它致力于恢复计算机、适配器、以及单一站点的网络故障。标准HAGEO如图1-2

 

要实现异地容灾应用,还需要有附加的软件。HAGEO提供:

在不同的地理站点间实现群集

HAGEOHACMP扩展到两地的数据中心,它在站点级别防止了群集单点故障。远程镜像提供给每个站点一个关键数据的拷贝。异地容灾的每个站点都可以不间断地运行关键应用即使一个站点发生天灾。

自动失效监测和通告

HAGEO通过HACMP提供自动监测站点或者地理网络失效。它可以发起恢复进程并向系统管理员报告他所发现的错误,同时接管相应应用。

自动Fallover

HAGEO包含时间脚本来恢复站点会地理网络故障。这些脚本都集成在标准的HACMP时间脚本中。和HACMP中一样,你可以通过添加脚本来自定义配置行为。

灾难快速恢复

HAGEO同样在可操作站点间提供快速恢复数据和应用。远程镜像进程确保当天灾降临时数据在第二个站点始终可用。恢复时间一般需要数分钟即可,这还不包括应用恢复的时间。

站点恢复时自动重新同步数据

HAGEO用来重新在每个站点间同步的进程是站点恢复进程的一部分。重建站点的节点会自动更新站点失效期间接受的数据。

可靠的数据完整性和一致性

HAGEIO的地理镜像和地理消息组件确保如果站点失效,存活的站点的数据和失效站点的数据的一致性。当失效站点重新加入群集时,HAGEO从可操作站点更新数据以确保数据的一致性。

灵活的、可升级的配置

HAGEO软件支持大范围的配置,允许按你的需求配置一个灾难恢复解决方案。在一个HAGEO群集中最多可以有8个节点,每个站点的节点数目可以灵活配置。既然远程镜像和他所支持的磁盘设备一样是独立的,HAGEO也是独立于文件系统和数据库的。因为镜像是透明的,使用远程镜像的应用不需要做任何的改变。

1.3.1.        HAGEO/XDHAGEO componets

本软件有三大重要功能:

?        地理镜像(远程镜像):

数据通过第一个站点进入第二个站点的镜像过程有一个逻辑设备和一个伪设备驱动。TCP/IP被用作数据镜像的传送器。地理镜像可以使用同步或异步模式,这取决于站点间的通讯带宽以及应用的传输量(取决于数据的变化量)。

?        地理信息:

在两个站点间使用地理镜像传输数据时提供可靠的数据和消息。

?        地理拓扑:

在整个站点发生灾难时提供集成化的地理镜像工具和HACMP工具提供的故障自动监测和恢复。

?        灾难恢复:

当一个站点发生故障时,其他存活站点的节点上的群集管理器会立刻监测到这一事件并切换脚色以保持地理镜像应用的可用性。同样,如果构成群集的主干网络故障,站点中的群集管理器处于无人控制状态,那么群集管理器就会使自己宕机以确保数据不会有分歧。

1.3.2.        HACMP/XDHAGEO的基本配置

可以配置HAGEOHACMP支持的任何配置:包括备用、单方面接管、互相接管以及并发访问配置。

?        备用配置

备用配置是传统的硬件冗余配置,只有当一个节点失效时其他节点才会启用。在HAGEO中,这就转化为有一个空闲站点。当然,它不可能完全空闲(要处理地理镜像进程)。但是在这个站点的节点不会执行应用。

?        接管配置:

在接管配置中所有节点都处理应用;不存在空闲站点。它包含:

-        站点内(本地)接管;

-        远程单向接管;

-        远程双向接管。

?        并发配置:

在并发访问配置中,一个站点的所有节点对并发卷组进行同时访问并拥有相同的磁盘资源,另外的站点也是同样的配置。如果一个节点离开站点,资源的可用性不受影响,因为其他节点会将卷组varyon起来。如果一个站点故障,其他站点将向失效站点提供并发访问一个并发访问可以从群集中任何一个节点访问。HACMP 群集Lock Manager必须运行在群集的所有节点上。包括跨地理环境的节点,并非所有的数据库都可以并发访问。

1.3.3.        HACMP/XD PPRC 集成特性

这一特性最初在HACMP V4.5 PTF5HACMP V5.1中引入,它提供自动远程站点fallove和自动远程拷贝应用数据,应用于所有站点使用IBM ESSPPRCPeer to Peer Remote Copy)功能提供存储卷镜像。

当主站点失效后,数据在第二站点依然可用(通过PPRC同步)。第二个站点必须激活数据拷贝以用来处理交易。

HACMP/XD PPRC集成特性提供自动数据分割拷贝以保证主站点失效后重新在线时的可用性。更多信息请参阅SA22-7955

 

第二章        计划和设计

当计划和设计高可用性群集时,你必须跟随客户的需求。你应该对最为高可用性的硬件、网络配置和应用有较好的理解;同时,你还应具备在故障中控制应用的行为的能力。

理解应用在故障时的行为对于控制群集在同样环境下起作用是至关重要的。

计划和实现群集的必须信息还覆盖应用程序、环境、硬件、网络、存储、支持和改变过程等环节。

本章将描述以下HACMP群集主题:

?        节点大小的考虑

?        群集硬件的计划

?        软件计划

?        存储计划

?        灾难恢复计划

注意:计划是实现群集的一半,但是,但开始HACMP时,我们不能认为正确的计划就足够了。如果计划不正确,你会发现自己在随后某一点上会陷入混乱,恢复这些混乱是痛苦的经历。因此,花些时间来对产品进行计划工作表对以后迁移或者发现问题或者计划文档的价值都是无法估量的。

2.1.        计划编制过程中需要考虑的事项

当编制一个高可用性群集计划时,你应该考虑节点、存储、网络等等的大小以保证应用正常运行所必需的资源——甚至是接管环境。

2.1.1.        大小:选择群集的节点

开始实现群集之前,你必须知道需要多少个节点以及使用节点的类型。节点类型对于应用的资源需求是重要的。

群集节点的尺寸涵盖如下方面内容:

?        CPUCPU的个数以及速度)

?        每个节点的内存数目

?        磁盘存储(内部的)

?        通讯适配器和磁盘适配器的个数

?        节点的可靠性

节点数目的需求取决于设计为高可用性的应用的数目和期望的应用有效度。在群集中为每个应用使用一个以上的不同节点可以增加应用的可靠性。

注意:在HACMPV5.1群集下节点数目最大为32个。

HACMPV5.1支持多种节点类型,从桌面系统到高端服务器,SP节点和LPAR同样支持的很好。更多信息请参考SC23-4861-02

节点共享资源取决于应用的需求。执行任务的节点并不和作为高可用性的应用发生直接关系,也不需要应用节点的共享资源,因此,他们应该被配置成另一个群集以易于实现和管理。

所有节点应提供足够的资源(CPU、内存、适配器等等)以执行在热备环境下设计的应用。

尽你所能在群集中增加附加的节点来提高群集的可用性,这同样可以提供更高灵活性的节点切换、重建和维护操作。

我们建议您的群集节点使用同样的硬件配置,特别是在相互备接管或者并发配置的群集中。同样的硬件配置使你更容易实现资源分配和执行管理操作(软件维护等等)。

2.1.2.        大小:存储考虑

在通常大多数用户配置中,配置为高可用性的应用需要一个共享的存储空间来存储应用数据。共享的存储空间既可以使用为并发访问,也可以是在接管节点上对应用同样可用(在热备环境下)。

群集的存储应该对针对每个应用的设计节点提供共享访问。HACMP支持的存储技术包括SCSISSAFibreChannel等等。

存储必须依照应用的要求被配置成非共享的(专有的)或者共享的存储。专有的存储应该是内部磁盘,它和接管活动无关。

共享的存储应能提供控制访问的机制,应考虑以下前提:

?        共享存储上的数据应该在应用运行的任一点、任意时间被任一节点访问。在有些案例中,任意时刻只有一个节点运行应用(非并发的),但是在有些案例中数据必须提供并发的访问。

?        在非并发环境下,如果数据被错误的节点更新,就会产生数据被破坏的后果。

?        在并发环境下,应用应提供它自己的数据访问机制,因为在当前的软件平台下(AIX/HACMP)由存储控制访问机制只是辅助手段。

2.1.3.        网络考虑

当计划一个HACMP群集时,以下方面是必须考虑的:

?        IP网络的拓扑结构(路由、交换等等)

?        IP网络的性能(速度/带宽、延迟、冗余等)

?        ATM/X.25网络配置

IP网络用来提供客户对群集中节点上应用的访问和在群集节点间交换心跳信息。在一个HACMP群集中,通过IP网络和点到点(非IP网络)进行心跳信息交换。

HACMP被设计为通过基于TCP/IP的网络、X.25ATM网络提供客户端访问。

2.2.        HACMP群集计划

群集计划可能是实现一个成功的群集配置的最重要的步骤。HACMP计划应包括以下方面:

?        硬件计划

-        节点

-        网络

-        存储

?        软件计划

-        操作系统版本

-        HACMP版本

-        应用程序兼容性

?        测试和维护计划

-        测试程序

-        改变管理

-        管理操作

硬件计划

实现高可用性配置的目标是通过消除单点故障(硬件、软件和网络)、掩饰服务中断(不管是计划内的还是计划外的)来实现高可用性服务。

节点计划的要素是:

?        支持的节点:机器类型,特性,支持的适配器,电源支持(直流、交流或者双电源等等)。

?        连接和线缆:线缆类型、长度、连接器、型号、通道路由、线缆容量和可用性。

2.2.1.        节点配置

HACMPV5.1支持IBMp系列(独立主机和LPAR模式)、IBMSP节点,还有现存的RS/6000服务器在一个群集中混合使用。节点必须满足最小的硬件(内部内存、内部磁盘、可用的I/O插槽)需求和操作系统兼容性(AIX版本)。

考虑以下方面:

?        内部磁盘(磁盘数量、容量以及LVM是否镜像?)

?        共享磁盘容量和存储数据的保护方法(RAIDLVM镜像)

?        I/O插槽的限制以及可能产生单点故障的后果

?        客户对群集的访问(网络适配器)

?        其他局域网设备(交换机、路由器、网桥)

?        I/O适配器和子系统的冗余

?        电源供应冗余

2.2.2.        网络配置

规划群集网络的目标就是为消除单点故障而使用的网络的冗余度,需考虑以下方面:

?        网络:节点连接到多个物理网络上

?        TCP/IP子系统失效:使用非IP网络有助于解决此问题。

?        网络接口:在每个网络上使用冗余网络适配器(防止因为单个网络接口失效引起资源接管)

规划群集网络配置时,你必须选择正确的节点连接方法:

?        群集网络拓扑(交换机、路由器等等)

?        对每个节点到所有网络的连接复合IP连接和非IP连接。

提供高可用性服务IP地址的方法:

?        通过IP别名接管

?        通过IP替换接管

要了解HACMP配置支持的节点和适配器完全列表,请参考SC-23-4861-02IBM网站:http://www-1.ibm.com/servers/eserver/pseries/ha

2.2.3.        HACMP网络术语

HACMPV5.1开始,描述HACMP配置和操作的术语有了比较明显的变化,变化的目的是为了简化使用和维护HACMP,同时统一IBM产品线中的术语。例如:在HACMP以前版本中,根据上下文关联,术语Adapter会有不同的意义,这会使配置更难和造成混乱。

IP标签

术语IP标签表示和一个指定IP地址关联的名称,也就是在群集节点中使用命名服务(DNS或者/etc/hosts)。它替换了主机名(容易和hostname命令混淆,它和IP没有关联)。

HACMPV5.1中,术语Adapter被替换成:

?        服务IP标签/地址:一个服务提供的IP标签/地址,它可能绑定在一个节点上或者多个节点共享来通过HACMP提供高可用性。

?        通讯接口:一个支持TCP/IP协议簇的物理接口。

?        通讯设备:在点到点非IP网络中的一端的物理设备,例如/dev/tty1/dev/tmssa1/dev/tmscsi1/dev/hdisk1

?        通讯适配器:用来提供实现高可用性通讯链路的X.25适配器。

服务IP标签/地址

服务IP地址是客户端用来访问的IP地址。这个地址(和它所关联的标签)属于资源组的一部分,可以被HACMP监视。

有两种类型的服务IP地址/标签:

?        共享的:有多个节点共享并且是资源组的一部分,同一时间只能在一个节点上活动。

?        节点范围的:单个节点使用的。通常它使用在并发资源组中。

HACMP启动并且服务IP地址所关联的资源组出于在线状态时,服务IP地址才能可用。

通讯接口

HACMP中定义的通讯接口是如下的逻辑组:

?        逻辑网络接口是AIX提供给物理网络接口的名称(例如en0

?        服务IP地址是应用(服务)提供的用来让客户访问的IP地址。

?        服务IP标签是映射服务IP地址的一个标签。

一个通讯接口可以参考到一个基于IP的网络和一个网络适配器。物理的网络适配器被HACMP组合成逻辑网络。

每个网络适配器都有能力提供多个IP地址。在群集中,HACMP会监视你所定义的IP地址(基本IP或者BootIP)并将服务IP地址设为高可用。

HACMP中通过通讯接口进行心跳。HACMP使用RSCT子系统(使用UDP)的心跳功能监视它的网络接口和IP地址。HACMP审查网络拓扑并将它存入RSCTODM库当中,不管哪个节点启动HACMP服务,RSCT都能向HACMP提供失效通知。

通讯设备

HACMP同样提供对点到点非IP网络的监视。点到点网络的两端都是AIX设备(在/dev下定义的),这些就是通讯设备,它包括:RS-232串口连接、SCSI目标模式、SSA目标模式和磁盘心跳连接。

点到点网络同样被RSCT监视,它们的状态信息会被HACMP用来区分节点失效和网络失效。例如:在HACMP中可以使用通过硬盘的心跳(两端都使用,名称为/dev/hdisk2)。

在两个节点的群集网络中推荐最少使用一个非IP网络。

在使用磁盘作心跳时,推荐至少在每两个节点(或者每个磁盘柜)间有一条连接。同一磁盘不能被使用在两个点到点网络中。

通讯适配器和链路

可以定义如下通讯链路作为HACMP的资源:

?        通过LAN适配器(ent*)的SNA配置

?        通过X.25适配器的SNA配置

?        自然X.25链路

HACMP把这些链路作为资源组的一部分来进行管理,从而确保链路的高可用性。在发生网络接口失效、X.25链路失效、节点失效等事件时,高可用性通讯链路会转移到该节点的另一个可用的适配器上、或者接管节点上。

IP别名

IP别名就是相对基本IP来讲,对网络接口配置的附加的IP地址。IP别名是AIX提供的功能并且在HACMP中支持的。AIX支持在一个通讯接口上有多个IP别名,每个IP别名属于不同的子网。AIX同样支持在一个通讯接口上的IP别名使用不同的子网掩码,这个功能不被HACMP支持。

IP别名在HACMP中既可以作为服务IP,也可以作为非服务IP,象心跳配置。

网络接口的职责

IP网络中,建议每个网络、每个节点配置一个以上的通讯接口。根据HACMP群集的状态,通讯接口可以有不同的规则。

?        服务接口

服务接口就是配置了服务IP地址/标签的通讯接口,根据每个网络IP地址接管方法,服务IP可以添加到基本IP之上(IPATviaaliasing)或者替换通讯接口的基本(引导)IP。服务接口是用来提供对节点应用访问的,服务IP地址可以被HACMP通过RSCT心跳监视。

?        引导接口

引导接口是在AIX中定义的通讯接口的基本IP地址。如果通过IP别名心跳,HACMP就不会监视基本IP地址,但是通讯接口在引导时HACMP通过IP别名来监视它。没有任何客户流量通过引导接口;然而,如果一个服务接口失效,HACMP会将服务IP转移到非服务接口上。如果节点失效,接管节点的林一个接口会配置服务IP地址以执行资源组接管。

注意:一个节点对每个网络可以有0-7个非服务接口;在同一个网络上使用多个非服务接口可以消除通讯接口的单点故障。

?        永久节点IP标签

永久性节点IP标签是一个被指定给群集中指定节点的IP别名。永久性节点标签:

-        是绑定节点的

-        可以于网络适配器上已有的服务/非服务IP标签

-        优点是不需要在节点上安装额外的网络适配器

-        不是任何资源组的一部分

指定一个节点绑定IP标签提供了一个绑定节点的IP地址,它对管理功能相当有用,因为连接到永久性IP标签会连接到特定的群集节点,甚至在该节点没有运行HACMP服务的情况下。

注意:在每节点、每网络上配置一个永久性IP标签是可能的。例如:如果你有一个节点连接到HACMP定义的两个网络上,那个节点就可以用两个永久性IP标签标识,每个网络一个。

永久性IP标签是在HACMP中定义的,在每个节点上HACMP第一次启动时它们都是可用的。一旦被配置,永久性IP标签会一直可用甚至该节点没有运行HACMP或者该节点被重启动。

永久性IP标签可以在如下的基于IP的网络中使用:

-        以太网

-        令牌环

-        光纤分布式数据接口

-        ATM局域网仿真

局限性:永久性IP标签不能在SP交换机、ATM传统IP或者非IP网络上配置。

永久性IP标签的行为如下:

如果网络适配器上的服务IP标签配置失效,同时它还有一个永久性IP标签配置在该网络适配器上,这是,永久性IP标签就会将自己连同服务IP标签一同转移到同一个非服务接口上。

如果群集指定节点的所有网络适配器都失效,永久性IP标签不再可用。一个永久性IP标签总是在同一个网络、同一个节点上;它不会再群集节点之间移动。

更多信息请参考3.4配置群集拓扑。

为心跳使用的IP别名

这些IP地址是从私有地址池中取的,它们不可路由,被用来在不改变基本地址的情况下监视通讯接口。这一点在不希望改变节点基本IP地址的情况下十分有用,这些地址不遵守HACMP需求(它们在同一子网,这样网络适配器就不能被监视)。

基于这个功能,HACMP提供了通过IP别名进行心跳的使用。

2.2.4.        网络类型

HACMP中,术语网络是用来定义为提供客户访问和群集中节点之间互相通讯的通讯接口和设备的逻辑实体的组合。HACMP中的网络可以定义为IP网络和非IP网络。IP网络和非IP网络都用来在节点之间交换心跳(保活)信息,通过这种方法,HACMP来维护群集节点状态信息和它们各自的通讯接口和设备。

HACMPV5.1支持的网络类型有:

?        以太网(ether

?        令牌环(token

?        光纤分布式数据接口(fddi

?        SP交换和SP交换2hps

?        ATMatm

不支持的网络有:

?        串口光通路转换(SOCC

?        串口线路IPSLIP

?        光通路交换(FCS

?        802.3

?        IBM高性能交换(HPS

IP网络是在两个群集节点间的点到点连接,通过HACMP来控制心跳流量和消息。这些网络可以为HACMP群集提供IP网络(或者是节点的TCP/IP子系统)失效时的附加保护。

以下是HACMP在非IP(基于设备)网络中支持的设备:

?        SCSI目标模式(tmscsi

?        SSA目标模式(tmssa

?        磁盘心跳(diskhb

?        RS-232串口

注意:HACMP现在在AIX5LV5.1以上支持为IP地址接管的通讯接口的以太网聚合(以太网通道)。以太网通道不支持以下特性:

?        硬件地址接管

?        PCI热插拔

同样,在当前版本中HACMP不支持AIX虚拟IP功能(VIPA)和IPV6

2.2.5.        选择IP地址接管(IPAT)方法

实现群集的一个关键是资源组以及与之关联的服务IP地址的行为。因为大多情况下HACMP是用来保护独立主机、非并发应用的,所以必须选择用来提供高可用性的服务IP地址的方法。

当一个应用启动或者它连同它的资源组一起转移到另一个节点时,服务IP标签可以通过以下两种途径配置:

?        通过替换通讯接口的基本IP,又叫做IPATviaIP替换。

?        通过培植通讯接口使用现存IP中最上面的一个,又称为IPATviaIP别名。

HACMPV5.1中默认的IPAT方法是通过别名,要改变默认行为,必须通过HACMP扩展配置菜单改变网络属性。

IP地址接管

IP地址接管是一个当初始化网络适配器失败后通过移动服务IP标签到另一节点的其他网络适配器上来恢复服务的一种机制。IPAT确保基于服务提供的服务IP标签对客户来看始终可用。

IPAT和服务IP标签

我们可以这样解释IPAT的两种方法和它们如何控制服务IP标签:

?        IPATviaIP别名

服务IP标签/地址就是一个已有的通讯接口的别名,无须替换。HACMP使用ifconfig命令执行这个操作。

注意:在这种配置中,同一节点的所有的基本IP地址/标签必须配置为不同的子网(服务IP地址/标签也一样)。这种方法同样节省硬件,但是需要附加的子网。如图Figure2-1

 

HACMP支持不同方式(方式的数目取决于AIX别名网络的容量)的IP地址接管。IPATviaIP别名在某些网络上可以使用免费的ARP能力。IPATviaIP别名允许一个网络适配器支持超过一个的服务标签。也就是说,同一个节点在同一时间可以作为多个资源组的主机,数目取决于可用通讯接口的数目。

IPATviaIP别名相对IPATviaIP替换有以下优点:

-        速度快,因为替换IP地址比在同一接口上配置别名花费的时间要长的多。

-        它允许在一个网络适配器上共存多个服务标签,你就可以在群集中使用较少的网络适配器。

注意:在HACMPV5.1上,保持服务IP标签的默认方法是IPATviaIP别名。

?        IPATviaIP替换

在网络接口上用服务IP标签替换一个已存在的(基本/引导)IP。这种方法在同一时间、同一网络接口上只能有一个服务IP标签。

注意:在这种配置中,服务IP标签必须和节点通讯接口的引导地址在同一子网,然而备份通讯接口的基本IP地址必须在另外一个不同的子网。这种方法节省子网,但是需要附加的硬件。如图Figure2-2

 

如果保持服务IP标签的通讯接口失效,当使用IPATviaIP替换时,HACMP将服务IP标签转移到同一网络、同一节点的其他网络适配器上,在这种情况下,资源组关联不再有效。如果在同一节点上没有可用接口,资源组和服务IP标签会一同转移到有可用通讯接口的其他节点上。

这种方法同样可以实现配置HWAT(硬件地址接管),它是通过伪装自己的MAC地址为本地管理地址LAA来确保ARP有效并且对客户感觉没有变化。

2.2.6.        规划网络安全

规划网络安全是避免无授权的存取集群节点的重要方法。

HACMPV5.1开始,引入了一个新的安全机制,在所有的相关的节点通信之间提供了一个通用的通信基础(daemon)配置。

引入新的集群通信的daemon(clomdES)提供了增强的安全性也加速了相关的配置操作。

有三个层次的通信安全:

?        标准的

-        缺省的安全级别。

-        有集群通信daemon(clomdES)直接实现。

-        使用HACMPodm类和/usr/es/sbin/cluster/rhosts文件去探测合法的节点。

?        增强的安全性

-        SP集群中使用。

-        提供了基于第三方kerberos提供的认证方法去增强认证。

?        虚拟私有网络(VPN

-        AIX中配置VPN

-        然后配置HACMP的所有内置节点使用VPN来连接通信的操作。

通过使用集群安全通信子系统,HACMP消除了需要/.rhosts或者Kerberos在每个节点上的配置。然而,/.rhosts仍然在支持一些应用操作的远程通信机制时使用。

注意:不是所有的集群通信都是通过clomdES实现安全的,其他的daemons有他们自己的通信机制(不是基于r的命令)

?        集群管理(clstrmgrES)

?        集群锁daemon(cllockES)

?        集群多对等扩展通信daemon(clsmuxpdES)

clcomdES用来作集群的同步,集群管理(C-SPOC)和动态重配置等操作。

集群通信的后台进程,clomdES,通过最小特权的原则提供了安全的远程命令执行和HACMP ODM配置文件的更新。因此,仅仅在/usr/es/sbin/cluster的程序可以被root执行,其他的全部都用nobody来运行,除了clcomdES,下面的程序也被使用:

?        cl_rsh集群的远程shell执行程序。

?        clrexecroot用来作特殊的,危险的操作,例如改变/etc下的文件。

?        cl_rcp用来拷贝aix的配置文件。

这些命令是固化在clomdES中并且不支持被用户执行。

clcomdES(集群通信的后台程序)有如下的特性:

?        从此集群的通信不再使用标准的aixr*命令,依赖文件/rhosts已经被移出,因此即使在标准的安全模式,集群的安全性也被增强了。

?        为其他节点的odm复制到本地提供可靠的缓存机制。节点同步命令执行时。

?        限制了在远程节点上以root用户运行的命令(仅仅/usr/es/sbin/HACMP下的)

?        本身被/etc/inittab启动并作为系统资源管理器被管理。

?        提供了自己的心跳机制,发现活动的节点(甚至集群管理和RSCT没有运行时)

注意:clcomdES提供了执行例如clverifygodmrshrexecHACMP服务的一个透明的机制。

ClcomdES认证进程确定进入的连接基于检查节点的下列文件:

?        HACMP适配器ODM(IPlables定义在这个类中)

?        HACMP节点ODM(集群中节点的通信路径使用的IP地址和标签)

?        /usr/sbin/HACMP/etc/rhosts文件

如果/usr/sbin/cluster/etc/rhosts文件不存在或者不包含(IP地址或者可理解的IP标签)远程初始化的节点,那么接入的连接将被拒绝。

如果上述三者均为空,那么clcomdES认为HACMP是在第一次(就一次)始化配置阶段接受连接,然后加入对等的peer的节点的IP地址到/usr/sbin/cluster/etc/rhosts文件。

如果连接的请求匹配一个上述定位中的标签,然后clcomdES反向连接到请求的节点查询对应的ip地址,如果iplabelip地址相匹配,那么认证将成功的完成。

注意:如果不能解析label/usr/es/sbin/cluster/etc/rhosts文件,那么远程节点所有的连接被拒绝。

  

 图片附件: 2-1.JPG (2006-3-29 15:55, 15.59 K)

 

 图片附件: 2-2.JPG (2006-3-29 15:55, 17.22 K)

 

2.3.        HACMP心跳

和其他许多类型的集群一样,心跳用来检测网络接口,通信设备,IP标签(服务的,非服务的,永久性的IP)以及节点本身的可用性。

HACMP V5.1开始,心跳是专有的,基于RSCT拓扑的服务(这样,HACMP V5.1仅有的增强的可扩展性,经典的通过网络模块的心跳,直接被集群管理后台控制)心跳是通过集群中每两个节点间的每个通信设备传递和交换的信息(保活数据包)。每一个集群中的节点定时的间隔发送心跳信号到其他节点,并且预期的接受心跳信号从相应的节点。如果接受的信号中断了,RSCT认可这一个错误并告诉HACMPHACMP将执行合适的恢复动作。

心跳信息可以通过两种网络传送:

?        TCP/IP网络

?        点到点非IP网络

为了避免HACMP集群的分离,HACMP必须能区分节点故障和TCP/IP网络故障。TCP/IP网络可以因为不完美的网络元素(交换机,集线器和电缆等)而发生故障,当这种情况发生时,集群中的节点不能通过IP发送心跳信号,所以每个节点考虑到对方节点故障而都去尝试获得资源,这将导致一个潜在数据问题,特别是使用了并发的资源组时。

IP网络是在两个节点间直接的点对点连接,不再使用IP进行心跳信号的交换,也因此减少了IP网络的故障带来的问题。假如这样的网络类型使用了,那么当IP网络故障时,节点仍然可以交换信息,可以判定网络故障而不会发生资源组的接管操作。

为了避免HACMP被分开,我们推荐配置冗余的网络(IP网络和非IP网络),同时使用这两种网络。建议使用的两个节点的群集参见Figure 2-3

 

2.3.1.        通过磁盘的心跳信号

通过磁盘的心跳是HACMP V5.1的新特性,提供了对防止集群分割和单个非IP网络的附加的保护,特别是当RS-232tmssatmscsi等连接太复杂或无法实现时。

这种类型的网络可以使用许多类型的共享磁盘存储(光纤通道,SSASCSI),磁盘用来交换KA信息的一段只是作为AIX增强并发卷组的一部分,它不是排外性的仅作为这个目的使用,它们仍然可以用来存贮应用共享的数据。

客户需要使用目标模式的光纤通道连接,但是对于异构的FC环境(adapter,存储子系统,SAN交换机),这将很难实施和支持。

使用共享磁盘来交换信息是更可靠的非IP网络,并且不依赖于特定的硬件。此外,在一个SAN环境中,当使用光纤连接设备,非IP网络的光纤的长度仅仅是SAN的限制,因此允许非常长的点对点的网络。

当定义一个磁盘作为增强的并发卷组,这个磁盘的一部分(一部分扇区)将不能给lvm使用,将用来在两个节点间交换信息。

使用基于磁盘的心跳的详细说明如下:

?        一个磁盘可以用来做两个节点间的一个网络,这个磁盘在两个节点上使用相同的唯一的特定的标识的PVID

?        推荐在一个存储范围内的一对节点间(或者一个磁盘柜)的一个磁盘配置磁盘心跳网络。

?        该磁盘需要是增强并发卷组的一部分,虽然并不要求卷组激活或者是资源组的一部分。仅仅的限制是VG必须同时定义在两个节点上。

注意:集群中并发卷组的锁机制不再需要保留磁盘的一部分来通信,而是以RSCT组服务替代。

2.3.2.        通过IP别名的心跳

对于IP网络,引入了一个新的心跳机制:通过IP别名的心跳。这使得集群不再需要或者可能再改变通信接口基本IP地址。

IP别名上的心跳信号是配置在当HACMP服务启动时已经存在的IP地址上的。用来做这个的IP地址子网必须和已存在的每一个IP子网都不相同,并且不被定义在(/etc/hostsBIND)名称解析中。这样的配置不需要一个附加的可路由的子网。

作为基础和引导IP地址交换心跳信息的替代,RSCT使用HACMP定义的IP别名去完成每一个通信接口的通信组(心跳环)

注意:当使用了IP别名的心跳,基本/引导IP地址不再被RSCT拓扑服务监控,将通过分配的IP别名去监控这些通信接口。

虽然有这些技术,HACMP仍然需要所有接口可以和其他接口通信(可以看到节点的每一个MAC地址)IP别名使用的子网掩码和服务IP之一的掩码一致。当定义用来做心跳的IP地址时,你必须保证有足够的子网可用并不会冲突。例如:在三个网卡每节点的三节点集群中,你需要三个非路由的子网。参考图2-42-5

假定每一个节点有三个网卡(en0en1en2),网络掩码是255.255.255.0,那么分配给每一个接口的别名如下表:

adapter/node                node1                        node2                        node3

en0                        172.16.100.1        172.16.100.2        172.16.100.3

en1                        172.16.101.1        172.16.101.2        172.16.101.3

en2                        172.16.102.1        172.16.102.2        172.16.102.3

 

 

通过IP别名实现得心跳的IP地址在集群同步时存储在HACMP adapter ODM库中。

HACMP V5.1中,IP别名的心跳可以配置在建立基于IP的心跳环,使用任何一种IPAT的类型(IP别名和IP重置)IPAT配置的类型探测HACMP是怎样操作服务IP地址/标签的:

?        IPAT via IP重置服务标签在base/boot地址上,没有心跳的别名。

?        IPAT via IP别名的服务IP地址作为别名和基本IP一起在通信接口上,并且使用别名心跳。

IP别名的心跳定义为HACMP的一个网络特性并且作为HACMP拓扑的一部分。要使用这个工具,用户必须在HACMP的网络定义中指定起始的地址。

要设置这个属性,你必须使用扩展的smit菜单(clustertopology)。这可以在定义网络时定义,也可以在稍后改变这个配置。

2.4.        共享存储的配置

大部分的HACMP配置需要共享的存储。IBM支持的多种主机存取磁盘子系统包括SCSISSAESSFastT

也有许多第三方的存储设备可以使用,虽然许多没有IBM的认证,请参考制造商的web

HACMP支持的IBM存储设备的列表,包括ESSSSA等,也支持磁带设备的存储,不支持磁带的并发。如下:

?        IBM 7133 SSA Disk Subsystem Models D40 and T40 (up to 72.8 GB disk modules, andup to eight nodes per SSA loop)

?        IBM Enterprise Storage Server (ESS) Models E10, E20, F10, and F20 (supports up to eight nodes using SCSI and Fibre Channel interfaces via IBM FC/FICON, Feature Code: 3021, 3022, and 3023)

?        IBM 7133 SSA Disk Subsystem Models D40 and T40 (up to 72.8 GB disk modules, and up to eight nodes per SSA loop)

?        IBM Total Storage FAStT 200, 500, 600, 700, and 900 models

HACMP同样支持共享的磁带设备(SCSI或者FC),但是磁带设备不支持并发访问。如下:

?        IBM 3583 Ultrium Scalable Tape Library Model L18, L32 and L72

?        IBM 3584 Ultra™ Scalable Tape Library Model L32 and D32

?        IBM Total Storage Enterprise Tape Drive 3590 Model H11

?        IBM Magstar® 3590 Tape Drive Model E11 and B11

?        IBM 3581 Ultrium Tape Autoloader Model H17 and L17

?        IBM 3580 Ultrium Tape Drive Model H11 and L11

更多的产品支持信息请登陆网站:

http://www-1.ibm.com/servers/eserver/pseries/ha

HACMP同样支持其他非IBM的存储(磁盘、磁带)子系统,相关信息请登陆网站:

http://www.availant.com/

2.4.1.        共享LVM的需求

HACMP规划共享的LVM依赖于共享磁盘存取的方法和设备的类型。共享LVM需要考虑这些元素:

?        数据保护的方法

?        存储存取的方法

?        存储硬件的冗余

注意:HACMP本身不支持存储的保护,存储的保护通过AIXLVM镜像和硬件RAID的实现。

在这一节中,我们提供了在存储层保护数据的方法,也讨论了LVM共享磁盘存取的模式。

?        非并发的

?        并发的(clvm——HACMP的并发逻辑卷管理)

?        增强并发模式(ECMAIX V5.1以后新特性

2.4.2.        非并发的,并发的和增强并发的

在非并发存取的配置下,在同一时间只有一个节点可以存取共享的存储。如果一个包含共享磁盘空间的资源组移动到另一个节点,那么新的节点会激活磁盘,并检查卷组,逻辑卷和文件系统的当前状态。

在非并发的模式下,磁盘可以配置共享为:

?        裸物理卷

?        裸逻辑卷

?        文件系统

在并发存取模式下,存储在磁盘上的数据同时对所有的节点可用。这种模式不支持文件系统(不管是JFS还是JFS2)。

快速磁盘切换

HACMP V5.1中,开发使用了一个新的AIX增强的并发LVM。在AIX 5L V5.2中,必须使用增强并发模式去创建新的并发卷组;增强并发的卷组也可以使用文件系统(共享的和非共享的)。当发生故障切换的状态时。这可以使快速磁盘切换选项加速共享文件系统的切换。

增强的并发卷组在资源组中的所有节点下被激活,HACMP去调整数据的存取控制。仅仅在激活资源组的节点上卷组激活在"并发的激活状态"模式,其他节点将卷组激活在"被动"模式。在被动模式时,在卷组上不允许有高级的操作。

注意:当使用了资源组的快速磁盘切换选项,非常重要的就是要有冗余的网络和非IP网络。这可以消除和避免数据的不一致性。

RAIDSSA并发模式

RAID并发模式的卷组是陈旧的定义,因为增强并发卷组模式提供了附加的能力,但是RAID并发卷组将继续被支持一段时间。RAIDSSA并发卷组在HACMP V5.1中都被支持但有一些重要的限制:

?        并发资源组的增强卷组需要运行64位内核的节点支持

?        SSA的并发模式不支持64位的内核

?        SSA磁盘在32位内核模式仍然可以使用SSA并发模式。

?        C-SPOC单元不能支持RAID并发卷组。你不得不转换这些卷组到增强并发模式(否则,AIX视为非并发的卷组)

?        AIX V5.1中,可能创建一个SSA并发卷组(32),但在5.2中,不可能创建一个并发的HACMP,所有的新的卷组必须使用增强并发模式

LVM需求

 

这里叙述了lvm管理的概念。

强迫激活卷组

HACMP51提供了新的工具,去强制激活节点上的卷组。如果在故障切换的进程中,正常的varyon命令不能激活卷组(lackofquorum)HACMP将确保在接管节点激活卷组前至少每一个Lv有一个有效的LPcopy是可用的。

强迫性的激活卷组可以让你一直保持资源组中卷组的在线状态并且有一个有效的数据copy。你仅仅可以在卷组包含镜像的逻辑卷时使用这个选项。还要小心的注意到避免创建一个分开的集群。

注意:你必须指定一个非常严格的lv分配策略来使用这个强制激活的选项。在这种方法下,LVM确定lvcopy总是在分开的磁盘上,可以增加失效时强制激活的成功概率。

这个选项当一个vgvgda丢失时的接管是很有用的。如果没有使用这个选项,资源组将不能在接管的节点上激活,因而导致应用的不可用。

当使用了强制激活选项发生接管时,HACMP首先尝试正常的varyonvg。如果尝试因缺少quorum失效,HACMP在尝试强制卷组在线时首先检查数据的完整性-确定所有数据在卷组中都至少有一个可用的copy。如果是这样,他执行varyonvg-f,如果不能,卷组仍然离线并且资源组有一个错误的报告。

2.4.3.        选择磁盘的拓扑
HACMP5。1支持下列存储的拓扑:scsi,ssa和光纤通道(TastT和ESS磁盘子系统)。完整支持的外部存储的列表可以在ibm网站找到。
HACMP支持下列的ibm磁盘技术在HACMP中作为外部共享磁盘使用。
IBM2105企业存储服务器
ibm2105企业存储服务器提供并发的连接和磁盘存储共享在多种开放的系统平台上。除了ibm的p系列服务器机器,许多其他的平台也被支持。
由于共享存储环境得多平台得支持,为了避免冲突,非常重要得就是配置适当得LUN标记和zone配置来提供安全得数据存取。ESS使用ibm得ssa磁盘技术。ESS提供了内建的可用性和数据保护。RAID技术用来保护数据,同时,磁盘有故障前期分析特性预测将会出现故障。使数据保持可用。ESS事实上有所有的组件冗余避免内部组件损坏而导致故障,从而提供了保护。ess管理两个节点的集群通过内部的高速总线连接到内部的存储(ssa磁盘),每个节点上有精确等同的定义。因此,当内部节点失效,存储对系统仍然有效(可用性)。
更多的信息参考ibm网站。
一个典型的使用ESS的HACMP集群的例子如图2-6。

ibmFastT700和900中等存储服务器
IBMFatsT900和700存储服务器传输超越磁盘性能和突出的可靠性来为苛刻的应用程序提供良好的计算环境。
IBMFatsT系列存储子系统是提供好的可测量的,高性能的和数据保护的中等解决方案。在FatsT架构中,虽然不是作为久经考验的ESS实现,仍然提供基于冗余组件(存储控制器,电源支持和存储连接器)的可靠性。
FastT700和900架构实现了在主机和存储端的本地的光纤通道协议。他不再支持scsi,并且不专注于提供两个控制器之间的高速度,但是提供了控制器的无间断的错误切换和主机端的数据缓存。
需要完整的信息关于ibm的存储解决方案,请访问ibm的网站。
典型的FatsT连接的HACMP如图2-7。

IBM串行存储架构磁盘子系统
SSA存储架构提供一个更离散组件的解决方案,提供了减少单点故障的特性。
SSA存储在HACMP环境通过冗余硬件提供了高可用的和电源,磁盘热切换的特性(在线维护)。
SSA存储也提供了RAID在hba(hostbusadapter)层。
注意:如果使用ssa的raid特性,那么HACMP只能连接两个节点。
ibm的7133子系统能在HACMP中提供并发存取的配置。请参阅7133相关配置。如图2-8。

2.5.        软件规划
在HACMP规划的进程中,很重要的一步就是选择集群节点中软件运行的层次。
节点软件规划的考虑因素有:
       Ø 操作系统需求:AIX版本和推荐层次。
        应用的兼容性:确保应用的所有需求适合并且在HACMP环境中支持。Ø
       Ø 资源:使用资源的类型(IP地址,存储配置、必要的话还有NFS等)。
2.5.1.        AIX级别和相关的需求
在安装HACMP之前,你必须操作系统的需求级别。本红皮书书写时的推荐层次如下表:
HACMP Version        AIX OS Level        AIX APARs        RSCT Level
HACMP V5.1        5100-05        IY50579,IY48331        2.2.1.30或更高
HACMP V5.1        5200-02        IY48180,IY44290        2.3.1.0或更高
HACMP V5.2        5100-06        IY54018,IY53707,
IY54140,IY55017        2.2.1.30或更高
HACMP V5.2        5200-03        IY56213        2.3.3.0或更高
有关HACMP V5.1和V5.2的推荐维护级别的最新的信息请访问IBM网站:
http://www-912.ibm.com/eserver/support/fixes/fcgui.jsp
注意:
 Ø       要在VPATH磁盘中使用C-SPOC,需要设备驱动子系统(SDD)1.3.1.3或更高版本。
       Ø 要使用HACMP在线规划工作表,AIX 5L的Java运行环境版本必须高于1.3.1,同时要有图形显示器(本地或远程)。
        HACMPØ V5.1和V5.2支持在AIX 5L V5.2下访问磁盘系统的多路I/O设备驱动(MPIO)。
下列基本操作系统(BOS)组件需要在HACMP之前安装:
       Ø bos.adt.lib
        bos.adt.libmØ
        bos.adt.syscallsØ
       Ø bos.net.tcp.client
        bos.net.tcp.serverØ
        bos.rte.SRCØ
 Ø       bos.rte.libc
        bos.rte.libcfgØ
        bos.rte.libcurØ
   Ø     bos.rte.libpathreads
        bos.rte.odmØ
       Ø bos.data
当使用增强并发资源管理时,还需要下列组件:
        bos.rte.lvm.5.1.0.25或更高(在AIX 5LØ V5.1下)
        bos.clvm.enhØ
完整推荐维护级别的列表,请参考IBM网站:
http://www-912.ibm.com/eserver/support/fixes/fcgui.jsp
2.5.2.        应用兼容性
HACMP是可伸缩的高可用的解决方案,事实上可以通过在独立的AIX节点上使用HACMP群集运行应用以保护应用。
当开始一个应用的规划时,需要考虑下面的方面:
 Ø       应用在AIX系统的版本上的兼容性。
        应用在实现高可用的存储方法上的兼容性Ø
       Ø 你必须知道所有应用和平台相互依赖的东西,也就是说应用程序所有的文件分布(永久性数据、临时文件、套接字、可能的话还有管道)。
       Ø 你必须提供一个无人值守的应用启动和停止的脚本。并且应用可以在重新启动时从错误中(例如:节点应用崩溃)恢复。
重要提示:不要加入在独立节点上就不能正确执行的应用或者你不能确定应用依赖的文件等!!!
 Ø       如果你计划使用应用的监控,你应该提供应用的监控工具(方法,行为和脚本)。
       Ø 应用客户端的依赖(当服务器重启时客户端的行为)。
        应用网络的依赖(sockets、route等)。Ø
       Ø 许可证的问题,如果应用依赖于CPU ID,你应该考虑购买标准的在每个节点上,同时,如果应用基于处理器个数,那么要确定,当错误切换时,许可证不被破坏。
应用服务器
依照HACMP的定义,一个应用服务器是HACMP当激活资源组时启动应用和资源组离线时停止应用的脚本的集合。一旦应用启动,HACMP能监视应用,并且当应用运行不正确时执行动作。应用监控可以在进程级,也可以使用定制的方法(例如,一个多处理的进程数据库引擎等)执行。
注意:应用监控在HACMP/ES 4.4中引入,是基于RSCT事件管理的定义。从HACMP 5.2开始,事件管理被资源监控控制器(RMC)替代,两者功能相同,但是RMC提供了更多的弹性。从HACMP 5.2开始,同样可能去监控应用的启动。
HACMP也提供了应用可用的分析工具,可以用来审计所有的应用可用性,评估集群的环境。
需要应用服务器和其他资源的信息,请参考3.5 资源组配置。
2.5.3.        规划NFS配置
HACMP的一个典型的应用就是对客户机和应用服务提供高可用的HA-NFS。这是很有用的,特别是集群运行一个相互接管的交叉挂接的NFS。从HACMP 4.4开始,HA-NFS已经整合到HACMP中,不再是一个单独的产品。
使用NFS的一些注意事项:
       Ø 对于要输出为NFS的共享卷组来说,卷组的Major Number在所有服务文件系统的vg的所有集群节点上是一样的。
       Ø 在AIX中,当你使用mknfsexp命令输出文件系统和目录时,/etc/exports文件将被创建和更新。也就是说,在HACMP中,输出为NFS的文件系统和目录必须在资源组配置中指定。
 Ø       如果你需要这些文件系统的一些可选配置项,那么你就需要创建/usr/es/sbin/cluster/etc/exports文件。
     Ø   对于所有输出文件系统的资源组来说,"File system mounted before IP address configured"属性必须置为"true"。
        HACMP的脚本包括缺省的NFS行为。你需要去改变这些脚本去适合你的配置。Ø
 Ø       在HACMP 5.1中,在附加的层叠(cascading)资源组中你可以在rotating和定制资源组中配置高可用的NFS。
注意:NFS锁定功能限制为两个节点的群集,这个功能提供了当主NFS服务失效时允许备份的进程去恢复当前的NFS行为,保留NFS文件系统的锁定和副本缓存(dupcache)。
2.5.4.        许可
许多的软件供应商需要你的每一个应用在每一台物理机器上或者在SMP机器上每个CPU有唯一的许可证。通常,许可证激活码在软件安装时输入。然而,在HACMP环境中的切换状态,如果应用在另一个节点重新启动,你必须确定你在新的机器有必须的激活码;否则,应用不能正确的启动。
应用也可能有唯一的节点绑定的许可证(每一个机器上有不同的许可证文件)。
一些应用限制限制集群中漂移的应用的许可证的数量。要避免这个问题,你需要有足够的许可证,这些应用可以同时在多个节点上执行,特别是在并发的应用中。
2.5.5.        客户端连接
当资源组切换时,应用在另一个节点上启动,应用必须知道这个动作。在某些情况下,应用客户端使用本机ARP缓存去重新连接服务器。在这种情况下,有两种可能的结果:
 Ø       持有服务IP的网络使用通过IP置换得IPAT实现了本地MAC地址的切换(因此,客户端机器ARP缓存没有被更新)。
       Ø 当网络或节点事件发生时HACMP使用clinfo程序调用/usr/es/sbin/cluster/etc/clinfo.rc脚本。缺省的,这个动作更新系统的ARP缓存并且指定客户端的ARP缓存反应网络的改变。你可以定制这个脚本以进一步满足需求。
clients运行clinfo后台守护进程能在集群事件后快速的连接到集群。
注意:如果你使用IPAT via IP别名,确保你的客户端支持支持ARP刷新功能。
如果HACMP节点客户端在同一个子网上,客户端不需要运行clinfo,你可以间接的在集群节点上通过ping客户端来刷新客户端的ARP缓存。
你可以在集群节点上通过添加你想要通知的客户端的IPlabel和地址到clinfo。rc脚本中的PING_CLIENT_LIST变量。一旦集群事件发生,这个脚本就会运行下面的命令到PING_CLIENT_LIST中的每一个主机:
#ping -cl $host
当client在不同的子网时,确保路由器的ARP缓存在发生IPAT事件时得到更新;否则,客户端在重连时会有预期的延迟。
2.6.        操作系统空间需求
在HACMP 5.1中,包括集群校验程序(clverify)和新的集群通信后台(clcomdES)都需要/var文件系统下附加的空间。
要得到详细的消息和附加的调试信息,在每个节点的/var下需要满足:
 Ø       20M仅一次,包括:
-        /var/HACMP/clcomd/clcomd.log  2M
-        /var/HACMP/clcomd/clcomddiag.log  18M
       Ø 在/var/HACMP/odmcache目录下附加的(1M*集群中的节点数)空间。
        4M每个节点集群的效验数据。Ø
       Ø 2M的集群效验log(clverify.log[0-9])。
在集群的每个节点中,效验工具在需要/var下4M的空间,clverify可以在同一时间最多保持四份节点效验数据的拷贝(节点初始化和同步时)。
/var/HACMP/clverify/current//*包含当前执行的效验的日志。
/var/HACMP/clverify/pass//*包含最后通过的效验的日志。
/var/HACMP/clverify/pass。prev/ /*包含倒数第二次通过效验的日志。
/var/HACMP/clverify/fail//*包含最后一次失败的效验日志。
同时,/var/HACMP/clverify/clverify.log和它的拷贝消耗1-2M的磁盘空间。
2.7.        资源组的规划
资源组是一个包含HACMP执行高可用的资源的一个逻辑实体。资源包括:
       Ø 存储空间(应用程序的代码和数据)
-        文件系统
-        网络文件系统
-        裸逻辑卷
-        裸物理磁盘
        服务IP地址/标签(客户端连接应用时使用)Ø
        应用服务器Ø
-        应用启动的脚本
-        应用停止的脚本
要通过HACMP实现高可用,每一个资源都必须包含在资源组中。
HACMP在集群事件发生改变时通过在节点间移动资源组来确保集群资源的可用性。HACMP在下列状态时控制资源组的行为:
 Ø       集群启动
        节点失效Ø
        节点重组Ø
       Ø 集群关闭
在上述的群集下,HACMP的资源组的行为定义在:
        当节点(一个或者几个节点)在集群启动时需要获取资源组;Ø
   Ø     当拥有资源的节点失效时接管节点接管资源组时;
       Ø 不管资源组恢复到刚刚发生故障而恢复的节点,还是当前拥有的节点。
集群中的节点优先级关系决定了哪一个节点最初控制资源组并且当一个最初的节点在失效后重新加入集群接管对资源组的控制。
资源组接管关系定义为:
 Ø       层叠式
        轮转式Ø
        并发式Ø
       Ø 定制式
层叠的,轮转的和并发的资源组是在HACMP 5.1以前的类型。因为定义这些类型的难于理解,在HACMP V5.1中引进了新的定制资源组。
这里仅仅有一个常化HACMP术语和让HACMP的概念容易理解的步骤。从HACMP V5.2开始,仅仅有定制资源组存在。
2.7.1.        层叠式资源组
层叠式资源组定义了一个所有可以控制资源组的节点列表并且每一个节点有一个托管资源组的优先级。
一个层叠式资源组的行为如下:
 Ø       在集群启动时,层叠式资源组在缺省的节点上激活(资源组的最高优先级的节点上)。
同时,另一个称为“非活动的接管”属性的可以用来指定如果高优先级的节点在集群启动时不可用的时候在低优先级的节点上激活。
 Ø       当一个节点失效时,一个层叠式资源组在资源组优先级列表中的下一个节点上激活。
同时,可以指定"动态节点优先级"失效切换的进程将根据动态的属性(高cpu空闲等)确定接管资源组的节点。
 Ø       当失效节点重新接入集群,层叠式资源组将重新切换到缺省的节点上。
附加的,可以指定"层叠不需要回退",资源组将依然保持在接管节点上即使一个高优先级的节点重新接入集群。
总结一下,层叠式资源组有下面的属性:
 Ø       非活动性接管允许你精妙的定义主节点不可用时对资源组的接管;
       Ø 当拥有资源组的节点失效时,该资源组可以根据节点优先级列表切换到下一个可用的结点。节点优先级列表可以通过两种方法配置:使用默认(RG配置时的节点列表)或者设置一个动态节点优先级(DNP)策略。
 Ø       无后退层叠(CWOF)属性改变了切换行为,使用CWOF属性可以避免高优先级节点恢复可用时不必要的RG切换(由客户中断引起的)。在这种模式下,可以在不影响客户的时间手动将RG移动到它的主节点上。
2.7.2.        轮转式资源组
对于一个轮转式资源组来说,节点的优先级列表仅仅用来决定哪一个节点来接管失效的节点。
在集群启动时,在节点优先级列表中第一个可用的节点将激活资源组;一旦在一个接管的节点上激活,它不会切换回高优先级的节点即使高优先级节点重新可用;在轮转时资源组中不使用DNP(动态的节点优先级);当在同一个节点上配置多个轮转的资源组时,为了控制首选的资源组的定位,每一组都要从节点群中分配一个不同的高优先级节点。当集群启动时,每一个节点将尝试去获取它自己具有高优先级的资源组;如果所有的轮转资源组已启动,新节点的加入仅能作为这些资源组的后备节点;如果所有的资源组都没有激活,新加入的节点将仅仅去获得这些资源组的一个,其他的资源组仍然保持非激活状态。
无论如何,如果存在多个网络可供资源组移动,一个节点可能获得多个资源组,每一个网络上只能有一个。
2.7.3.        并发的资源组
和名称一样,一个并发的资源组可以在多个节点上同时激活,当集群启动时,资源组将在列表的所有节点上激活,没有顺序。
对并发资源组来说,没有节点间的优先级,他们是平等的节点,如果一个节点失效,其他的节点仍然一样提供服务,资源组不能被移出。
管理并发的存取应用的数据可能需要附加的并发软件。
2.7.4.        定制资源组
为了简化资源组的管理和理解,HACMP V5.1引入了定制资源组的类型。资源组指定的名称可能会使新的用户(层叠,轮转和并发)混淆:
       Ø 他们不能清晰的指出潜在的资源组的行为。
       Ø 附加的资源组参数将进一步使定义资源组变得复杂:无后退层叠和非活动接管
同时,在一些情况下,用户需要组合一些行为,他们不是被标准的RG定义的:
 Ø       HACMP V5.1引入了定制的资源组
-        用户必须明确的指定启动的需求,切换和回来的行为。
-        RG启动和切回能通过用户设定和FAllback计时器控制。
-        RG接管也可以通过用户的定义动态节点优先级影响。
       Ø 局限性:(仅仅HACMP V5.1)
-        定制资源组仅支持IPAT-via-别名服务IP的标签和地址。
-        没有站点和复制资源(HACMP-XD)支持。
启动参数选择
        Online On Home NodeØ Only:在节点启动时,RG将仅仅使得高优先级的节点在线,这个行为等价于层叠RG行为。
        Online On FirstØ Available Node:在节点启动时,RG将在第一个节点上激活,这个行为等价于轮转式RG或者使用非活动的接管的层叠式RG。如果配置了一个设定时间,它将影响RG的这个行为。
 Ø       Online On All Available Nodes:RG将在资源组的所有节点上激活。这等价于并发的RG行为。这个启动参数将不考虑某些fall-over和fall-back参数。
切换(fall over)参数选择
        切换至列表中的下一个优先节点:RG将切换到下一个可用的节点上。这个行为等价于层叠式RG和轮转式RG。Ø
   Ø     使用DNP切换:RG将基于DNP计算结果去切换,资源组必须指定DNP的优先级。
       Ø 使其离线(仅仅在错误的节点上):RG在错误时不发生切换,而是简单的置为离线。这个行为大部分的类似于并发的资源组。
后退(fallback)参数选择
 Ø       退回高优先级节点:RG将在一个节点重新可用时切换倒高优先级的节点上。这个行为等价于层叠的资源组的行为。一个fall-back计时器将影响这个行为。
 Ø       从不后退:资源组将待在它在的地方,即使一个高优先级的节点重新在线。这个行为类似于轮转式RG的行为。
2.7.5.        应用监控
作为资源组管理的一个附加方面,HACMP能通过下列两种方法监控应用:
       Ø 应用的进程监控:探测死进程,使用RSCT事件管理能力。
       Ø 应用定制的监控:基于自定义的监控方法(程序或脚本)监视应用的健康状态。
注意:你不能使用应用进程监控一个shell脚本启动的应用,或者应用的进程对应用来说不能反映应用的健康状态的应用。
要监控一个shell脚本的应用,你将不得不定制监控的方法(例如,Apache web server)。
当应用监控是激活状态时,HACMP的行为如下:
       Ø 对应用监控进程来说,一个通知集群管理器的内核的钩子监控倒进程已经死掉的话,集群开始应用的恢复进程。
当恢复的动作执行时,你必须提供一个方法清除和重新启动应用(定义的应用起停的脚本可能会用上)。
HACMP在发送警告信息或者移动到另一个节点前会尝试重新启动应用和等待应用稳定一段时间。
 Ø       -对于定制应用监控(定制的方法)除了应用清理和重新启动的方法,你还必须提供一个程序或者脚本用来执行一个周期的测试。
规划和配置一个进程的监控需要检查下列方面:
 Ø       检查应用是否能被进程监控。
        指定和核查要监控的进程的名称,在配置应用监控时必须强制的使用准确的进程名称。Ø
     Ø   指定要监控的应用的实例数(进程的数量)。缺省的值是一个实例。
       Ø 指定开始监控等待的时间(秒)。
注意:在很多情况下,这个值不能设为零。例如,在一个数据库应用中,你希望延迟一些监控知道启动脚本和初始化数据库完成。
 Ø       重启的计数,表示在执行其他动作时尝试去重启应用的次数。
        间断(秒)。是应用在重新设置重启计数前保持稳定的时间。Ø
 Ø       重启计数器归零后应用依然不能运行的时候才去的动作,默认选择是通告,它作为通告集群失效的事件运行;可将选择改为切换,在运行应用的节点失效时将应用和资源组切换至下一个高优先级的节点上。
 Ø       如果有需要,还有重启动的方法。(前提是重启计数器不为零)
如果计划安装自定义的监视方法,还应检查:
       Ø 是否你有用来检查制定应用的程序或脚本。
       Ø 选举间隔(以秒计):监视方法的运行频率。如果监视(进程)在选举间隔内没有响应,应用就会被认为失效,此时恢复进程启动。
       Ø 用户自定义的监视(进程)如果在选举间隔内没有返回,即表示该进程应被杀掉。默认的Kill进程信号是SIGKILL。
       Ø 开始监视前的等待时间(以秒计)。例如:在一个数据库应用中,推荐监视应在启动脚本和数据库初始化搜索后再运行(换句话说,应用被认为出错后恢复进程才能开始初始化)。
 Ø       重启计数器:应用执行其他动作前场是重新启动的次数。
        保持计时器:应用在复位重启计数器前应保持状态的时间。Ø
     Ø   应用在重启计数器归零后执行的动作。
2.8.        规划灾难恢复
从HACMP V5.1开始,HAGEO和GeoRM作为IBM HACMP/XD(扩展距离)特性被集成在HACMP中。
HAGEO软件产品为构建灾难冗余的计算机环境提供了一个灵活的、高可用性平台。HAGEO组件可以通过TCP/IP点到点网络不受距离限制的在两个不同的地理站点间进行数据镜像。
HAGEO提供了自动探测、通告和在失效中恢复整个地理站点。
本书中的容灾策略仅讨论在两个站点间进行:原始站点和恢复或者备份站点。数据恢复策略应达到以下结果:
 Ø       数据就绪级别:
-        Level 0:没有。容灾中不提供。
-        Level 1:定期备份。需要恢复的数据被备份并发送至另一个地方。
-        Level 2:有准备的前向滚动。作为周期性备份的附加,数据更新日志同样被发送至另一个地方。在恢复站点恢复时只恢复最近记录的数据。
-        Level 3:前向滚动或前向恢复。在恢复站点的磁盘上维护着一份数据的影子拷贝,更新日志会被恢复工具接收到并且将其周期性的应用到影子拷贝中。
-        Level 4:实时前向滚动。和前向滚动一样,源站点记录的更新在同一时间被传输并应用。这里实时的操作不会影响源站点的响应时间。
-        Level 5:实时远程更新。在发送交易响应前源站点和恢复站点的数据拷贝同时被更新。
        站点互联选项Ø
-        Level 0:没有。在站点间或数据传输。
-        Level 1:手动传输。不提供互联,需要传输的数据被手动发送至另一个地方。
-        Level 2:远程磁带。数据通过远程磁带进行电子传输。急件和收据是自动的,跟踪既可以设为自动,也可以手动。
-        Level 3:远程磁盘。数据通过远程磁盘进行电子传输。急件、收据和跟踪都是自动的。
        恢复站点就绪Ø
-        冷站点:通常冷站点是指在正确的架构下,极少或没有数据处理设备的环境。该设备被作为恢复进程的第一步来安装。灾难发生时、周期性备份和有准备的前向滚动都可以将这个站点存储的数据装走。
-        温暖站点:它有数据处理设备安装和操作,这个设备被用来处理在灾难发生时其他的数据进程任务。数据处理资源可以用来存储数据,例如日志等。此站点的恢复(进程)经常做关闭和备份的工作。周期性备份和有准备的前向滚动数据都可以在该站点存储以便在灾难中快速恢复。
-        热站点:有数据处理设备安装和操作,包括频繁或有规律的存储以减少恢复时间。在前向滚动和实时远程更新中可以实现所有级别。
HAGEO软件提供更高级别的灾难恢复:
 Ø               Level 5;
        Level 3;Ø
       Ø 热站点就绪。
此外,在HAGEO中,恢复站点同样可以活动的进行数据处理和执行日常工作。实际上,每个站点都是其他站点的备份,因此它最小化了安装成本。
HACMP对容灾的贡献
HACMP基本软件提供了一个宽松的群集环境来防止在群集中个别系统组件(像处理器、网络、网络适配器)的SPOF。它确保了在一个站点内的计算机环境下的高可用性。
现在你已经可以定义HACMP群集组件在一个站点内的系统组件和通过HACMP基本软件功能保持在该站点中的系统组件的高可用性。更多信息请参考HAGEO拓扑下的HACMP/XD:规划管理指南——SA22-7956。
图2-9表示一个使用远程镜像(GeoRM)选项的地理集群。