基于IBM SVC/V7000的高可用镜像方案介绍

日期:2014/1/12 0:44:00 来源:本网整理 阅读:40

城域镜像(Metro Mirror)和全球镜像(Global Mirror)都是基于外部存储的高可用性解决方案,其数据的同步与拷贝都是依赖于外部存储,如 DS8000,SVC/V7000 等来完成。对于 IBM i 而言,SVC/V7000 是近来备受青睐的存储产品。本文就介绍基于 SVC/V7000 的 PowerHA for i 高可用性镜像方案。

基于 SVC/V7000 的城域镜像解决方案

在企业应用中,服务器采用的存储设备是多种多样的,不同品牌、不同型号的存储设备间通常无法“兼容”,这使得企业在建立容灾系统及高可用性环境时面临着很多挑战,如各存储系统管理接口不同造成管理复杂,异构存储设备间数据无法传输和共享,容灾软件各不相同、不能通用等。这些挑战严重影响了企业容灾系统及高可用性环境的建立。

IBM PowerHA SystemMirror for i 为企业客户提供了基于 SAN 卷控制器(SVC)和 IBM Storwize V7000 的高可用性解决方案,有效应对各种挑战。以下我们将重点对 SVC / V7000 及基于 SVC / V7000 的城域镜像高可用性解决方案进行详细介绍。

IBM SVC 及 Storwize V7000 介绍

要搭架异构存储系统间的高可用性环境,首先要解决的问题是实现存储平台的统一。IBM SVC 和 Storwize V7000 通过对存储设备的虚拟化,使得不同品牌的存储具有相同的功能,并呈现相同的接口,实现了这一目的。我们首先分别对 IBM SVC 和 Storwize V7000 进行介绍。

SVC,即 SAN 卷控制器,是一个具有高可扩展性的存储虚拟化设备,它可以对与 SAN 网络连接的外部存储设备进行虚拟化,但其本身除了可选的内部固态硬盘外,并没有在内部集成其他存储设备。一个 SVC 设备通常是由 2-8 个 SVC 节点组成的 SVC 集群,每个节点都配有专属的不间断电源 (UPS)。在集群内部每两个 SVC 节点组成一个 I/O 组,提供冗余高速缓存,负责处理对应存储卷的 I/O 请求。最新的 SVC 硬件(型号 2145)由基于 IBM System x3550 M3 四核服务器的 CG8 模块节点组成,每个节点提供 24GB 缓存,4 个 8Gb 的光纤通道端口,以及可选的 4 个固态硬盘或者一个双端口 10Gb 的以太网卡。

Storwize V7000 是 IBM 发布的一款基于 SVC 技术的模块化的存储产品,它与 SVC 采用相同的虚拟化存储概念,并使用基本相同的指令集和管理接口。在 V7000 内部集成有自带的存储设备,V7000 可以将内部存储和与 SAN 网络相连的外部存储设备一起进行虚拟化,统一管理存储系统。从硬件角度来说,V7000(型号 2076)包含有两个具有 8GB 高速缓存的双主动控制器,八个 8Gb 光纤通道端口,四个 10 Gb 以太网光纤通道(FCoE)端口,机箱内可容纳 24 个硬盘,并可外挂九个扩展机箱,最多可支持 240 个小型硬盘,具有极大的灵活性和可扩展性。

SVC 和 V7000 具有相同的存储架构,如下图 1 所示。可见从功能上来说,SVC/V7000 具有以下特点:将存储控制功能集中到存储网络中,构建了统一合理的高可扩展性架构;统一管理存储系统,将多个磁盘系统的容量整合为一个单一的存储池,经过虚拟化后以虚拟卷的形式为系统提供服务,并具有动态创建和扩展逻辑卷等功能,极大地提高了存储管理的效率;而且,SVC/ V7000 为不同的存储设备提供了一个统一的数据复制平台,可以实现城域镜像、全球镜像、瞬间复制(FlashCopy)及精简调配(thin provisioning)等数据拷贝服务,使得搭架异构存储间的高可用性环境成为可能;同时,SVC/V7000 还为提供了一个赏心悦目的图形管理界面,极大地提高了管理的便利性。

图 1. SVC / V7000 存储架构

图 1. SVC / V7000 存储架构

更多有关 SVC 和 V7000 的信息可以参考以下 IBM 红皮书:

Implementing the IBM System Storage SAN Volume Controller V6.1, SG24-7933

Implementing the IBM Storwize V7000, SG24-7938

基于 SVC/V7000 的城域镜像的实现机制

