HacmpforAIX原理、设计及实现.doc_第1页
HacmpforAIX原理、设计及实现.doc_第2页
HacmpforAIX原理、设计及实现.doc_第3页
HacmpforAIX原理、设计及实现.doc_第4页
HacmpforAIX原理、设计及实现.doc_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

联想集成系统有限公司HACMP for AIX原理、设计及实现联想集成系统有限公司目录联想集成系统有限公司目录前 言1目录前 言2前 言4第一章HACMP的概念和原理51.1 HACMP简介61.2 HACMP中术语的定义71.3 HACMP群集的硬件组成81.4 AIX与HACMP111.5 HACMP群集的软件结构121.6 HACMP群集资源131.7 建立高可用系统避免单点故障16第二章HACMP群集的设计222.1 高可用性设计要点222.2 存储系统设计222.3 LVM组件设计312.4 HACMP for AIX的网络设计322.5 群集结构的设计372.6 应用的设计44第三章HACMP群集的实现453.1 准备AIX463.2 安装HACMP533.3 配置HACMP54第四章HACMP群集的管理594.1 群集的启动594.2 群集的停止604.3 群集的监视614.4 群集的测试62附录A HACMP和数据库63附录B HACMP与同类产品的比较66前 言传统概念里,关键性任务的计算一直是大型主机的专有领域。主机能够提供关键性任务所必须的很高的交易速度、非常好的系统可用性和鲁棒的系统管理功能。随着UNIX系统的发展和普及,关键性任务对主机的依赖程度也在逐渐减弱,越来越多的企业将他们的关键性任务应用从专有的主机系统迁移至基于UNIX平台上来。这种转变主要基于以下一些因素:Client/Server模式的高效率和扩展性、开放标准的出现、UNIX平台上交易处理能力的增强和基于RISC技术的处理器的性能/价格比的提高。IBM公司的HACMP for AIX软件是业界领先的,建立UNIX平台上关键性任务计算环境的工具软件。HACMP for AIX软件能够保证关键性资源的高可用性。本文主要讨论HACMP for AIX的原理、规划、配置、管理和其它一些相关内容,并根据自己的实践提出了在规划和配置HACMP时的一些经验和建议,希望能够对大家有所帮助。本文的第一章主要介绍HACMP的基本概念和工作原理,第二章主要介绍HACMP高可用群集的设计,第三章介绍HACMP群集的配置和实现,第四章主要介绍HACMP群集的管理。本文的附录A介绍了HACMP和主要数据库产品配合时的各种配置。附录B介绍UNIX平台主流高可用产品的比较。文中用到的命令用加黑的斜体字表示,如:fsck文中用到的SMIT路径用黑体字表示,如:smit devices带下划线的正文文字代表应引起注意的事项。因本人水平所限,文中难免会有错误或介绍不详之处,希望大家批评指正,并多提宝贵意见。第一章 HACMP的概念和原理在今天竞争激烈的全球市场中,从金融、电信、医疗到零售、运输、制造的各个企业都必须保证关键性业务的信息和数据的可用性,而且通常是一天24小时,一年365天。各个企业必须始终如一地、正确地根据用户的要求提供银行往来金额、投资资金、医疗记录、测试结果和其它许多关键服务,而成功提供这些服务的关键是依靠信息技术的可用性。由Contingency Planning Research提供的最新研究结果表明,平均每小时的宕机时间会导致上百万美元的损失。更重要的是,当因为意料之外的系统故障而丢失他们的数据之后,50%的公司没有再重新开门,90%的公司则歇业两年。因此,要保证业务的连续性,就必须尽可能减少会导致信息和应用不可用的系统宕机时间,从而减小对用户服务的影响。关键业务的连续性可以通过以下三个层次的方法实现:磁带备份磁带备份是实现基本的业务连续的通用方法。信息先备份到磁带上,然后送到另外的地点保存。这种方法的问题在于磁带备份往往需要较长的时间来记录数据。另外,在数据备份过程中或者做数据备份前的系统或环境故障很可能造成数据丢失。而且,从备份磁带上恢复数据也需要很长的时间,数据存储得越多,恢复的时间越长。高可用系统高可用系统一般是在一个地点,通过高可用软件将一组服务器连接在一起,组成一个群集。IBM的HACMP for AIX和HP的MC/ServiceGuard就是这样的群集产品,通过快速地将用户、应用和数据从发生硬件或软件故障的机器切换至其它机器来提供高可用计算环境。容错系统容错系统依赖于冗余的硬件设备和软件来实现关键业务的连续性。虽然容错系统是避免宕机和数据丢失的有效方法,但是购买、操作和维护容错系统都是非常昂贵的。另外,系统的升级也需要很大的代价。用户可以根据自己的应用情况选择适合自己的方法实现关键业务的连续性。1.1 HACMP简介IBM公司的HACMP for AIX软件是基于AIX平台的,在高可用系统层次实现关键性任务计算环境的工具软件。HACMP应用于RS/6000系列的单处理器机型、对称多处理器机型或SP的节点,可以检测系统故障并快速恢复服务,使最终用户只感受到很小的中断时间。HACMP(High Availability Cluster Multi-Processing)有两个主要的组成部分:高可用技术(HA)和群集多处理技术(CMP)。高可用技术在HA产品出现之前,在UNIX领域实现高可用性的最有效途径是通过容错技术。容错技术依靠专门的硬件设备检测到硬件的故障,然后立即切换至冗余的硬件设备上,不管故障设备是处理器、内存板、电源、I/O子系统还是存储子系统。尽管这种切换能够无缝地提供不间断的服务,但却在硬件费用和性能上付出了很高的代价,因为冗余的设备不能处理事务。更重要的是,容错系统不能处理软件故障,而这却是宕机的最常见的原因。高可用技术并不是通过将可用性当作一系列重复的物理设备来实现高可用性,它将高可用性看作是一个全系统范围的、共享的资源的集合,这些资源相互协作来保证关键的服务。高可用技术将软件和工业标准的硬件结合起来,在系统、设备或应用发生故障时通过快速恢复关键服务来使宕机时间减至最小。尽管不能立即切换,恢复服务也是很快的,通常在1分钟之内。容错技术和高可用技术的区别在于服务中断的时间。当硬件发生故障时,容错环境没有宕机时间,而高可用环境有很小的宕机时间。但是,在容错环境中,由于软件故障无法被检测,有可能造成系统的严重破坏。而在高可用环境中,软件故障只会造成很小的宕机时间。现在,大多数的公司都愿意忍受一小段的宕机时间,采用高可用技术,而不愿意花费高得多的代价采用只能检测硬件故障的容错技术。另外,在高可用配置中,备份机还可承担其他应用。群集多处理技术群集多处理技术是指一组松散耦合的机器,通过网络连接在一起,共享磁盘资源。在群集中,多个服务器协同工作,为用户提供一组服务或资源。将两个或多个服务器组成群集来备份关键应用是一个划算的高可用性解决方案。用户可以使用更多的技术能力,同时确保关键应用在硬件或软件故障后能够快速恢复正常工作。群集多处理技术还为客户提供了灵活的扩展途径。客户可以很容易地在群集中增加处理器以分担不断增加的工作量,还可以对群集中的处理器进行升级。而在容错环境中,则必须同时增加两个处理器,其中一个作为冗余备份,在正常工作时不进行任何处理。1.2 HACMP中术语的定义群集(Cluster):多个服务器节点一起工作,使用TCP/IP进行通讯,每个节点上运行Cluster Manager进程。节点(Node):群集中的每个运行Cluster Manager进程的独立的机器。节点是HACMP的核心部分,节点上运行AIX操作系统和HACMP for AIX软件。在HACMP群集中,每个节点有一个唯一的节点名。一个节点可能拥有一组资源磁盘、卷组、文件系统、网络、网络地址和应用。节点上一般运行着访问共享磁盘上数据的“后台”应用。资源(Resources):由一个节点控制的实体,当节点发生故障时能够被其它节点接管。可以被当作资源的实体有: 磁盘、卷组、文件系统 NFS输出的文件系统 IP地址 应用程序关键应用(Critical Application):由HACMP控制其启动和停止的应用程序,例如数据库的后台进程。事件(Event):群集中发生的一些事情,即群集状态的改变,包括节点up/down,网络up/down,网卡故障等等。行为(Behavior):事件发生时群集的响应动作。事件是由shell脚本控制的。重聚(Reintegration):将故障节点、网络、网卡重新带回群集的过程。下图是HACMP群集的一个例子。在实际的群集中,由于节点数目、网络拓扑、磁盘类型等具体配置的区别,群集的形状可能会不同。 图1:HACMP群集1.3 HACMP群集的硬件组成从上图中可以看出,HACMP群集的硬件由以下硬件组成: 节点 共享磁盘设备 网络和网卡 客户机1.3.1 节点机型HACMP for AIX软件支持RS/6000单处理器和SMP机型作为群集的节点。在HACMP中,SMP系统和单处理器机型一样,都被当作单一节点。采用SMP系统是提高整个群集吞吐量的有效途径。群集中的每个节点都可以是一个大的SMP系统,使得群集系统远远超过单个系统的处理能力,可以支持成千上万个客户机连接到单一的数据库系统。1.3.2 共享磁盘设备群集中的每个节点都需要配置内置硬盘来存储AIX操作系统、HACMP软件和应用程序。另外,每个节点都应连接到一个或多个外置的共享磁盘上。共享磁盘是指物理上连接到多个节点的磁盘设备,共享磁盘上存放着关键任务的数据,通常采用镜像或RAID技术来提供数据的冗余保护。HACMP的共享磁盘设备支持SCSI-2 Differential磁盘、SCSI-2 Differential磁盘阵列和串行磁盘。HACMP支持两种对共享磁盘的访问方式:非并发访问和并发访问。在非并发访问环境中,每个时间点上只能有一条活动的连接,保持活动连接的节点拥有磁盘,当此节点离开群集时,它拥有的磁盘被其他节点接管。在并发访问环境中,共享磁盘同时与多个节点保持活动连接,因此当节点故障时,不需要接管磁盘。并发访问要求SSA或RAID作为外置共享磁盘。共享硬盘应该单独放在一个机柜中,不应和机器混放。1.3.3 网卡一个节点至少应有两块网卡连接每个网络:一块服务网卡(service adapter)和一块备份网卡(standby adapter)。如果配置IP地址接管,还应配置启动网卡(boot adapter)。启动网卡并不需要单独的物理网卡,而是配置在服务网卡上的不同的IP地址。HACMP for AIX采用网卡标识(adapter label)来识别网卡。对于TCP/IP网络,网卡标识是在文件/etc/hosts中关联某一IP地址的名字。一个节点可以定义多个网卡标识和IP地址。1.3.4 网络HACMP使用LAN来监视网络,网卡和其它节点的状态,HACMP支持AIX支持的大多数基于TCP/IP 的网络,如 Ethernet、Token-Ring、FDDI、ATM等等。HACMP中定义了三种类型的网络:公用网络(public network)、私用网络(private network)和串行网络(serial network)。公用网络在HACMP环境中,公用网络连接多个节点并允许客户机服务群集节点。Ethernet、Token-Ring、FDDI、ATM等网络可以被定义为公用网络。私用网络HACMP群集中的节点必须相互通讯以实现对数据的连续访问。私用网络提供两个节点之间的点到点通讯,但不允许客户机访问。HACMP使用私用网络来传输锁的信息,只有在没有定义私用网络时才使用公用网络来传输锁的信息。私用网络一般用于并发访问磁盘的情况。Ethernet、Token-Ring、FDDI、ATM等网络可以被定义为私用网络。串行网络串行网络是两个节点之间的点到点连接。HACMP在TCP/IP子系统发生故障时,使用串行网络来传输控制信息和心跳信息。串行网络可以是一条SCSI-2 Differential总线或一条RS232串行线。网络名称网络名称用于标识HACMP群集中的网络,群集进程使用网络名称信息来确定哪些网卡连接在同一物理网络上。网络的命名是任意的,但必须保持一致。如果多个网卡连接在同一物理网络上,定义这些网卡时必须使用相同的网络名称。1.3.5 客户机客户机是指能够访问群集中节点的机器。客户机通过公用局域网络与节点通讯,其上运行“前端”程序或客户机应用来访问群集节点上的服务器应用。HACMP for AIX为群集节点上的关键性的数据和应用提供高可用性环境,但不负责客户机的高可用性。1.4 AIX与HACMPAIX是第一个,也是最为成熟的第二代UNIX操作系统,具有很多先进的特征,保证UNIX系统的可靠性和高性能,IBM公司引入到UNIX中的LVM逻辑卷管理和JFS日志文件系统,使AIX更容易使用和管理。AIX满足几乎所有的工业标准和事实标准,是真正的开放系统。AIX包含许多承袭IBM大主机等级的优异特性,诸如系统集成性、系统管理及系统可用性。除了具有当系统损毁时可以快速修复的文件系统外,IBM运用自身在计算机领域45年的经验,增加了逻辑卷管理和日志文件系统等功能,支持三份能够同步写入及错误区块重新配置的系统镜像功能,用以确保您高价值的数据。IBM在设计RISC/6000的AIX操作系统时,针对UNIX系统的弱点,重新改写了UNIX的内核,清除200个编程缺陷。在系统功能稳定性、可靠性和可管理性方面做了极大的改进,使UNIX从一个主要面向科技市场的操作系统,发展成为能够承担关键任务的成熟的操作系统。AIX具有动态可扩展内核,用户装卸设备时可联机动态配置,无须关机和重新启动,具有实时的扩展功能。所有硬件设备均可随时动态增加、更换而不影响文件系统及其数据。AIX中的许多功能和HACMP紧密配合,为用户提供更高的可用性。以下介绍AIX中与HACMP相关的几项功能:LVM、JFS、ODM、SMIT和SRC。逻辑卷管理器LVM(Logical Volume Manager)LVM逻辑上将多个硬盘当作单一实体进行管理。使用LVM可将存储空间分区为“逻辑卷”,可以指定其存放位置,以获得优化的性能和可用性。逻辑卷(文件系统)可以动态扩展而不需重新配置整个逻辑硬盘子系统。逻辑卷可以镜像,避免磁盘的单点故障。LVM使磁盘资源很容易被其他节点接管。日志文件系统JFS(Journaled File System)在传统Unix中,文件系统恢复需要很长时间且文件系统的完整性不能得到保证。AIX使用日志文件系统,所有对文件系统的更新在写到文件系统之前先记入一个日志之中,当系统故障后JFS日志可以被重新执行,文件系统的更新可以根据日志前滚或回滚(roll forward/back)。AIX很少用到fsck命令进行整个文件系统的恢复,所以故障后恢复文件系统的时间大大减少,也就大大减少了文件系统接管的时间。ODM(Object Data Manager)ODM是一个面向对象的数据库,其中存放着系统的配置信息。采用ODM管理使配置信息更加安全,可以免受偶然的或故意的损坏。ODM库一般通过SMIT、高级命令或应用程序进行访问。所有的HACMP配置信息都存放于ODM库中。HACMP for AIX使用“Global ODM”,可以在一个节点上做配置,然后传到群集内的所有节点。这样可以减少配置的工作量,并保证各个节点上配置信息的一致性。SMIT(System Management Interface Tool)AIX中绝大部分系统管理功能都可以通过SMIT完成(95%以上)。使用SMIT减少了偶然使用错误命令或错误选项的可能性,增加了系统的可用性。HACMP全部用SMIT管理,快捷路径是smit hacmpSRC(System Resource Controller)SRC是一个AIX进程,用来管理其它的进程。使用startsrc和stopsrc命令来启动、停止由SRC控制的一组进程。如果SRC控制的一个进程非正常终止,SRC会自动执行一个特定的程序来响应。HACMP的进程都是由SRC控制和监视的。1.5 HACMP群集的软件结构HACMP for AIX软件由以下部分组成: Cluster Manager Event Scripts Cluster Lock Manager Clinfo ClsmuxpdCluster ManagerCluster Manager运行在群集中的所有节点上。它的主要任务是监视和响应群集状态的变化,包括:节点故障和恢复、网络故障和恢复、网卡故障和恢复。它负责同步和协调群集内部的动作,发现错误征兆,诊断问题,并做出适当的反应。它还负责执行Event Scripts(事件脚本)来影响群集状态的变化 。Event ScriptsEvent Scripts 定义了为响应群集事件所需执行的动作。HACMP包括了大多数情况下的Event Scripts,这些Event Scripts是用标准shell编写的,使用标准AIX命令和HACMP功能,且可以客户化。Cluster Lock Manager用于并发访问环境,使多个节点可以同时访问相同的数据。应用程序必须用Cluster Lock Manager API来登记、申请、释放锁。Lock Manager协调和排序对共享数据的访问,防止数据的不一致和错误。Clinfo & ClsmuxpdClinfo是Cluster Information进程。Clinfo API允许应用程序来确定群集现在的状态和释放动作响应变化,每当群集内有事件发生时Clinfo发布信息。Clinfo的通讯基于SNMP依靠SNMP的代理(clsmuxpd)接收群集状态的改变。Clinfo是可选的。1.6 HACMP群集资源1.6.1资源HACMP for AIX软件通过以下途径提供高可用性环境: 定义一组必须的群集资源,资源可以是硬件,也可以是软件。 定义群集节点访问这些资源的关系。这些关系确定哪个节点控制资源以及当该节点放弃资源的控制权后哪个节点接管资源。当一个节点离开群集时,Cluster Manager能够将这个节点的资源转移到群集中的其它节点上。资源的类型高可用资源可以是以下几种实体: 应用 磁盘 卷组 文件系统 NFS文件系统 IP地址资源怎样做到高可用应用:由HACMP启动,如果节点发生故障,则在另一节点重新启动。磁盘、卷组、文件系统:磁盘物理上与多个节点相连。在非并发环境中,一个节点控制磁盘资源,如果该节点发生故障,它控制的磁盘资源由其它节点接管。在并发环境中,多个节点同时控制磁盘资源,一个节点发生故障并不影响其它节点。IP地址:如果服务网卡发生故障,由本机的备份网卡接管其地址,称为“网卡切换”。如果整个节点故障,由另一个群集节点的备份网卡接管其地址,称为“IP地址接管”。1.6.2 资源组每个HACMP的高可用资源都必须被分配在某个资源组中。资源组允许您将相关的资源结合成一个单一的实体,便于配置和管理。HACMP共有三种类型的资源组,分别是Cascading资源组、Rotating资源组和Concurrent资源组。在一个群集中可以有多个不同类型的资源组。定义资源组的类型实际上就是定义了群集的故障恢复策略。Cascading资源组Cascading资源组可以被一个或多个节点接管。所有被指定参与接管一个资源组的节点都是该资源组的资源链的一部分,每个参与的节点都被指定了接管优先级,优先级代表了接管可用资源的顺序。当接管发生时,具有最高优先级的活动节点将获得资源组。如果该节点不可用,则由具有次高优先级的节点获得资源组,依此类推。当对该资源组具有更高优先级的节点重新回到群集后,它将取回它的资源组。Rotating 资源组一个Rotating 资源组和一组节点相关联。资源组在所有被定义的节点之间轮转。每个节点可以拥有一个资源组。开始时,第一个加入群集的节点获得第一个资源组,第二个加入群集的节点获得第二个资源组,依此类推,直到所有的资源组都被节点获得。剩余的节点作为备份节点。当一个控制资源的节点故障时,可用节点中对资源组具有最高优先级的节点将接管资源组。当故障节点重新加入群集后,成为备份节点,不再取回资源组。Concurrent 资源组Concurrent 资源组由多个节点共享。所有并发访问资源组的节点在加入群集后都获得该资源组。节点之间没有优先级的区别。由于AIX JFS 不支持并发访问,应用就必须用生设备(逻辑卷)。因此Concurrent 资源组的资源只能有应用、磁盘和卷组。Concurrent 资源组的共享磁盘必须是SSA盘或RAID盘。资源链每个能访问资源组的节点都必须被列为参与节点,参与节点的列表就建立了资源组的资源链。这样,这几个节点都可以参与维护资源组的可用性。对于Cascading资源组或Rotating 资源组来说,这也就建立了资源链中各节点的优先级。对于Cascading资源组,当前在资源链中具有最高优先级的活动节点将从故障节点处获得资源组。对于Rotating资源组,当前在资源链中具有最高优先级且具有可用连接(网络、网卡、IP地址)的节点将从故障节点处获得资源组。接管节点可能是已经拥有资源的节点,也可能是备份节点。HACMP对资源组的位置有如下假定:Cascading具有最高优先级的活动节点控制资源组。Rotating具有与Rotating资源组相关的服务地址的节点控制资源组。Concurrent所有活动节点都拥有资源组。1.7 建立高可用系统避免单点故障高可用系统的主要特点是具有检测和响应可能影响到关键服务的事件的能力。HACMP for AIX软件使群集在遇到系统的关键组件(例如网卡)发生故障的情况下仍能继续对外提供服务。HACMP for AIX软件通过避免单点故障的方式建立高可用的和可扩展的群集。单点故障点是指一个关键的群集功能只由单一的组件提供,当这个组件故障时,群集没有其它的途径提供关键的服务。在群集中,有可能出现单点故障的群集组件是: 节点 网络和网卡 磁盘和磁盘控制卡 应用HACMP可以检测和响应三种类型的故障:节点故障、网卡故障和网络故障。1.7.1 节点故障节点故障指处理器硬件或操作系统故障。当发生节点故障上,其它节点可以配置为: 接管共享磁盘 Vary-on卷组 Mount文件系统 Export NFS文件系统 接管IP地址 重启应用磁盘接管 图2:节点故障时的磁盘接管磁盘物理上与多个节点相连。在非并发环境中,一个节点控制磁盘资源,如果该节点发生故障,它控制的磁盘资源(包括卷组、文件系统等)由其它节点接管。在并发环境中,多个节点同时控制磁盘资源,因此不需要磁盘接管。图2表示了非并发环境磁盘接管的过程。IP地址接管 图3:节点故障时的IP地址接管IP地址接管使另一节点可以获得故障节点的网络地址。当提供给客户机的服务绑定到一个特定的IP地址时,必须配置IP地址接管。如果只接管磁盘,客户机将无法访问服务器的IP地址。IP地址接管过程如图3所示。应用接管当以下关键应用的节点离开群集时,接管节点重新启动这个关键应用,使服务得以继续。1.7.2 网卡故障HACMP软件能够处理服务网卡和备份网卡的故障。当服务网卡故障时,Cluster Manager将同一节点的服务网卡和备份网卡进行切换,服务网卡的故障是透明的。Cluster Manager检测到备份网卡故障时只是记入日志,并不进行其它操作。图4是网卡切换的过程。 图4:网卡切换1.7.3 网络故障当群集中连接所有节点的网络故障时,由于网络配置各不相同,所以HACMP无法定义响应动作。此时系统在主控台上显示信息,事件被记入日志。用户可以根据实际情况自己编写脚本程序来响应网络故障。在大多数配置中,网络都是单点故障点。为避免发生网络单点故障,建议在配置HACMP时配置双网络。1.7.4 其它类型的故障磁盘和磁盘控制卡故障HACMP自己不能直接处理磁盘和磁盘控制卡故障。但是数据可通过AIX的LVM 镜像或磁盘阵列的RAID功能处理。如果共享磁盘使用SCSI-2 Differential磁盘或SSA磁盘,磁盘故障可通过AIX的LVM 镜像处理。此时需要跨磁盘进行LVM镜像。单一磁盘故障就不会影响数据的可用性。如果磁盘配置卡发生故障,数据可通过跨总线的LVM镜像来复制。如果共享磁盘使用磁盘阵列,磁盘阵列自己负责数据的冗余保护。在连接RAID磁盘阵列时应采用多总线,避免磁盘配置卡的单点故障。其他硬件故障在HACMP中没有直接支持,但可通过AIX Error Notification功能来捕获特定错误并执行响应命令,例如:当发生关键硬件故障时可以shutdown,由另一个节点接管。应用程序错误可以自己编写应用监视程序监视应用程序的错误信息或进程状态,也可以通过AIX的SRC功能进行管理。HACMP错误HACMP的主进程发生错误时,可升级为节点故障进行处理。电源故障不要将同一设备的电源连接到一个电源上,最好使用UPS。1.7.5 哪些情况下不适合使用HACMPHACMP并不是万能的,以下应用环境不适于采用HACMP来实现高可用性: 应用程序不在检查点(Check-Point)时将数据写入磁盘。这样会造成节点故障时,无法保证数据的完整性。 系统崩溃后,应用程序不能自动恢复其数据。 哪怕几秒钟的岩机时间都是不可接受的。 内存里的内容不能丢失对于最后两种情况,建议采用容错系统。第二章 HACMP群集的设计HACMP for AIX只是IBM公司的提供高可用性的一个工具,实际应用环境中的高可用性并不能仅仅依靠HACMP来实现。设计高可用的应用环境,必须全面考虑RS/6000硬件平台、AIX操作系统、HACMP群集结构和应用等各个方面。2.1 高可用性设计要点努力做到“没有单点故障”:这是设计的前提,应贯穿设计的始终自动故障恢复:故障恢复应无需人工干预权衡投资、性能和可用性的关系:在保证可用性和性能的条件下,使硬件投资最大程度地发挥效力考虑应用软件: 认真编写启动和停止脚本,使应用在故障时能自动恢复设计高可用网络考虑客户机:使客户机受群集故障影响最小其它需要考虑的问题:各节点的用户帐号和用户目录,批处理、打印队列、邮件、备份等其他应用和服务2.2 存储系统设计设计高可用的配置的主要部分之一是共享的磁盘存储设备。RS/6000具有全系列的磁盘存储设备可用于HACMP,这些设备可分成以下三类: 常规SCSI磁盘,包括SCSI-2 Differential和SCSI-2 Differential Fast/Wide磁盘。 RAID磁盘阵列 SSA磁盘子系统选择存储子系统要考虑其自身可用性、性能以及价格等因素,以下讨论在使用这几种存储设备时的一些考虑。2.2.1 SCSI磁盘的原理和在HACMP环境中的考虑SCSI(Small Computer System Interface)是一种工业标准,也是ANSI标准。它的硬件设备比较可靠,容易理解和实现,而且相对便宜。SCSI磁盘是最通用的磁盘设备。SCSI总线上支持多个设备,允许多个磁盘“并发”工作。实际上,在一个时间点上只允许有一个设备使用总线,但当一个硬盘/磁带在从介质上读写数据时,总线空出,这时其它设备可以使用总线。SCSI技术适合于多任务操作系统。由于SCSI磁盘本身并没有数据的冗余性考虑,而且性能也不如SSA磁盘,所以在现在的HACMP共享磁盘配置中,已经很少采用SCSI磁盘了。但是讨论SCSI技术的一些概念对于采用SCSI总线连接的RAID磁盘阵列还是有帮助的。SCSI的初始者和目标SCSI总线的通讯在初始者和目标这两个实体之间进行。初始者(Initiator):负责选择目标,发出命令和数据,通常为SCSI卡目标(Target):采取正确的行动来响应Initiator的命令,通常为磁盘或磁带机,也可以是SCSI卡。SCSI的保留(Reserve)和释放(Release)结构在SCSI总线上,任何Initiator可以将一个目标置于Reserve状态以独占使用。而处于Reserve状态下的磁盘,只有这个Initiator才可以释放它。AIX中通过varyonvg 命令实现SCSI的保留,通过varyoffvg 命令实现SCSI的释放。SCSI总线的终结所有的SCSI总线必须在两端都要终结。终结器一般是一端在SCSI卡上,另一端在最后一个设备上。在HACMP环境下,终结器不能放在SCSI卡上,而在放在总线上。这样配置使得当节点发生故障时,总线仍然是完整的,仍能正常终结,故障节点可以离开SCSI总线。SCSI IDSCSI总线上的每块卡和每个设备必须有一个唯一的SCSI ID。同一条总线上的ID一定不能重复。SCSI总线上设备的优先级取决于SCSI ID,SCSI ID高的设备优先级高,具体顺序是7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8。HACMP环境中SCSI卡的SCSI ID在SCSI总线上,SCSI卡应该有最高的ID号,因此所有的SCSI卡的缺省ID为7。在HACMP环境中,由于一条总线上有多块SCSI卡,这样就会会发生冲突。因此必须修改SCSI卡的SCSI ID。可能的话,所有SCSI卡的ID都不要配置为7,因为从维护状态重启系统时,SCSI 卡的ID回到7,有可能发生冲突。在HACMP环境中,SCSI卡的ID一般用6 或5。使用SCSI磁盘的一般考虑 不要热插拔SCSI总线 SCSI总线长度有限制 SCSI ID不能冲突 总线两端要有终结器 在HACMP环境中,要从SCSI卡上拔下终结电阻 在HACMP环境中,维护SCSI设备时要确保其它机器没有使用SCSI总线2.2.2 RAID磁盘阵列和HACMP什么是RAID设备RAID(Redundant Array of Independent Disks),是通过跨磁盘保存数据的校验信息在硬件级保护数据的技术。当一个硬盘故障时,它上面的数据可以通过其它盘上的校验数据重建。RAID技术有一些特点: RAID技术(RAID 5)比AIX的LVM镜像便宜,且利用率高。 冗余的子系统组件(电源、风扇、阵列控制器)减少了单点故障。 磁盘可热插拔,易于维护,但总线不可热插拔。 适用于HACMP环境IBM公司的RAID设备主要有7135磁盘阵列和7137磁盘阵列。RAID级别RAID 级别(0-5)定义了跨磁盘存放数据的方式。常用的有RAID0,1,5。RAID特点数据冗余优点0数据跨磁盘分条存放无性能好1磁盘间镜像镜像保护数据,但利用率低(50%)5数据和校验信息跨磁盘分条存放校验信息分条存放于各个磁盘同时可以有多个I/O,适用于交易处理应用IBM 7135 RAID子系统IBM 7135 RAID子系统是IBM的主打RAID产品。7135具有双阵列控制器,可防止单点故障,并增加总体吞吐量。RS/6000可通过两条独立的SCSI总线连接7135,每条总线连接在一个阵列控制器上。7135软件可以在一条总线故障时将应用切换至另一条总线上。7135的磁盘、风扇/电源模块,阵列控制器和冷却系统都可热插拔。7135可配置成多逻辑单元(LUN),使用灵活。为避免单点故障,每台RS/6000一定要配置两块SCSI卡。另外7135有三个电源模块,建议将三个电源模块分别连在不同的电源上。7135设备在AIX中的定义在一条总线上,整个7135磁盘阵列的所有磁盘只有一个SCSI ID,但7135的阵列控制器各有一个SCSI ID。7135是通过逻辑单元(LUN)管理的,每个LUN在AIX中被当作一个普通物理磁盘(hdisk),只不过这种磁盘本身具有数据冗余性。7135的双总线结构可以增加可用性,而且同时使用时可提高性能。每个LUN可以被分配到一条总线上,LUN也可以在使用过程中切换至另一条总线。管理7135的SMIT快捷路径是smit raidiant。7135的主菜单如图5所示。在AIX查看7135设备用以下命令:lsdev C | grep Array 图5 7135主菜单2.2.3 SSA磁盘子系统和HACMPSSA(Serial Storage Architecture)是指IBM倡导的串行存储结构。SSA设备之间通过一个高速的双向环进行通讯。SSA的特点如下: 全双工、帧复用I/O,允许在任一指定的通道上进行多个并发通讯 每个设备之间单向最大数据传输速度为20MB/S 每个连接的最大电缆长度为25M 热插拔硬盘和电缆 自动配置和寻找替代路径的能力 没有设备地址,总线终结和电缆长度的限制SSA的拓扑结构如图6所示。IBM公司的主要SSA设备是7133-020和7133-600,其中7133-020是机柜设备,而7133-600是桌边型设备,两种设备都能支持16块磁盘。和7135相比,7133具有很多明显的优势。无论从性能、灵活性、可用性、技术的先进性以及产品本身的可靠性来说,7133都优于7135。 图6 SSA拓扑结构SSA增加了可用性SSA设备之间采用顺序点到点的菊花链方式连接,每个设备都负责错误检测和纠正。连接SSA设备的电缆是屏蔽的四芯铜线,分成两对,每对线负责一个方向的传输。这样在同一电缆上将读写通道分开,可以实现多个并发的、全双工的I/O操作。当硬盘或电缆故障时,SSA有自动loopback功能,可以维持通讯。SSA链路的故障对应用来说通常是透明的,正在用这条路径通讯的设备会自动用这个环上的反向路径继续通讯。SSA设备的旁路功能 图7 7133-020的内部结构图图7是7133-020的内部结构图。在7133-020/600中有一种自动旁路(Bypass)功能:如果成对相邻的两个端口(4,5、8,9、12,13)都没有连接7133电缆,则在7133内部将两个端口自动连接。这种设计简化了连接难度,减少了连线。7133与RS/6000的连接为避免单点故障,建议在配置RS/6000应配置两块SSA磁盘控制卡。在连接7133时,应将磁盘分成两个环路,分别连在两块SSA卡上。图8是一个没有单点故障的7133连接图。 图8 7133连接图SSA设备的管理SSA设备的管理在诊断程序中进行。按以下路径进入SSA设备的管理菜单:diagTask Selection(Diagnostics, Advanced Diagnostics, Service Aids, etc.)SSA Service Aids。图9是SSA管理的主菜单。 图9 SSA管理主菜单2.2.4 HACMP环境下物理盘的注意事项Hdisk号和PVID在AIX中,cfgmgr检测和配置磁盘时为每个磁盘分配一个hdisk号,hdisk号是从0开始指定的,顺序由cfgmgr检测的顺序决定。当磁盘被配置到卷组中后,在ODM库中会得到一个唯一的标识,这个标识同时保存在硬盘上,叫做PVID。PVID和hdisk的关系由ODM维护,系统每次启动时保持一致。当两个以上节点访问同一组磁盘时,每个节点单独检测配置磁盘并指定hdisk号,所以每个节点上对应同一磁盘的hdisk号可能不一致。导致hdisk号不一致的原因有两个:内置磁盘数目不同或磁盘卡插的位置不同。hdisk号不一致对于HACMP来说并不是一个问题。因为HACMP的磁盘资源是配置是在卷组级,所以HACMP并不关心hdisk号。但是如果hdisk号一致,HACMP管理起来会容易些。因此最好在配置HACMP之前将各个节点上的共享磁盘配置成相同的hdisk号。对于内置磁盘数目不同的情况,可以在内置磁盘较少的节点上配置一个不存在的硬盘。对于磁盘卡位置不同的情况,可以移动磁盘卡,使得cfgmgr按相同顺序检测和配置硬盘。“幽灵”磁盘(Ghost Disks)在对共享磁盘非并发访问的情况下,当一个节点放弃磁盘时,它先umount 共享文件系统,然后Vary-off共享卷组。另一个节点接管磁盘时,先Vary-on共享卷组,再mount共享文件系统。这些都是AIX的功能。但是,由于varyonvg命令将卷组中的所有磁盘置为RESERVE状态,以独占方式使用,所以当一个节点出现故障时,它不能自动放弃它的资源。备份节点要想取得资源,必须发出SCSI RESET命令来解除RESERVE状态,然后再Vary-on共享卷组。当故障节点修好后返回群集,系统启动时运行cfgmgr命令检测到共享磁盘,但由于备份节点正在Vary-on共享磁盘,磁盘处于RESERVE状态,所以cfgmgr不能读取PVID,也就不能确定检测到的共享磁盘和ODM库中的磁盘是同一个盘。此时系统为新检测到的共享磁盘指定一些“幽灵”盘号,而实际上这些磁盘还是不存在的。如何处理“幽灵”磁盘对于“幽灵”磁盘,我们的建议是:什么也不做。HACMP事件脚本会在需要重新获得磁盘资源时清理“幽灵”磁盘,步骤如下: Reset磁盘以清除RESERVE状态 删除新配置的(不存在的)盘(rmdev dl hdiskx) 配置真正的盘,由defined状态变成available状态(mkdev l hdiskx)当看到“幽灵”磁盘时,只需明白“幽灵”磁盘为什么会存在,但不需要做任何工作,HACMP会自动清理“幽灵”磁盘。但是清理“幽灵”磁盘增加了重配置时间。2.2.5共享磁盘的维护对双尾(Twin-Tailed)SCSI总线的维护会影响总线上所有的设备,此时应注意: 不需要热插拔磁盘、卡和电缆 先停止总线的活动 最好Vary-off共享卷组在群集中运行诊断程序时,应注意: 从诊断方式或“mksysb”磁带启动令导致系统内所有SCSI卡的ID回到缺省值“7”,这时有可能会引起ID冲突,所以SCSI卡的ID最好都不设成7 如果必要,启动时先断开SCSI总线 从诊断方式启动时,hdisk号可能和正常启动时不一样 磁盘正在另一节点访问时,不要运行诊断程序2.3 LVM组件设计2.3.1 LVM组件的设计目标没有单点故障, 所有逻辑卷,包括JFS日志,均使用LVM镜像 将镜像放在不同的物理卷上 使用多块磁盘卡 使用多个电源2.3.2 LVM配置要点画出草图首先应该画出整个群集的设计草图,在图中为VG和LV指定有意义的且唯一的名字。如果VG包含输出的NFS文件系统,那么在所有节点上VG的major number要一致。在一个节点上建立所有的LVM实体 共享VG只能使用外置磁盘 建文件系统之前,先建立JFS日志 将VG配置为系统启动时非自动Vary-on状态 配置文件系统为系统启动时非自动mount状态 VG、LV、FS都建立好后,执行命令varyoffvg在其它节点上建立LVM实体 用SMIT导入VG的配置信息,SMIT路径是smit vgImport a Volume Group 用chvg a n命令禁止VG自动Vary-on Mount 文件系统,确认操作成功配置镜像的JFS日志通常,当第一个文件系统添加到卷组时,系统自动建立JFS日志。在HACMP环境中,为确保JFS日志逻辑卷的名字唯一且逻辑卷镜像,应按如下方式建立JFS日志: 用smit mkvg来建立VG,指定唯一名字如“sharedvg” 建立一个逻辑卷,类型为“jfslog”,大小为1个LP,每个LP指定2-3个拷贝 指定唯一名字如“sharevglog” 用命令logform /dev/sharevglog将逻辑卷格式化为日志逻辑卷 建立另外的逻辑卷,指定唯一的名字 在LV上建文件系统维护HACMP LVM组件卷组的定义信息保存在以下位置:磁盘上的VGDA、ODM、/etc/vg/vg*和内存中,在维护LVM时,要保证共享此VG的所有节点上,此信息必须一致。如果LVM实体需要改变,包括增加/删除PV、增加/删除LV、扩展LV或FS、为LV或FS重命名等操作,应遵循以下步骤进行: 在一个节点上进行配置,然后测试 在所有其它节点上输出旧的VG定义:exportvg sharedvg 重新导入VG定义:impoitvg v (major number) y (VG name) f (hdisk#) 修改VG的属性:chvg a n (VG name) 检查、修改LV的属主和权限2.4 HACMP for AIX的网络设计2.4.1 服务(Sevice)网卡和备份(Standby)网卡在HACMP cluster中,每个节点在每个网络上通常配置两块网卡:服务网卡和备份网卡。服务网卡服务网卡是节点和客户机之间的基本路径,节点在它连接的每个物理网络上都应有一块服务网卡。服务网卡承担标准的client/server业务,它的IP地址能够被网上的其它系统访问。备份网卡备份网卡由HAC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论