4 在 DR 解决方案中使用跨 TapePlex 复制

执行物理导出和导入一章介绍了如何从源站点创建“导出”可移植 MVC,以便您能够以物理方式将这些 MVC 移至目标站点并将 MVC(及其包含的 VTV)导入到目标站点。有了跨 Tapeplex 复制 (Cross-Tapeplex Replication, CTR),您不再使用 PTAM(Pickup Truck Access Method,卡车运送存取方法)将 MVC 从一个站点移至另一个站点,而是以电子方式将 VTV 从源站点移至目标站点,即从一个 TapePlex 移至另一个 TapePlex(随后在此处将 VTV 迁移到 MVC),这样可消除 PTAM 步骤。随着 VTV 的副本从源 TapePlex 移至目标 TapePlex,VTV 的元数据副本也会从源 TapePlex 的 CDS 移至目标 TapePlex 的 CDS。请注意,源 TapePlex 继续“拥有”CTR VTV 并管理其暂存。

注意:

请注意,如果使用的是 CTR,停止 SMC 会使 VTCS 停止向 CTR TapePlex 发送元数据,这样实际上会停止数据传输。因此,如果使用的是使用 SMC 通信服务(例如 CTR)的 HSC 功能,则应该确保在停止 SMC 之前 HSC 活动已停顿或 HSC 已终止。

CTR 如何工作?

看一下如图 4-1 中所示的 CTR。

图 4-1 ELS CTR 配置

图 4-1 的说明如下
说明 - 图 4-1 ELS CTR 配置

图 4-1 中所示:

  • CTR 在两个单独的 TapePlex 中使用两个 VTSS 之间的连接 (CLINK) 将数据从一个 VTSS 发送到另一个 VTSS。连接可以是单向或双向。

  • CTR 使用 SMC 客户机/服务器服务功能将元数据从发送 TapePlex 发送到接收 TapePlex。请注意,您无需使用客户机/服务器功能在 SMC 与 HSC 之间进行通信即可使用 CTR,但是您必须在 SMC 中定义 HTTP 和 SERVER 命令以允许传输元数据。

  • 每个站点都有单独的(并且单独维护的)CDS,因此在一个站点中失去连接或硬件可用性不会直接影响其他任何站点。

  • 配置和物理连接要求简单明了。

  • 您现在可以更简单地运行并发 DR 测试并且不会对现有工作造成中断(不使用 CDRT 实用程序)。

  • 您现在可以将工作负荷从一个站点自动切换到另一个站点。

  • 图 4-2 中显示了两个 TapePlex 的 VTV 卷范围。请注意,每个 TapePlex 都有自己的一组可写卷,这些卷在另一个 TapePlex 上按只读版本进行镜像。

  • 在显示的配置中,发送 TapePlex 上的两个 VTSS 连接到接收 TapePlex 上的两个 VTSS,以实现最大的弹性。

    注:

    在群集 VTSS 和 CTR 配置中,必须确保为复制保留每个 VTSS 中的前 16 个 VTD (0-F)。这些设备必须在 MVS 中脱机,而其路径必须在每个 HSC 服务器主机中联机。VTCS 并不向 SMC/HSC 注册前 16 个 VTD,这样可防止在这些 VTD 上挂载 VTV。

    图 4-2 站点内 VTV 卷关系

    图 4-2 的说明如下
    说明 - 图 4-2 站点内 VTV 卷关系

    请阅读“CTR VTV 只读注意事项”,然后转至“配置 CTR”。

CTR VTV 只读注意事项

当您使用 CTR 时,从一个站点复制到另一个站点的所有 VTV 在远程站点都处于只读模式。尽管这些 VTV 在实际发生灾难时可由远程 TapePlex 进行暂存(并重用其各自的卷序列号),但是只要卷未处于 SCRATCH 状态便无法更改只读状态。请注意,切勿将 POOLPARM EXTERNAL 池中的卷设置为 SCRATCH 状态。

