那些免费却未被重视的IBM PowerHA内置功能(1)
IBM PowerHA软件全名IBM PowerHA SystemMirror 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年推出,伴随着IBM POWER/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 在非并发资源组中使用Enhanced Concurrent Mode VG(支持并发功能的卷组)。
l 操作系统为AIX v5.2以上。(现在的系统都可以)
使用PowerHA的快速磁盘接管(fast disk 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)进行操作,如mount fs;
l 启动应用程序,访问存储数据;
l 对逻辑卷(lv)进行操作,如创建lv;
l 同步vg
当一个节点在Passive模式下激活某个ECM vg时,仅可进行以下操作:
l 通过LVM对vg的特性文件进行只读访问;
l 通过LVM对vg下的所有lv的头4k信息进行只读访问。
当一个节点在Passive模式下激活某个ECM vg时,无权进行以下操作:
l 对文件系统(fs)进行操作,如mount fs;
l 对lv进行操作,如使lv处于open状态;
l 同步vg
方案示例:
节点硬件规划
如上图,此设计中,PowerHA采取双节点结构。两台小型机分别作为两个节点Server A和Server B。
l 每个节点配置网卡数量: 2块
l 每个节点配置HBA卡数量: 2块
l 非IP心跳类型: 磁盘心跳
l 小型机通过SAN连接到存储设备共享大量LUN。
磁盘快速切换规划:
如上图,本方案中采用的是非并发模式。PowerHA启动时,所有ECM vg都在相应资源组的主节点上以Active模式进行激活。对于其他节点,PowerHA控制这些共享vg在passive模式下进行激活。需要强调的是,任何时候PowerHA都会控制vg只在一个节点上以Active模式激活,避免并发数据访问。
故障切换场景:
如上图,当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后,这项功能在配置中有了单独提示,相信会被越来越多的用户采用。
本文出自 “荣歆基础架构优化” 博客,请务必保留此出处http://rongxin.blog.51cto.com/8955502/1433471
那些免费却未被重视的IBM PowerHA内置功能(1),布布扣,bubuko.com
原文地址:http://rongxin.blog.51cto.com/8955502/1433471