对于实时性要求很高的应用,需要IT系统有非常高的可靠性和系统可用性作为安全生产的基本保障。
在建立了双机集群的运行环境后,系统的可靠性得到大幅度提高。但是,作为后端的数据存储,目前仍然集中在一套存储系统上。虽然,存储系统的设计从控制器、数据通道、I/O接口,到磁盘环路都是采用冗余结构,不存在系统本身的单点故障问题,但是,考虑到数据存储系统是整个业务系统的关键所在,数据安全性和整个系统的可靠性都集中到唯一的磁盘系统,一旦磁盘存储系统发生故障导致业务不能顺利进行,将会对正常的生产造成不可挽回的损失。一个好的数据冗余方案应该能够同时满足数据备份与应用切换的需求,对于关键的数据应用要求24X7 在线的情况下,简单的数据复制是不能满足用户的需求的,以为如果只是把关键数据有磁盘1复制到磁盘2,则在主数据中心磁盘出现问题时,则磁盘2的数据要重新mount,应用从新启动,操作复杂,人工干预过多。
因此,我们建议,在通常的双机集群的基础上,建立完全冗余的数据存储系统,拓扑结构如图所示。
这种双磁盘系统数据同步复制机制,是基于IBM主机系统和IBM存储系统相互配合的LVM mirror(卷管理器)的数据镜像方式,是目前技术成熟度高,实施快速简便,应用行之有效的数据冗余方式。
采用这种方式,业务和应用系统可以通过集群软件HACMP进行主机之间的接管,实现应用系统的高可用性;数据存储系统可以采用LVM mirror进行磁盘存储系统之间的接管,实现应用存储系统的高可用性。即使有一半的主机系统和一半的存储系统发生故障,不能正常工作,整个系统也不会发生瘫痪,仍旧可以继续运行,充分满足客户对高可靠性和连续可用性的要求。
应用LVM的方案对用户的现有环境没有改变,不存在数据集中迁移的问题,而且业务系统保持同时在线,不存在系统接管、应用重新启动的问题,可以实现系统的平滑过度。
实施LVM方案,既可以在相同型号的IBM存储产品之间进行,也可以在不同型号的IBM存储产品之间进行。
在实施IBM LVM的数据同步方案时,分别将磁盘系统A和磁盘系统B,通过光纤HBA卡连接到SAN交换机上,主机会有效识别两套存储系统,但对于应用没有任何影响。
在主机上基于磁盘底层的LVM在两套磁盘磁盘系统之间建立镜像关系,实现数据同步。
LVM 可以提供操作系统级别的镜像(Mirroring)功能,即可以为一个存储块提供多份拷贝。该功能包含在逻辑卷管理中,它具有以下特点:
l 支持2~3份拷贝的镜像。
l 可选顺序(Sequential)和并行(Parallel)两种存取方式。
l 读数据时可从先找到的拷贝处读取,加快访问速度。
镜像功能在数据损坏时,能够从备份中(最多有3份备份)自动恢复,增强系统的可靠性。
作为一个完善的高可靠性和高连续可用性系统应该能够同时满足数据备份与应用切换的需求,其中应用切换已经由HACMP高可用性集群实现,下面针对该方案中的数据同步部分加以分析。
为了实现数据的同步,我们利用数据镜像功能LVM,为已有的磁盘A(下图所示之“本地数据”)上的生产数据添加一个拷贝,并将其镜像设备指定为磁盘B(下图所示之“异地数据”)。
正常工作模式下,数据的写入操作可以用下图说明:
数据更新流向图
生产系统对磁盘A的“本地数据”的任何更新都实时在磁盘B的“异地数据”得到更新,“本地数据”和“异地数据”的更新方式可以选择顺序方式或者并行方式,建议使用并行方式以增加整体性能。
当本地存储系统发生故障时,生产无需停顿,生产主机利用异地的数据拷贝继续运行,因为两个系统间采取光纤直连方式,性能的影响可以忽略。如图4-4所示:
本地存储故障
当进行本地存储维修时,断开镜像关系;本地存储修复后,恢复数据镜像关系,数据重新在两份拷贝间同步。
当本地主机发生故障时,异地主机接管本地主机的存储及应用,此时数据的同步如常进行,如下图所示:
异地接管存储
当本地主机维修恢复运行后,存储及应用由本地生产主机接管,恢复图4-3所示的运行环境。