因此,如果选择使用 CTR 作为业务连续性或灾难恢复策略,则必须确保应用程序不会在 DR 测试期间或实际发生灾难时更新这些卷。应考虑以下情况:

  1. 在 JCL 中使用属性 DISP=MOD 或动态分配将数据附加到现有数据集的应用程序必须实施检查点/重新启动机制,并且必须在创建任何 DISP=MOD 卷之前记录一个检查点。通过在检查点重新启动来恢复这些应用程序,在适当的情况下,必须在重新启动后重新创建这些 DISP=MOD 卷。请注意,使用 DISP=MOD 本身对跨 TapePlex 复制来说不是问题。只要应用程序的检查点允许其收回部分更新,或者其设计允许输出新数据以在新卷上开始,那么针对只读 VTV 运行就应该没有问题。

  2. 如果复制到另一个 TapePlex 的 VTV 由 HSM 拥有,可按以下过程收集数据以在新卷上开始并避免更新现有 HSM VTV:

    1. 将现有卷标记为已满。

    2. 如有必要,为 USERUNITTABLEMIGRATIONBACKUPRECYCLE 修改 ARCCMD

    3. 确保将 RECYCLEDALLOCFREQ 设置为 1。这样允许 HSM 分配在适当的情况下分配新卷和设备。

    4. 根据 MGMTCLAS VTVSIZE,设置 PERCENTFULL

      对于 800 MB VTV,将 HSM PERCENTFULL 设置为 97。

      对于 4 GB VTV,将 HSM PERCENTFULL 设置为 450。

      对于 32 GB VTV,将 HSC PERCENTFULL 设置为 3600。

    在现有卷上堆放数据集的应用程序同样受到上述 DISP=MOD 限制。

配置 CTR

图 4-3 显示了 CTR 配置的示例。在此系统中,VTSS VTSSA 位于 TapePlex TAPEPLXA 中,通过“伙伴”CLINK 连接到 TapePlex TAPEPLXB 中的 VTSS VTSSB。复制到 VTSSB 的 VTV 现在位于 TAPEPLXB 的 CDS 中,与 VTV 随后迁移到的 MVC 一样。也就是说,VTV 跨 TapePlex 进行复制,然后在本地迁移。发送 TapePlex 中的 VTSS 无法与接收 TapePlex 中的 RTD 建立连接。

注:

以下示例显示了单向 CTR。要执行双向 CTR,只需在两个 TapePlex 上以相同的方式定义配置和 SMC 客户机/服务器控制语句。请注意,单个 TapePlex 也可以从多个其他 TapePlex 接收 VTV。要定义一个 TapePlex 从多个其他 TapePlex 接收数据的配置,只需将附加 TapePlex 名称添加到 CONFIG of TAPEPLXB

图 4-3 CTR 配置

图 4-3 的说明如下
说明 - 图 4-3 CTR 配置

设置:配置和启动 CTR

