关于ZNKC用户的容灾拓扑的回复

在单V7000环境下,系统拓扑如下:双V7000环境见后图业务连续性内容。

通过两对SAN交换机之间的2km裸光纤直连,可以将现有的H3C存储作为V7000存储设备的外接存储,H3C存储上的卷以image模式接入到V7000中,并和V7000上的卷组成镜像的卷(采用了V7000的VDM功能)。即当服务器写数据到VDM镜像后的卷的时候,V7000会自动在V7000的卷和H3C存储的卷中各写一份,保障了在本地和远端同时都有一份相同的数据。

在光纤交换机上,需要在每台SAN交换机上都配置一个单模长波模块用于2km裸光纤的直连。

V7000VDM(虚拟磁盘镜像)功能说明

通过IBMSVC或V7000(SANVolumeController)来实现两台存储系统上的磁盘进行镜像后为服务器提供存储。上图是通过SVC或V7000实现两台阵列之间存储镜像的示意图。

对于底层的磁盘阵列来说,其使用方式与现在相同,对其内部的磁盘先进行RAID,然后在RAID组上进行逻辑磁盘(LUN)的划分。如上图的例子中,首先对两个阵列的磁盘做RAID5,然后在左边阵列中再作成LUNa和LUNb两个逻辑磁盘,同样在右边阵列中可以作成LUN1和LUN2两个逻辑磁盘。

在没有SVC或V7000的时候,我们要把这些LUNmap给对应的服务器,然后在服务器上就可以找到这些硬盘。但是这样并没有实现磁盘阵列之间的Mirror。

现在,我们有了SVC或V7000设备,这个时候不再把这些LUNmap给服务器,而是map给SVC或V7000。SVC或V7000把这些map过来的磁盘当做是可使用的原始磁盘,称之为ManagedDisk。

SVC或V7000再对ManagedDisk进行处理,可以在不同的ManagedDisk之间进行镜像作成供服务器使用的VirtualDisk。如上图,SVC或V7000将从左边磁盘阵列获得的Ma和从右边阵列获得的M1进行Mirror后,形成了VirtualDisk为Vdisk1。然后再将Vdisk1map给服务器。服务器就像使用本地磁盘一样的使用Vdisk1。

这个时候我们回头看一下Vdisk1的组成,它是由两个阵列中的LUN通过Mirror方式组成的。

使用SVC或V7000进行跨阵列Mirror后,对于服务器获得的Vdisk来说,不会因为任何一个磁盘存储系统的故障而出现问题。这样大大提高了存储系统的可用性,为前端应用系统的开展提供了更好的保障。

V7000环境下如何构建业务连续性?这个问题不是单一的存储可以解决的,存储能够保证的是磁盘中的数据快速的恢复,是“磁盘到磁盘,阵列到阵列”的恢复,应用程序,操作系统,数据库并不能马上正确识别这些数据,对于一个典型的J2EE应用来说,大致的恢复消耗是:

1、阵列到阵列数据恢复:3分钟

2、数据库如ORACLE,通过ASM存储管理识别这些逻辑卷:假设2分钟

3、操作系统初始化数据库实例并加载含数据的逻辑卷:假设1分钟

4、应用服务器如weblogic,IIS等使用JDBC数据源驱动连接成功上一步骤中恢复的数据库,并验证权限通过:假设2分钟。

5、应用服务器启动前置机或J2EE实例及应用程序:假设1分钟

6、通过网络分发给各个前端web服务器及DNS解析,客户端连接成功:假设1分钟。

总计:6个步骤,3+2+1+2+1+1=10分钟!!!

注意!存储厂商所告知的恢复时间是第一步的恢复时间,并非业务中断恢复时间,上面的举例让大家看到,实际存储恢复速度很快:3分钟,但实际业务切换成功:10分钟。所以:在多存储环境下,特别是双V7000环境下,考虑业务连续性的建设目标,我们必须严谨的去设计出了存储以外的其他7分钟。而如何设计这7分钟的内容看起来与存储没有直接关系,但实际上这才是业务连续性的关键。所以我们需要使用到各种技术,有操作系统级别的故障切换技术、有应用服务器级别的故障切换技术、还要有数据库的高可用性技术,对于新的环境如虚拟化环境来说,这样的考虑尤为重要,不但要考虑虚拟机的高可用性,还要考虑虚拟层ESX的高可用。对于管理来说,备份是容灾的基础,所以备份服务也必须是高可用性的,备份服务自己都宕机了也就谈不上数据恢复了。

我们先来分析一下,高可用性所覆盖的内容。

首先,业务连续性由三级支撑构成。高可用性,扮演着其中最为基本的一级:

l高可用性(HighAvailability)

要求容错的硬件、自动诊断以及故障隔离、预分析、冗余等。其中,冗余是其最核心的特征。

l数据复制(DataReplication)

在同城、异地,或者同城及异地进行数据的有效复制

l数据恢复(DataRecovery)

非计划停机时,进行保护和恢复,满足恢复点目标和恢复时间目标

高可用性,是体现在系统的各个细节中。从一个典型的IT系统拓扑来看,它的主要实现层次如下图所示:

本地存储设备层次的高可用性,如图中蓝色虚线方框所示,主要从以下三方面考虑:

l冗余SAN网络

SAN交换机冗余配置,主机光纤通道卡、存储光纤接口双配置,冗余连接等。这部分设计用于防范通道、接口和网络的单点故障。

l存储设备个体高可靠

除普遍支持RAID保护技术外,目前的部分高端企业级存储,还采用全冗余设计、镜像缓存等技术来进行自身保护。这部分设计和使用,侧重在于保证存储设备单个个体内的数据安全。当存储设备出现全面故障,不能运转时,最多只能保证“数据不丢失”,不能支持“数据持续访问”。

