北京荣歆咨询
作者北京荣歆咨询·2015-02-04 23:05
系统架构师·北京荣歆咨询有限公司

那些免费却未被重视的IBM PowerHA内置功能(1)

字数 4359阅读 8661评论 2赞 5

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

IBM PowerHA软件全名IBM PowerHASystemMirror for AIX,(也有for ibm i的版本,其实是完全不同的软件,本文不涉及),目前最新版本7.1.3。其原名HACMP,是运行在IBM POWER小型机/AIX操作系统下的高可用/灾备软件,应用相当广泛,相信接触过IBM小型机的技术人员都有所了解。PowerHA分SE标准版和EE企业版(V5.5以前称XD版)。SE版本主要支持数据中心内的高可用solution,EE版增加数据中心间的远程灾备功能。但是,又不是严格这样划分的,本文下面提到的CSLVM(Cross-site LVM mirroring)灾备方案就是SE标准版的功能。

 

PowerHA(HACMP)于1992年推出,伴随着IBMPOWER/AIX的发展以及有20多年的历史了。作为企业级的高可用和灾备解决方案,其不断开发和完善了很多相关功能。如deadman switch机制避免争夺资源,保障数据的安全。如对DS8000、SVC、XIV、EMC SRDF、Hitachi TrueCopy等存储灾备功能的支持,以及hyperswap这样的高级功能。同时,也有一些物美价廉的功能和解决方案,长久以来未被足够的重视和推广。下面我们先从一个小功能Fast Disk Takeover说起,以后再谈谈smart assist、GLVM和CSLVM。

 

Fast Disk Takeover(快速磁盘切换)是一个“古老”的功能,从PowerHA V5.1基本版本(2003年6月发布)即包含该功能。该功能特别适用于群集有大量(几十、上百个)共享磁盘(LUN)需要在不同节点间按需要进行接管(failover)的应用场景。

 

其实,大多数生产系统都很需要这样的功能。因为对于生产系统,为了满足性能和安全性的要求,数据库表空间、control、redo_log等数据空间一般都需要分配到很多独立磁盘(LUN)上。对于大中型数据库等应用,共享磁盘数量就会更多。这些共享磁盘作为资源,被划入一个或多个主备资源组中,每个资源组支持对应的应用,实现高可用。当应用由于计划内/外的原因切换时,就需要在不同节点间接管大量的共享磁盘。因为磁盘的释放和激活过程需要一定时间,所以大量磁盘完成这个过程就会需要较长的时间,时间长度随磁盘种类、厂家型号、驱动程序、多路径软件、磁盘数量和分布情况的不同而不同。应用程序需要磁盘接管完成后才能开始启动,使得应用在切换过程中长时间不可用,极大影响应用系统对外提供服务。

 

另外,如果切换过程中事件(event)完成时间超出360秒,则会报config_too_long 事件警告,从而加大了资源组RG的切换风险。因此,需要对磁盘接管进行提速,从而提高群集的可用性。

 

实现该功能并不复杂,只要求:

l  在非并发资源组中使用EnhancedConcurrent Mode VG(支持并发功能的卷组)。

l  操作系统为AIX v5.2以上。(现在的系统都可以)

使用PowerHA的快速磁盘接管(fastdisk takeover)功能,可以极大地提高磁盘接管的速度。PowerHA监测故障的发生,自动触发快速磁盘接管机制对ECM VG进行快速切换。在非并发资源组中,快速磁盘切换与普通vg(卷组)切换相比,省去了当lvm信息变化时,通过lazy update功能自动更新和同步的时间以及硬盘释放的时间。

有测试表明,使用快速磁盘切换功能,一个包含有2个磁盘的vg可以在不到10秒的时间内完成切换。当磁盘和vg数量增多时,切换时间随之缓慢增多,具体时间由系统处理能力和繁忙程度等因素共同决定。需要指出,对于应用来说,切换时间还要包括文件系统检查和应用程序启动等时间。

我们注意到,这要求在非并发资源组中采用并发卷组(ECM vg)。并发卷组在这种状态下并不是并发访问,在任一时点,vg内数据只能由一个节点来访问。Fast disk takeover的机制只针对vg管理层面,而与vg内磁盘数量无关。

ECM VG可以被一个节点激活,也可以被不同节点在Active或Passive模式下同时激活。使用快速磁盘切换功能时,PowerHA控制不同节点对ECM VG的Active/Passive激活模式。Active模式下激活时,与普通方式激活vg的访问功能是相同的。Passive模式下激活时,LVM对vg在lvm级别上进行disk fencing保护,仅允许对vg进行有限的只读操作。

当一个节点在Active模式下激活某个ECM vg时,可进行以下操作:

l  对文件系统(fs)进行操作,如mountfs;

l  启动应用程序,访问存储数据;

l  对逻辑卷(lv)进行操作,如创建lv;

l  同步vg

当一个节点在Passive模式下激活某个ECM vg时,仅可进行以下操作:

l  通过LVM对vg的特性文件进行只读访问;

l  通过LVM对vg下的所有lv的头4k信息进行只读访问。

当一个节点在Passive模式下激活某个ECM vg时,无权进行以下操作:

l  对文件系统(fs)进行操作,如mountfs;

l  对lv进行操作,如使lv处于open状态;

l  同步vg

方案示例:

节点硬件规划

如上图,此设计中,PowerHA采取双节点结构。两台小型机分别作为两个节点Server A和Server B。

l  每个节点配置网卡数量:     2块

l  每个节点配置HBA卡数量:        2块

l  非IP心跳类型:    磁盘心跳

l  小型机通过SAN连接到存储设备共享大量LUN。


磁盘快速切换规划:


Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

如上图,本方案中采用的是非并发模式。PowerHA启动时,所有ECM vg都在相应资源组的主节点上以Active模式进行激活。对于其他节点,PowerHA控制这些共享vg在passive模式下进行激活。需要强调的是,任何时候PowerHA都会控制vg只在一个节点上以Active模式激活,避免并发数据访问。

故障切换场景:

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

如上图,当Server A节点发生故障或由于计划内停机不可用时,该节点拥有的资源组即会发生切换。PowerHA确保ECM VG已被Server A释放后,将已经在Server B上以Passive模式激活的ECM VG变更为Active模式。如果有更多节点,其他节点上该vg的状态不变,仍然是Passive模式,保证任何时间只有一个节点对该vg上的数据拥有访问权限。

当故障排除或计划内停机完成后,重新启动Server A,PowerHA会根据预设的fallback切换策略自动恢复到原来的active/passive激活状态。

这项功能已经有11年的历史了,非常好的功能,而且基本没有限制(灾备环境下除外)。但是以前用得并不普遍。在PowerHA V7.1采用CAA后,这项功能在配置中有了单独提示,相信会被越来越多的用户采用。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论2 条评论

leiman720leiman720系统架构师BS
2015-03-10 15:19
期待对smart assist、GLVM和CSLVM的介绍!
manganese_zhmanganese_zh系统工程师内蒙古包头
2015-02-27 16:00
非常好的文章,不被用的原因还是对HACMP的了解不够透彻。
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

X社区推广