要配置和启动配置 CTR中显示的示例 CTR 系统,请执行以下操作:

  1. 确保您的系统满足安装 ELS 中所述的群集 VTSS 要求。

  2. 在正在主机 LPARB 上运行的 SMC 下启动 HTTP 服务器。

    您可能要在 SMC CMDS 文件中执行该操作。例如:

    HTTP START PORT(999) 
    
  3. 在主机 LPARB 上定义 TAPEPLEX 和 SERVER 命令。

    同样,您可能要在 SMC CMDS 文件中执行该操作。例如:

    TAPEPLEX NAME(TAPEPLXA) LOCSUB(HSCA)
    TAPEPLEX NAME(TAPEPLXB)
    SERVER NAME(REMB)TAPEPLEX(TAPEPLXB) HOSTNAME(LPARB) PORT(999)
    

    注:

    在示例配置中,TapePlex TAPEPLXB 存在(从 TapePlex TAPEPLXA 的角度来看)的唯一目的就是维护包含有关已从 TAPEPLXA 复制的 VTV 的元数据的 CDS。但是,如果 TapePlexes TAPEPLXA 和 TAPEPLXB 中的 HSC 或 VTCS 定义使用相同的设备地址引用不同的物理设备,则您必须定义 SMC UNITATTR 命令来告知 SMC 哪个 TapePlex 定义其主机上的设备。尽管 UNITATTR 必须指定 MODEL,但是如果指定的模型与 TapePlex 报告的模型不匹配,则实际模型将覆盖 UNITATTR MODEL。下面是 TapePlexes TAPEPLXA 和 TAPEPLXB 均定义了地址范围 9000-90FF 时将会使用的 SMC UNITATTR 语句的示例:
    UNITATTR ADDR(9000-90FF)  TAPEPLEX(TAPEPLXA) MODEL(VIRTUAL) 
    
  4. 为 TapePlex A 编码 CONFIG 面板,如示例 4-1 中所示。

    在此图中,请注意:

    • TAPEPLEX 语句定义此 TapePlex。

    • CLINK 语句定义用于从 VTSSA 到 VTSSB 的 CTR 的 CLINK。

    • 对于 TAPEPLXA,CONFIG GLOBAL 语句中的条件性复制设置是 CHANGED

  5. 为 TapePlex B 编码 CONFIG 面板,如示例 4-2 中所示。

    在此图中,请注意:

    • TAPEPLEX 语句包括 RECVPLEX=TAPEPLXA 参数来指定 TAPEPLXB 可以从 TAPEPLXA 接收 VTV。

    • 没有 CLINK 语句,因为在 TAPEPLXA 的 CONFIG 面板中定义了 CLINK。

      示例 4-1 TapePlex A 的 CONFIG 面板

      
      //CREATCFG EXEC PGM=SLUADMIN,PARM='MIXED'
      //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
      //SLSCNTL  DD DSN=hlq.TAPEPLXA.DBASEPRM,DISP=SHR
      //SLSCNTL2 DD DSN=hlq.TAPEPLXA.DBASESEC,DISP=SHR
      //SLSSTBY  DD DSN=hlq.TAPEPLXA.DBASESBY,DISP=SHR
      //SLSPRINT DD   SYSOUT=*
      //SLSIN DD   *
       CONFIG RESET CDSLEVEL(V62ABOVE)
       GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES
       LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE REPLICAT=CHANGED
       RECLAIM THRESHLD=70 MAXMVC=30 START=98 CONMVC=1
      TAPEPLEX THISPLEX=TAPEPLXA
      VTSS NAME=VTSSA LOW=71 HIGH=80 MAXMIG=8 MINMIG=1 RETAIN=10
       RTD  NAME=VSMA1A00 DEVNO=1A00 CHANIF=0C
       RTD  NAME=VSMA1A01 DEVNO=1A01 CHANIF=0D
       RTD  NAME=VSMA1A02 DEVNO=1A02 CHANIF=0K
       RTD  NAME=VSMA1A03 DEVNO=1A03 CHANIF=0L
       RTD  NAME=VSMA2A08 DEVNO=2A08 CHANIF=1C
       RTD  NAME=VSMA2A09 DEVNO=2A09 CHANIF=1D
       RTD  NAME=VSMA2A0A DEVNO=2A0A CHANIF=1K
       RTD  NAME=VSMA2A0B DEVNO=2A0B CHANIF=1L
       VTD LOW=7900 HIGH=79FF
       VTD LOW=8900 HIGH=89FF
       CLINK VTSS=VTSSA CHANIF=0G REMPLEX=TAPEPLXB PARTNER=VTSSB 
       CLINK VTSS=VTSSA CHANIF=0O REMPLEX=TAPEPLXB PARTNER=VTSSB
      

      示例 4-2 TapePlex B 的 CONFIG 面板

      //CREATCFG EXEC PGM=SLUADMIN,PARM='MIXED'
      //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
      //SLSCNTL  DD DSN=hlq.TAPEPLXB.DBASEPRM,DISP=SHR
      //SLSCNTL2 DD DSN=hlq.TAPEPLXB.DBASESEC,DISP=SHR
      //SLSSTBY  DD DSN=hlq.TAPEPLXB.DBASESBY,DISP=SHR
      //SLSPRINT DD   SYSOUT=*
      //SLSIN DD   *
       CONFIG RESET CDSLEVEL(V62ABOVE)
       GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES
       LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE
       RECLAIM THRESHLD=70 MAXMVC=30 START=98 CONMVC=1
      TAPEPLEX THISPLEX=TAPEPLXB RECVPLEX=TAPEPLXA
      VTSS NAME=VTSSB LOW=75 HIGH=80 MAXMIG=8 MINMIG=1 RETAIN=10
       RTD  NAME=VSMB3A00 DEVNO=3A00 CHANIF=0C
       RTD  NAME=VSMB3A01 DEVNO=3A01 CHANIF=0D
       RTD  NAME=VSMB3A02 DEVNO=3A02 CHANIF=0K
       RTD  NAME=VSMB3A03 DEVNO=3A03 CHANIF=0L
       RTD  NAME=VSMB4A08 DEVNO=4A08 CHANIF=1C
       RTD  NAME=VSMB4A09 DEVNO=4A09 CHANIF=1D
       RTD  NAME=VSMB4A0A DEVNO=4A0A CHANIF=1K
       RTD  NAME=VSMB4A0B DEVNO=4A0B CHANIF=1L
      