l双存储设备

如上图中红色虚线部分所示,配置双磁盘设备,存放双数据拷贝。保证在单个存储服务器出现故障时,首先实现数据不丢失,其次实现业务的连续运行。

在这三方面中,冗余SAN网络、存储设备个体高可靠相对为人所熟悉,不再赘述。下面所谈的存储高可用性方案重点,将集中在“双存储设备”的环节上。

1.1存储高可用性方案的主要实现方式

存储高可用性,有三种主要的实现方式:

方式三:采用SVC或V7000虚拟存储实现逻辑卷镜像

方式一:磁盘设备间数据镜像(如LVMMirror)

通过pSeries的LVM(逻辑卷镜像)等技术,在两套磁盘设备间,建立数据镜像关系。两套存储设备同时处于活动状态。生产主机在写数据时,会同时写入两套磁盘设备中。

该方式能够提供最佳的持续可用性。当一台存储设备出现整机故障时,由另一台存储设备独立工作,应用不会受到中断。

配置双磁盘系统,通过操作系统的卷管理功能,在磁盘间进行数据镜像,保证两套磁盘设备保存有实时相同的数据拷贝。可以有效避免由于单一磁盘系统发生故障而导致的系统意外宕机。充分提高系统的连续可用性。

这种双磁盘系统间数据镜像方式,是基于IBMp系列主机系统的LVM(逻辑卷管理)功能实现的。LVM功能,是IBM在UNIX系统创先使用的磁盘空间管理功能,它嵌入在AIX核心功能中,具有速度快、功能强大、管理方便等优点。LVM功能和IBM存储系统配合,是目前技术成熟度高、投资相对较低、实施快速简便、应用行之有效的本地高可用解决方案和容灾方案。

在实施IBMLVM的数据镜像方案时,分别将磁盘系统A和磁盘系统B,通过光纤HBA卡连接到SAN交换机上,接入SAN网络。这时,主机会有效识别两套存储系统。之后,通过主机的LVM管理器,将需要高可用保护的数据,在两套磁盘系统上建立镜像关系。一份数据拷贝放置在磁盘系统A上,另一份数据拷贝放置在磁盘系统B上,两份数据拷贝保持着实时同步关系。读数据时,可以从任意一份数据拷贝中读出,提高性能;写数据时,两份数据拷贝被同时修改。当任意一个磁盘系统发生故障,即其中一份数据拷贝失效时,另一份数据拷贝照常发挥作用,业务不会停顿。非常好地保证了数据的高可用性。

LVM可以为一个每一个数据卷提供多份拷贝,它可以支持2~3份数据拷贝。该功能包含在p系列主机AIX操作系统中。

采用这种方式,业务和应用系统的运行可以通过集群软件HACMP进行主机之间的故障接管,实现应用系统运行功能的高可用性;数据存储系统可以采用LVM进行磁盘存储系统之间的故障接管,实现应用系统数据访问的高可用性。这样,即使有一半的主机系统和一半的存储系统发生故障,不能正常工作,整个系统也不会发生瘫痪,仍旧可以继续运行,充分满足了业务连续运行的要求。

应用LVM的方案对用户的现有环境没有改变,不存在数据集中迁移的问题,而且业务系统保持同时在线,不存在系统接管、应用重新启动的问题,可以实现系统的平滑过度。

实施LVM方案,既可以在相同型号的IBM存储产品之间进行,也可以在不同型号的IBM存储产品之间进行。

下面简要说明LVM的实施过程。

LVM为操作系统的卷管理器,对于IBM的存储设备,在相同或者不同型号的磁盘系统上,二个磁盘系统的磁盘空间可组成同一VG(volumegroup),对操作系统来说磁盘A的盘和磁盘B的盘都是相应/dev/dsk下的设备号,同一VG又可以分成逻辑卷(logicalvolumes),每个逻辑卷之间又可以在线的做镜像,所以可以把磁盘B的盘加到磁盘A的VG里,形成逻辑卷,用LVM使磁盘B的相应的卷成为磁盘A的镜像。

作为一个完善的高可靠性和高连续可用性系统应该能够同时满足数据备份与应用切换的需求,其中应用切换已经由HACMP高可用性集群实现,下面针对该方案中的数据同步部分加以分析。

为了实现数据的同步,我们利用数据镜像功能LVM,为已有的磁盘A(下图所示之“数据拷贝一”)上的生产数据添加一个拷贝,并将其镜像设备指定为磁盘B(下图所示之“数据拷贝二”)。

正常工作模式下,数据的写入操作可以用下图说明:

数据更新流向图

生产系统对磁盘A的“数据拷贝一”的任何更新都实时在磁盘B的“数据拷贝二”得到更新,“数据拷贝一”和“数据拷贝二”的更新方式有顺序方式、并行方式等多种机制可供选择。一般使用并行方式以增加整体性能。

当存储系统A发生故障时,生产无需停顿,生产主机利用存储系统B上的数据拷贝继续运行。如下图所示:

本地存储

V7000整合了SVC技术,这意味着存储管理员可以利用V7000的虚拟引擎来将迁移现有阵列中的数据:管理员可以将V7000连接到现有的LUN(逻辑单元号),并重新连接访问LUN的服务器来使用V7000,然后通过虚拟化引擎来迁移服务器还在访问中的数据。比起过去需要让服务器离线并用一晚上或一整个周末来迁移数据,现在只需要几分钟的宕机时间就好了。

未来构建异地容灾的参考架构:


你可能感兴趣的:(用户)