前面我们提到了 SVC/V7000 可以提供各种远程拷贝服务,用于高可用环境的搭建。接下来我们以城域镜像为例介绍基于 SVC/V7000 的高可用解决方案的实现机制。

城域镜像是 IBM PowerHA SystemMirror for i 提供的基于外部存储的同步数据拷贝的高可用性解决方案。当使用 SVC/V7000 作为外部存储设备时,城域镜像的实现可以描绘成如下图 2 所示。

图 2. 基于 SVC/V7000 的城域镜像的实现机制

图 2. 基于 SVC/V7000 的城域镜像的实现机制

其中主站点和远程站点中的 IBM i 主机分别作为 VIOS 服务器的一个客户端运行于 LPAR 中(PowerHA 也支持直连方式,即不通过 VIOS 的方式连接 SVC/V7000,但在本文中,我们仅选取通过 VIOS 的方式进行介绍),并通过 VIOS 与对应的 SVC/V7000 进行连接;在 SVC/V7000 上连接管理了各种存储设备,SVC/V7000 对这些磁盘进行虚拟化后,以虚拟卷的形式为 IBM i 主机提供服务;在 IBM i 上这些虚拟卷被加入到 IASP 中为运行在系统中的软件提供数据存储。

PowerHA 提供的高可用性解决方案也是基于 IASP 进行的,以城域镜像为例,在城域镜像环境配置中,这些 IASP 首先需要被加入到集群资源组中进行管理,然后根据生产机和备份机上的 IASP 中需要使用的虚拟卷的存储信息等参数,分别对生产机和备份机建立 ASP 的拷贝描述,最后根据这些拷贝描述建立城域镜像对话,完成 IBM i 上高可用性环境的搭建。

在存储层中,生产机和备份机之间的数据拷贝则是由 SVC/V7000 负责完成的,当 IBM i 主机上的应用程序对 PowerHA 所管理的 IASP 进行数据写入操作时,SVC/V7000 将利用其建立好的城域镜像远程拷贝服务,将所有写操作通过存储区域网 (Storage Area Network) 从生产机同步拷贝到备份机中,可见这极大的减少了数据拷贝给主机带来的工作负载,改善了主机的工作性能。

SVC/V7000 中的城域镜像拷贝服务则是通过城域镜像拷贝关系和一致性组实现的,简而言之,城域镜像关系负责实现在分别位于两个 SVC/V7000 存储设备上的虚拟卷之间的数据同步远程拷贝关系,而一致性组则确保了数据在两个 SVC/V7000 系统间的一致性。我们将在后文配置过程中详细介绍。

配置时需要考虑的问题

在配置基于 SVC/V7000 的城域镜像高可用性环境之前,需要考虑以下问题:

软硬件环境

为了使用 SVC/V7000 搭建 PowerHA 环境,IBM i 主机操作系统所需要的最低版本为 7.1,并且 SVC/V7000 与 IBM i 主机可以通过直连或者 VIOS(vSCSI,NPIV)的方式进行连接。目前 IBM PowerHA SystemMirror for i 支持的 SVC/V7000 和 VIOS 的最低版本分别是 SVC/V7000 version 6.1.x 和 IBM VIOS 2.2.1,另外在 SVC 和 V7000 系统之间进行拷贝服务需要的 SVC/V7000 微码版本为 V6.3 及以上。

有效距离和时延

由于城域镜像采用同步数据的机制,不可避免的将对应用程序的服务产生时延。在两个 SVC/V7000 集群之间的远程数据拷贝可支持的最大往返时延为 80ms,可支持的通信距离也取决于此。在实际应用中,一般来说城域镜像可以支持的有效距离大约为 30 千米。

带宽

在实际配置中,首先需要根据业务及数据量的大小及实际使用情况,经过多次测试选定合适的带宽,使得系统性能达到要求。其次还需要对 SVC/V7000 的带宽属性进行配置,其中 SVC/V7000 集群间的远程拷贝合作关系的一项属性是合作带宽限制 (partnership bandwidth limit),它指定了两个 SVC/V7000 系统间的第一次数据同步时的后台数据拷贝速度,默认值为 50MB/s,这个带宽需要仔细选择,使得它不超过主存储系统和辅助存储系统之间的带宽容量,以防止对前台的主机数据读写操作造成性能上的影响;另外还有一个需要注意的参数是关系带宽限制 (relationship bandwidth limit),它是 SVC/V7000 集群配置的一个属性,它指定了每个远程拷贝关系的最大后台拷贝速度,默认值是 25MB/s。

基于 SVC/V7000 的城域镜像的配置

接下来我们以城域镜像(Metro Mirror)为例,为大家介绍基于 SVC/V7000 的 PowerHA 镜像配置过程。