为 CTR 定义策略

要为 CTR 定义策略,请参见以下过程。

发送 TapePlex 的策略

要为图 4-3 中显示的示例 CTR 系统的发送 TapePlex (TAPEPLXA) 定义策略,请执行以下操作:

  1. 为 TAPEPLXA 创建 MVC POOLPARM/VOLPARM 定义:

    POOLPARM TYPE(MVC) NAME(MVCPLA) INITMVC(YES) MVCFREE(25) -
     MAXMVC(98) THRESH(85) START(98)
    VOLPARM VOLSER(AM1000-AM1299) MEDIA(STK1R)
    
  2. 为 TAPEPLXA 创建 VTV POOLPARM/VOLPARM 暂存池定义:

    POOLPARM TYPE(SCRATCH) NAME(ASCRPL)
    VOLPARM VOLSER(AV1000-AV1999) MEDIA(VIRTUAL) REC(VIRTUAL)
    
  3. 针对 TAPEPLXA,为包含本地迁移的 VTV 的 MVC 创建存储类以及 CTR 存储类。

    STOR NAME(LOCAL1) ACS(00) MEDIA(STK1R)
    STOR NAME(EEPA1) TAPEPLEX(TAPEPLXB)
    

    在以上示例中,STORclas 语句定义了:

    • 存储类 LOCAL1,它是从每个 VTSS 中本地迁移的 VTV 的存储类。

    • 存储类 EEPA1,它是 CTR 的存储类,并指定了接收 TapePlex (TAPEPLXB)。

  4. 创建指向第 3 步中存储类的管理类。

    MGMT NAME(LOCEEX1) MIGPOL(LOCAL1) EEXPOL(EEPA1)
    
  5. 创建 SMC 策略,用以指定虚拟介质并分配在第 4 步中创建的管理类。

    POLICY NAME(PPAY) MEDIA(VIRTUAL) MGMT(LOCEEX1)
    
  6. 创建 TAPEREQ 语句,以将关键数据发送到 VSM 并为数据分配相应的策略。

    TAPEREQ DSN(*.PAYROLL.**) POLICY(PPAY)
    

    在以上示例中,TAPEREQ 语句指定将包含 HLQ 掩码 *.PAYROLL.** 的数据集发送到 VSM 并分配策略 PPAY。

    注:

    • 尽管您可以使用 SMC 策略使 CTR 指向特定专用设备组,但是 StorageTek 建议仅使用 MGMTCLAS,以便 SMC/VTCS 分配影响因素可以使用符合 MGMTCLAS 要求的任何 VTSS。

    • 您可以使用 EEXPORT 命令执行手动 CTR。有关更多信息,请参见《ELS Command, Control Statement, and Utility Reference》。

  7. 检查 SYS1.PARMLIB SMFPRMxx 成员,以确保启用了子类型 28 记录。

    如果启用了该选项,VTSS 将针对每个 CTR 事件编写一条包括目标 VTSS 名称的子类型 28 记录。当 VTV 成功到达接收站点的 VTSS 时,您便知道 CTR 已成功。是否有办法确认这一点?是的,使用 DRMONitr 实用程序,如第 8 步中所述。

  8. 创建 JCL 来监视 CTR。

    为此,使用 DRMONitr 实用程序监视 CTR。DRMONitr 会导致关联的 MVS 作业暂停,直到成功完成 CTR。例如:

    //MONITOR EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //* If HSC IS NOT OR MAY NOT BE ACTIVE, INCLUDE THE 
    //* FOLLOWING:
    //SLSCNTL  DD DSN=primary.cds.name,DISP=SHR
    //SLSCNTL2 DD DSN=secondary.cds.name,DISP=SHR
    //SLSSTBY  DD DSN=standby.cds.name,DISP=SHR
    //SLSPARMP DD DSN=hlq.PARMLIB(BKPCNTL),DISP=SHR
    //SLSPARMS DD DSN=hlq.PARMLIB(BKPCNTL2),DISP=SHR
    //SLSPARMB DD DSN=hlq.PARMLIB(BKPSTBY),DISP=SHR
    //SYSIN DD UNIT=SYSDA,SPACE=(TRK,1)
    //* THE FOLLOWING IS USED BY THE SNAPSHOT UTILITY:
    //SYSPRINT  DD  SYSOUT=* 
    //SLSPRINT  DD SYSOUT=* 
    //SLSPRINT  DD SYSOUT=* 
    DRMON MGMT(LOCEEX1) STOR(EEPA1) MAXAGE(24) TIMEOUT(120)
    

    在此示例中,DRMON 实用程序监视存储类 EEPA1 的迁移,EEPA1 是第 4 步中的管理类 LOCEEX1 指定的 CTR 存储类。此外,仅监视在过去 24 小时内更新的 VTV,并且使 DRMON 在 120 分钟后超时。

接收 TapePlex 的策略

要为“配置 CTR”中显示的示例 CTR 系统的接收 TapePlex (TAPEPLXB) 定义策略,请执行以下操作:

  1. 为针对 TapePlex TAPEPLXB 定义的用于保存来自 TAPEPLXA 的 CTR VTV 的 MVC 池创建 MVC POOLPARM/VOLPARM 定义:

    POOLPARM TYPE(MVC) NAME(AMVCCTR) INITMVC(YES) MVCFREE(25) -
    MAXMVC(98) THRESH(85) START(98)
    VOLPARM VOLSER(BM1000-BM1099) MEDIA(STK1R)
    

    注:

    StorageTek 强烈建议您使用 POOLPARM/VOLPARM 功能确保在远程站点为 CTR 复制的卷保留卷范围。
  2. 为 TAPEPLXA 导出的 VTV 创建外部 VTV 池:

    POOLPARM TYPE(EXTERNAL) NAME(AEXTBPL) OWNRPLEX(TAPEPLXA)
    VOLPARM VOLSER(AV1000-AV1999) MEDIA(VIRTUAL) REC(VIRTUAL)
    

    注:

    在此示例中,没有为 TAPEPLXB 上的生产工作定义任何池,仅定义了 TAPEPLXA 使用的池。如果要在 TAPEPLXB 上运行生产工作,则 TAPEPLXB 工作的暂存和 MVC 池需要额外的 POOLPARM 和 VOLPARM 定义。
  3. 为用于 TAPEPLXA 工作的 TapePlex TAPEPLXB 创建 VTV 暂存池:

    POOLPARM TYPE(SCRATCH) NAME(ASCRPL)
    VOLPARM VOLSER(BV1000-BV1999) MEDIA(VIRTUAL) REC(VIRTUAL)
    
  4. 为 TapePlex TAPEPLXB 创建 MVC 池用于保存来自 TAPEPLXA DR 测试或生产系统的 VTV(发生灾难时):

    POOLPARM TYPE(MVC) NAME(AMVCDR) INITMVC(YES) MVCFREE(25) -
    MAXMVC(98) THRESH(85) START(98)
    VOLPARM VOLSER(BM2000-BM2099) MEDIA(STK1R)
    
  5. 针对 TAPEPLXB,为本地迁移创建存储类。

    STOR NAME(TPEPLXA1) MVCPOOL(AMVCCTR)
    STOR NAME(TPEPLXA2) MVCPOOL(AMVCDR)
    

    在此示例中,STORclas 语句为本地迁移定义了存储类 TPEPLXA1 和 TPEPLXA2。通过存储类名称,可以将此工作与 TAPEPLXB 本地工作隔离。

  6. 创建指向第 5 步中存储类的管理类。

    MGMT NAME(LOCEEX1) MIGPOL(TPEPLXA1) 
    MGMT NAME(LOCPLXA) MIGPOL(TPEPLXA2)
    

    请注意,名称 LOCEEX1 与在 TAPEPLXA 上使用的管理类名称匹配(该管理类在从 TAPEPLXA 上的 VTSS 发送的 VTV 元数据中指定),但是示例引用了本地迁移的存储类。TAPEPLXB 上管理类和存储类的定义可以使用任何参数(包括 EEXPOL)以复制到第三个 TapePlex。此外,您还可以创建要在 TAPEPLXA 工作负荷的 DR 测试期间用于迁移的另一个 MGMTCLAS,即 LOCPLXA。

当远程站点没有 LPAR 时使用 CTR

在某些环境中,只有一个站点中使用 LPAR 执行磁带活动,而另一个站点仅包含磁带库和 VTSS 硬件而没有 MVS LPAR。可以将这样的环境设置成 CTR 用作 DR 和 DR 测试机制。

为此,您必须:

  1. 在生产环境中运行 SMC 客户机/服务器功能,以便至少有一个生产 LPAR 未在运行 HSC/VTCS。

    或者,您也可以使用 MULT 模式功能与生产 TapePlex 在相同的 LPAR 上运行 DR TapePlex。有关使用该功能的更多信息,请参见配置 HSC 和 VTCS

    本例中的生产 TapePlex 是 TAPEPLXA。

  2. 创建一个新的 CDS 用来定义远程站点中的硬件(磁带库和 VTSS)。

  3. 在当前未运行生产 HSC/VTCS 的 LPAR (MVSX) 上使用新的 CDS 启动 HSC/VTCS,或者在您决定使用 MULT 模式功能运行多个 HSC/VTCS 副本的 LPAR 上启动 HSC/VTCS。

    注:

    为了确保可靠性,建议您可能要运行两个 HSC/VTCS 实例,使其指向两个不同 LPAR 上的 TAPEPLXB,这样如果一个实例不可用,跨 TapePlex 复制的 VTV 的元数据可以发送到第二个实例。

    此系统是 TapePlex TAPEPLXB。

  4. 在定义 TAPEPLXA 和 TAPEPLXB TapePlex 的 MVSX 上定义 SMC 系统的参数。

    复合系统中的每个 SMC 系统必须定义 TapePlex TAPEPLXA(即生产 TapePlex)和 TAPEPLXB(即 DR TapePlex)。要支持在 DR 测试期间继续复制 VTV,必须为 TapePlex TAPEPLXB 定义一个服务器,使其指向远程站点的主机。例如:

    TAPEPLEX NAME(TAPEPLXA) LOCSUB(HSCA)
    TAPEPLEX NAME(TAPEPLXB)
    SERVER NAME(TPLXBPR) TAPEPLEX(TAPEPLXB) HOST(MVSX) PORT(999)
    SERVER NAME(TPLXBDR) TAPEPLEX(TAPEPLXB) HOST(MVSXDR) PORT(1234)
    

    注:

    此示例假定尽管生产和 DR 站点上的 LPAR 名称 (MVSX) 可能完全相同,但是两个站点具有唯一的 TCP/IP 主机名称。
  5. 为 TAPEPLXA 定义 VTCS 策略,以允许向 TAPEPLXB 执行 CTR。

    请参见“为 CTR 定义策略”。

  6. 使用磁盘复制解决方案,在远程位置为 TAPEPLXB 维护 CDS 内容的副本。

    或者,如果存在可靠的连接,您可能要使用 FICON 连接从生产站点访问 CDS,在 DR 站点维护 HSC CDS 的主副本(以及其他副本)。

    图 4-4 显示了远程站点没有 LPAR 时的 CDS 副本。

    图 4-4 CDS 副本-远程站点没有 LPAR

    图 4-4 的说明如下
    说明 - 图 4-4 CDS 副本-远程站点没有 LPAR

使用 CTR 作为 DR 解决方案

DR 解决方案始终需要执行以下三项操作:

使用 CTR 实现业务连续性

如果站点 TAPEPLXA 发生了中断,您可以在站点 TAPEPLXB 继续开展业务,只需使用 TAPEPLXB 的 TapePlex 运行工作负荷即可。为了保护数据,从 TAPEPLXA 复制的 VTV 将保持只读状态(请参见CTR VTV 只读注意事项)。但是,成功地重新建立 TAPEPLXA 工作负荷后,您可能要暂存从 TAPEPLXA 复制的某些 VTV。请注意,在执行该步骤前应该小心,确保 TAPEPLXA 和 TAPEPLXB 的生产工作稳定。此外,在将来某个时间,您或许要为 TAPEPLXA 重新创建单独的 TapePlex 环境以返回原始配置。