准备工作

在配置基于 SVC/V7000 的城域镜像之前,我们需要进行以下准备工作:

  1. 首先我们需要在本地站点和远程站点分别准备一个逻辑分区,并且这两个分区与相应的 SVC/V7000 系统进行连接。在两个 SVC/V7000 系统间利用光纤通道,建立存储区域网进行连接。需要注意的是,用来配置城域镜像的两台机器必须使用不同的 SVC。
  2. 在两个 SVC/V7000 系统中分别找到可供使用的磁盘及其对应的虚拟卷信息。对于直连或者 NPIV 方式连接的磁盘,利用 STRSST 可以通过磁盘序列号查找到磁盘和虚拟卷之间的对应关系。
  3. 在备份节点上格式化 IBM i 硬盘。如果我们将要使用的磁盘是读保护 DPHxxx 类型,那么为了保证 IASP 在备份节点上可用,我们需要在进行配置之前,对备份节点上的磁盘进行初始化,这样可以防止我们将要使用的磁盘在完成切换之后不在备份节点中显示。磁盘的初始化可以通过 SST 完成:
     STRSST-> choosing work with 
     disk units (option 3) -> work with disk unit recovery 
     (option 3)-> disk unit problem recovery procedure 
     (option 2) – >initialize and format disk unit (option 1).

配置工作

基于 SVC/V7000 的城域镜像的配置工作可分为分为三部分:建立 IBM i 与 SVC/V7000 之间的 SSH 连接,在 SVC/V7000 上创建城域镜像的远程拷贝服务关系,以及在 IBM i 上的 PowerHA 环境的配置。下面我们对这三部分内容分别进行介绍。

  1. 建立 IBM i 与 SVC/V7000 之间的 SSH 连接

    第一步,我们需要建立 IBM i 和 SVC/V7000 之间的拷贝服务环境,即建立 IBM i 至 SVC/V7000 之间的连接。PowerHA 与 SVC/V7000 之间的数据通信是通过 SSH 进行的,因此我们首先需要创建 SSH 密钥对文件。SSH 密钥文件对可以在 IBM i 上 QSHLL 环境中执行以下指令生成:

    > cd /QIBM/UserData/HASM/hads/.ssh/

    > ssh-keygen -t rsa -f id_rsa -N ''

    此时在 /QIBM/UserData/HASM/hads/.ssh/ 目录下将生成公钥文件 id_rsa.pub 以及私钥文件 id_rsa。下一步我们需要将公钥文件 id_rsa.pub 下载到本地电脑,然后导入到 SVC 中,并与我们将要使用的 SVC 用户进行绑定(需要注意的是,这个用户必须最少拥有执行 PowerHA 相关功能的拷贝操作员权限,在本文示例中使用的用户名为 powerha)。IBM 提供了命令行和图形用户界面两种方式对 SVC/V7000 进行管理,命令行的使用可参考(IBM SAN Volume Controller 信息中心)。本文中我们将主要对 SVC GUI 的使用方法进行介绍。SVC GUI 界面如下图 3 所示

    图 3. SVC GUI 界面

    图 3. SVC GUI 界面

    为了完成与 SVC 的通信连接,还需要将与公钥文件相对应的私钥文件 id_rsa 拷贝到集群中的所有 IBM I 的节点上,并放置在相同的目录下(本例中即 QIBM/UserData/HASM/hads/.ssh/ 目录下)。当我们为各节点创建 ASP 拷贝描述时,我们将该密钥文件存储路径(即 /QIBM/UserData/HASM/hads/.ssh/id_rsa) 指定为密钥存放地址,并通过该密钥文件完成 IBM i 与 SVC 上对应用户的安全认证,进而执行相关操作。

  2. 在 SVC/V7000 上创建城域镜像的远程拷贝服务关系

    SVC/V7000 中的城域镜像拷贝服务是通过城域镜像拷贝关系和一致性组实现的,SVC/V7000 上的配置也可以分为建立城域镜像拷贝关系和一致性组两部分。

  3. 建立城域镜像拷贝关系

    城域镜像拷贝关系是建立在 SVC/V7000 上两个相同大小的虚拟卷之间的同步远程拷贝关系。在建立城域镜像关系时,我们需要将主节点使用的虚拟卷指定为主卷(master volume)、备份节点使用的虚拟卷指定为辅助卷(auxiliary volume),并在主卷和辅助卷之间建立一一对应关系。当主节点对主卷进行一次写操作时,只有当要写入的数据已经分别发送到主卷和辅助卷所处的 SVC/V7000 的缓存当中,主节点才会收到返回应答,完成写入操作。写操作处理过程如下图 4 所示。

    图 4. SVC/V7000 城域镜像写操作处理过程

    图 4. SVC/V7000 城域镜像写操作处理过程

    在 SVC 图形用户管理界面中,进入拷贝服务(Copy Services)目录下的远程拷贝(Remote Copy)页面中,点击“新建关系(New Relationship)”按钮,将弹出新建关系向导,选择关系种类为城域镜像,并指定主卷和辅助卷等参数后,即可创建城域镜像拷贝关系。需要注意的是,对于一个两节点的 SVC/V7000 集群来说,最多可以支持 2048 个远程拷贝关系;在每一个拷贝服务关系中必须使用相同大小的主卷和辅助卷。

    图 5. SVC 上建立存储级别城域镜像关系

    图 5. SVC 上建立存储级别城域镜像关系
  4. 建立一致性组(consistency group)

    一致性组是存储系统为远程拷贝关系建立的一种数据同步机制,它可以保证数据在主卷和辅助卷上的写入顺序,与主节点发送的数据写入操作请求顺序一致。在后面我们可以看到,在一个城域镜像的会话中,可以包含有多个虚拟卷之间的拷贝关系,即多个城域镜像远程拷贝关系,此时当主节点对 IASP 写入数据时,数据将通过多个拷贝关系在两个节点间进行拷贝。可以想象,如果应用服务在数据拷贝的过程中由于出现错误事件,导致在其中的某一些拷贝关系中数据被丢失,那么数据在两个节点的虚拟卷之间必将出现不一致。为此我们将一个城域镜像会话中的所有拷贝关系加入到同一个一致性组中进行管理,使得当某些拷贝关系中的数据丢失时,其他未受影响的拷贝关系也随即自动停止,这样就保证了应用服务的数据在备份站点上的一致性。

    同样的,我们进入拷贝服务(Copy Services) 目录下的远程拷贝(Remote Copy)页面中,点击“新建一致性组(New Consistency Group)”按钮,即可进入新建一致性组向导,创建一致性组并将拷贝关系加入其中进行管理。对城域镜像来说,最多可以支持 256 个远程镜像一致性组。

    图 6. SVC 上一致性组的建立

    图 6. SVC 上一致性组的建立

    至此我们已经在两个 SVC 之间建立了城域镜像的远程拷贝服务关系。最后,我们还需要在 IBM i 上进行 PowerHA 的配置。

IBM i 上的 PowerHA 环境的配置

在完成了前面的配置工作后,我们还需要在 IBM i 上搭建 PowerHA 环境,完成城域镜像的高可用性方案的配置。

首先,我们需要创建集群和设备域。在之前的系列文章二中我们已经介绍过集群及设备域的概念以及创建方法,这里我们利用准备好的两个节点创建一个集群,并将节点加入到同一个设备域中:

清单 1. 创建集群以及将节点加入设备域

 CRTCLU CLUSTER(PWRHA_CLU) NODE((Y0119P1 ('10.0.0.3')) 
 (Y0119P2 ('10.0.0.2'))) START(*YES) VERSION(*CUR) HAVERSION(*CUR) 
 CLUMSGQ(QSYS/QSYSOPR) FLVWAITTIM(*NOMAX) FLVDFTACN(*PROCEED) 
 ADDDEVDMNE CLUSTER(PWRHA_CLU) DEVDMN(PWRHA_DMN) NODE(Y0119P1) 
 ADDDEVDMNE CLUSTER(PWRHA_CLU) DEVDMN(PWRHA_DMN) NODE(Y0119P2)

接下来配置 IASP。在之前的准备工作中,我们已经找到系统中可用的磁盘及其对应的虚拟卷 , 并且我们已经在 SVC 中为虚拟卷创建了远程拷贝服务关系。由于 PowerHA 是基于 IASP 进行数据拷贝,那么接下来我们创建 IASP 并将磁盘加入到 IASP 中。需要注意的是,配置时我们只需在主节点上创建 IASP 并为其配置磁盘,同时在备份节点上创建相同名称的 IASP 的设备描述,当城域镜像创建时,PowerHA 会自动根据环境配置在备份节点上创建 IASP 并为其配置相应的磁盘。

清单 2. 在主节点 Y0119P1 创建利用磁盘 DD011 创建 IASP

 CFGDEVASP ASPDEV(IASP_01) ACTION(*CREATE) UNITS(DD011)

清单 3. 在备份节点 Y0119P2 上创建同名的 IASP 描述

 CRTDEVASP DEVD(IASP_01) RSRCNAME(IASP_01)