要使用 CTR 实现业务连续性,请执行以下操作:

  1. 在 TAPEPLXB TapePlex CDS 中将名为 AEXTBPL 的池的 POOLPARM/VOLPARM 定义从 TYPE(EXTERNAL) 更改为 TYPE(SCRATCH)

    POOLPARM TYPE(SCRATCH) NAME(AEXTBPL)
    VOLPARM VOLSER(AV1000-AV1999) MEDIA(VIRTUAL)
    

    请注意,VOLPARM VOLSER 范围保持不变。

  2. 您现在可以在 TAPEPLXB 下运行暂存同步作业,以根据 TMS 中的暂存状态在 AV1000-AV1999 范围内暂存 VTV,以返回检查点或执行正常的暂存更新处理。

    开始生产处理后可能要经过一些时间才允许 AV1000-AV1999 范围内的 VTV 卷序列号重用作暂存卷。使用 POOLPARM/VOLPARM 功能可确保不能选择这些卷作为暂存卷,除非策略明确要求 SUBPOOL(AEXTBPL)

    在此期间,您将 TAPEPLXB 暂存子池 ASCRPL 中的卷(卷序列号范围 BV1000-BV1999)用于 TAPEPLXA 生产工作。

    灾难恢复环境稳定后,您可以再次更改 POOLPARM/VOLPARM 定义,以允许从 AV1000-AV1999 范围内选择暂存卷:

    POOLPARM TYPE(SCRATCH) NAME(ASCRPL)
    VOLPARM VOLSER(AV1000-AV1999) MEDIA(VIRTUAL)
    VOLPARM VOLSER(BV1000-BV1999) MEDIA(VIRTUAL)
    

    图 4-5 显示了业务连续性期间的 CTR 示例。

    图 4-5 业务连续性期间的系统

    图 4-5 的说明如下
    说明 - 图 4-5 业务连续性期间的系统

使用 CTR 实现业务恢复

本地站点发生了中断,您在远程站点继续开展业务,现在本地站点再次启动并运行,如何在本地站点继续开展业务呢?从根本上讲,业务恢复取决于中断期间和中断过后发生了什么。假定所有原始本地数据都已丢失,本地站点有一个全新的空 VTSS。

要在本地站点丢失所有数据后恢复业务,请执行以下操作:

  1. 创建一个新的 CDS 并运行 HSC 审计,以确定物理磁带库的内容。

    随后需要将数据和元数据从远程站点“反向复制”到本地站点。

  2. 设置远程站点的 CONFIG 面板,以使其可以向本地站点发送数据。

  3. 使用 EEXPORT 反向复制。

    例如:

    EEXPORT MGMTCLAS(LOCEEX1,LOCEEX2) TOPLEX(TAPEPLXA)
    

使用跨 Tapeplex 复制进行灾难恢复测试

继续举个例子,假设有两个站点 TAPEPLXA 和 TAPEPLXB,每个都定义为自己的 TapePlex (HSC CDS),并且您使用跨 TapePlex 复制功能将关键 VTV 从 TAPEPLXA 复制到了 TAPEPLXB。图 4-6 显示了使用 CTR 进行的 DR 测试。

图 4-6 使用跨 Tapeplex 复制进行灾难恢复测试

图 4-6 的说明如下
说明 - 图 4-6 使用跨 Tapeplex 复制进行灾难恢复测试

要在 TAPEPLXB 上为 TAPEPLXA 的工作执行 DR 测试,建议采用以下过程:

  1. 确保 TAPEPLXB CDS 包含一个或多个暂存子池来存储 TAPEPLXA 输出数据,这些暂存子池与用于 TAPEPLXB 工作的暂存子池分离。

    有关示例,请参见“接收 TapePlex 的策略”。

  2. 确保来自 TAPEPLXA 的目录和磁带管理数据可用。

  3. 在 TAPEPLXA 测试 LPAR 上初启 SMC,将其 TapePlex 定义为 TAPEPLXB,为 TAPEPLXB 中的一个或多个 HSC 主机指定 SERVER 命令。

  4. 开始执行测试工作负荷。

    SMC 将自动可以访问在开始测试之前或之后存在的 VTV,因为继续从 TAPEPLXA 复制这些 VTV。确保 DR 测试将要使用的 VTV 不会由 TAPEPLXA TapePlex 暂存或更改。

  5. 当测试完成时,暂存测试使用的 DR 测试子池中的所有 VTV。

    使用这种方法时,无需特殊的 CDS 也无需特殊的规则来确保两个单独的 HSC 系统可以共享硬件资源。但是,这种方法要求使用最新数据或者至少是当前可用的数据来执行 DR 测试。请注意,DR 测试输出和 TAPEPLXA 复制的 VTV 将使用 TAPEPLXB VTSS 缓冲区空间。

    由于从 TAPEPLXA TapePlex 复制的数据是只读数据,因此 DR 测试要修改这些数据的任何尝试都将导致出现消息 SMC0247 "Mount failed for write-protected VTV vvvvvv on drive dddd from SMC indicating that the VTV cannot be mounted"。出现该消息可能表明 DR 过程未清楚地定义应用程序检查点(请参见CTR VTV 只读注意事项)。如果确实如此,将 CTR 用于 DR 策略可能不是很好的选择。

    注:

    如果使用跨 TapePlex 复制在远程站点创建 VTV 副本,建议不要将 CDRT 用于 DR 测试,因为使用 CDRT 将不允许更新只读 VTV,即使在单独的 CDRT 环境中也是如此。

当 DR 站点没有 LPAR 时进行 DR 测试

当您使用在生产站点执行的 TapePlex 管理 DR 站点的 CTR 硬件时,对 DR 测试有一些额外的注意事项。在此示例中,将 TAPEPLXA 用于生产 TapePlex,将 TAPEPLXB 用于通常在生产站点运行但是在 DR 测试期间在 DR 站点运行的 TapePlex。

  1. 您必须在测试之前在生产站点停止 DR TapePlex TAPEPLXB。

    在 DR 测试期间,TAPEPLXB 将在 DR 站点的 TAPEPLXB CDS 副本上执行。

  2. 生产 VTV 将继续发送到 TAPEPLXB 并反映在 DR 站点的 CDS 中。

    在此期间,生产站点的 TAPEPLXB CDS 变得过时,因为它不再反映在 DR 测试期间复制的 VTV。生产 LPAR 上的 TAPEPLEX 和 SERVER 语句可确保在 DR 测试期间继续复制数据:

    TAPEPLEX NAME(TAPEPLXB)
    SERVER NAME(TPLXBPR) TAPEPLEX(TAPEPLXB) HOSTNAME(MVSX) PORT(999)
    SERVER NAME(TPLXBDR) TAPEPLEX(TAPEPLXB) HOST(MVSXDR) PORT(1234)
    
  3. 在 DR 站点为 TapePlex TAPEPLXB 启动 HSC/VTCS 时,必须确保在 SMC 上启动 HTTP 服务器:

    HTTP START PORT(1234)
    

    端口号 (1234) 与在 TAPEPLXBDR SERVER 语句中定义的内容匹配。

  4. 当测试结束时,暂存测试创建的所有 VTV。

    您不必确定测试实际上创建了哪些 VTV,只需暂存子池中的所有卷。例如:

    SCRATCH VOL(BV1000-BV2999)
    
  5. 在 DR 站点为 TAPEPLXB 停止 HSC/VTCS。

  6. 您现在必须确保将 DR 站点的 TAPEPLXB CDS 发送回生产站点。

    理想情况下,这可通过在 DR 测试期间将 TAPEPLXB CDS 镜像回生产站点来完成。如果不能做到这一点,您可以使用 FTP 或自己选择的其他机制将 CDS 从 DR 站点上的最新版本复制回生产站点。

  7. 在生产站点的 LPAR 上重新启动 TAPEPLXB。

    尽管没有活动的 TAPEPLXB 副本,但是计划 CTR 到 TAPEPLXB 的 VTV 将留在 VTSS 缓冲区中。当 TAPEPLXB 在生产站点再次处于活动状态时,会将这些 VTV 复制到 DR 站点的 VTSS。

管理使用跨 TapePlex 复制 (Cross-TapePlex Replication, CTR) 复制的 VTV

您可以使用 VTVMAINT 更改通过 CTR 复制的 VTV 的状态,如下所示:

  • 使用 VTVMAINT DELEXpot 删除引用 VTV 的 TapePlex 的名称。例如,如果将 VTV 从 TAPEPLXA 复制到 TAPEPLXB,然后删除 TAPEPLXA 上的副本,您可以使用 VTVMAINT DELEXpot 删除 TAPEPLXA 对 VTV 的引用。

  • 使用 VTVMAINT ADDEXpot 添加引用 VTV 的 TapePlex 的名称,如“使用 CTR 实现业务连续性”中所述。

  • 使用 VTVMAINT 实用程序更改通过 CTR 接收的 VTV 的所有权,但是 VTV 当前必须处于暂存状态。例如,VTVMAINT OWNRPLEX(TAPEPLXB) 会将从 TAPEPLXA 发送的 VTV 的所有权更改为由其当前所在的 TapePlex 拥有。