在城域镜像方案中,不同节点间的切换 (switchover)、(failover)等操作都是由集群资源组 (CRG) 进行管理的,因此我们还需要创建集群资源组对城域镜像的节点资源(本例中即 IASP)进行管理。由于城域镜像中两个节点处于不同的地理位置,因此不同于可切换磁盘的配置,我们在建立 CRG 时需要为两个节点使用不同的站点名。

清单 4. 建立集群资源组(CRG)并启动

 CRTCRG CLUSTER(PWRHA_CLU) CRG(METRO_CRG) CRGTYPE(*DEV) EXITPGM(*NONE) 
 USRPRF(*NONE) RCYDMN((Y0119P1 *PRIMARY *LAST SITE1 *NONE) 
 (Y0119P2 *BACKUP *LAST SITE2 *NONE))    

 ADDCRGDEVE CLUSTER(PWRHA_CLU) CRG(METRO_CRG) 
  CFGOBJ((IASP_01 *DEVD *OFFLINE *NONE)) 

 STRCRG CLUSTER(PWRHA_CLU) CRG(METRO_CRG)

CRG 创建完成以后,我们的 IASP 已经被 CRG 管理。接下来我们还需要创建一个城域镜像的会话 , 用来管理 IASP 之间的数据拷贝服务,以实现镜像挂起(suspend)、恢复(resume)、分离(detach)、重连(reattach)及镜像参数管理等功能。

在建立会话之前,首先我们还需要为镜像服务的两个节点分别创建一个 ASP 拷贝描述,用来指定各节点在城域镜像的会话中将使用的 IASP、CRG、站点名、存储设备信息(包括用户名、私钥文件路径、IP 地址、虚拟卷序号等)等参数。

清单 5. 建立 ASP 拷贝描述

 ADDSVCCPYD ASPCPY(METRO_SRC) ASPDEV(IASP_01) CRG(METRO_CRG) 
  SITE(SITE1) NODE(*CRG) 
 SVCHOST(powerha '/QIBM/UserData/HASM/hads/.ssh/id_rsa' '9.5.168.218') 
  VRTDSKRNG((15 15 *ALL)) 
                                           
 ADDSVCCPYD ASPCPY(METRO_TGT) ASPDEV(IASP_01) CRG(METRO_CRG) 
 SITE(SITE2) NODE(*CRG) 
 SVCHOST(powerha '/QIBM/UserData/HASM/hads/.ssh/id_rsa' '9.5.168.220') 
  VRTDSKRNG((15 15 *ALL))

接下来,我们创建城域镜像会话,并在会话中指定 IASP 和 CRG 的名称,PowerHA 会根据这些信息,在备份节点上创建 IASP 并配置硬盘,并最终建立城域镜像服务。

清单 6. 建立 PowerHA 镜像会话

 STRSVCSSN SSN(METRO_MIR) TYPE(*METROMIR) 
  CRG(METRO_CRG) SWTRVSREPL (*YES) FLVRVSREPL(*YES)

我们已经搭建好了城域镜像环境。最后我们需要将生产机器上的 IASP vary on, 使 IBM i 可以访问 IASP,并利用 PowerHA 提供高可用性服务。

清单 7.Vary on IASP

 VRYCFG CFGOBJ(IASP_01) CFGTYPE(*DEV) STATUS(*ON)

至此,我们就完成了基于 SVC 的城域镜像搭建工作。

小结

基于 SVC/V7000 的 PowerHA 高可用性解决方案可以为 IBM i 的使用者提供比较完备的镜像拷贝服务。利用镜像拷贝服务,用户随时拥有两份完整的数据拷贝,以保证主节点在业务中断的时候仍然有备份节点即时可用。城域镜像和全球镜像能够满足远程高可用性解决方案对距离的不同需求。此外,该功能也为异构存储间的数据同步提供了解决方案。在规划高可用性解决方案的时候,基于 SVC/V7000 的 PowerHA for i 镜像数据同步是一个非常好的选择。

  • 本文相关:
  • IBM刀片服务器应用VMware虚拟化方案
  • IBM NAS的自动备份与恢复数据方案
  • IBM SAN存储区域网络解决方案
  • 医疗行业存储备份系统IBM解决方案
  • IBM力推IP多媒体子系统解决方案
  • “企业成长号” 基于IBM System x及存储平台方案
  • 金和协同管理平台 IBM DS4000系列应用方案
  • IBM的SAN解决方案
  • Emulex与IBM合作提供行业存储和网络解决方案
  • IBM服务器如何通过SSCT为需求配置制定解决方案
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved