7 使用 Concurrent Disaster Recovery Test 软件

对于将灾难恢复 (Disaster Recovery, DR) 站点用作或维护为业务连续性计划一部分的客户而言,可能需要在实际灾难发生之前定期验证能否继续正常的生产处理;其他客户则没有选择的余地,必须定期演示业务连续性模型的准备就绪状况,以满足保险要求和/或审计员需求。

通过使用 Concurrent Disaster Recovery Test (CDRT) 工具(如今已成为 StorageTek ELS 软件的集成功能),那些当前使用 StorageTek Streamline 和/或 Nearline(实际硬件)磁带库、VSM(虚拟硬件)以及关联软件 (HSC, VTCS) 的企业无需额外购买硬件和软件,即可验证实际的和虚拟的磁带业务连续性功能。

CDRT 支持并行测试生产主机和应用程序,并支持按生产系统和 DR 测试系统同时访问生产数据。

CDRT 的主要概念包括:

  • 通过使用 CDRT,可以对实际硬件和/或虚拟硬件执行 DR 测试。

  • CDRT、HSC 和 VTCS 将在 CDS 准备和 DR 实际测试期间以编程方式强制执行特定的功能限制,以尝试确保系统完整性。

  • CDRT 将在 DR 测试期间逻辑隔离现有部分生产中的实际和虚拟硬件和磁带卷池。这样允许在并发运行生产工作的同时测试 DR 配置,确保生产数据的完整性,并最大程度地减少磁带卷与硬件资源之间的冲突。

  • CDRT 创建生产 CDS 的测试副本。因此,生产 ELS 子系统和 DR 测试 ELS 子系统不会彼此通信。发生在 DR 测试 CDS 中的变化不会反映在生产 CDS 副本中,反之亦然。DR 测试主机仅使用逻辑隔离的硬件。生产主机继续使用所有硬件,但有一个例外,即:DR 主机在 DR 测试期间专门使用所有逻辑隔离的 VTSS。其他资源(例如,RTD、多个虚拟磁带 (Multiple Virtual Cartridge, MVC) 和实际暂存磁带)必须通过为每组主机定义单独的池进行控制。

  • 可以仅使用本地资源执行 DR 测试,也可结合使用本地资源和远程资源执行 DR 测试。此外,还支持以下配置:远程站点 + 仅实际硬件和虚拟硬件(或者实际硬件和虚拟硬件以及大型机处理器)。

  • DR 测试硬件可包括 ACS、VTSS 和 VLE 的任意组合。

  • DR 测试结束后,通常会丢弃 CDS 的测试副本以及从 DR 测试创建的所有数据,并将逻辑隔离的硬件重新部署回正常生产环境。

    注:

    • 要满足从实际灾难中恢复的要求,DR 测试作业流中的作业不得更新生产环境中创建的任何卷(通过 DISP=MOD 或通过覆写这些卷),这一点至关重要。采用此类做法意味着,如果发生实际灾难,这些卷的状态将不可预测。

    • 对于 DR 测试运行,强烈建议在测试开始时将 DR 测试期间可能修改的生产卷复制到新卷,且通过 DR 测试(而不是原始卷)更新复制的卷。此外还应修改 JCL(如有可能),以便灾难发生时所有磁带卷的状态均已知。

元数据注意事项

使用 CDRT 成功执行 DR 测试的关键在于:ELS 软件以及实际硬件和虚拟硬件管理的所有磁带卷均具有一致的状态副本。这种在 DR 测试开始时生产主机与 DR 主机之间磁带卷状态的一致性保证了客户应用程序的并行处理。由于 CDS 反映了实际硬件和虚拟硬件中所有磁带卷和资源的状态,因此 CDRT 在创建 CDS 的测试副本时,可以在一定程度上满足您的一致性要求。

但在磁带卷环境中,对于这种磁带卷状态数据(元数据),经常会有一些是在 ELS 子系统以及实际硬件和虚拟硬件外部保留和管理的。通常,磁带卷元数据(即 VOLSER、DSN、失效日期、暂存状态、实际或虚拟的名称等)存储在一个或多个磁带管理目录 (Tape Management Catalog, TMC)、一个或多个 z/OS 目录以及 CDS 中。

您必须协调在 ELS(以及实际硬件和虚拟硬件)外部保留和管理的元数据副本的创建与 CDRT 对 CDS 测试副本的创建。

CDRT 从何处获得其 VTV 数据?

CDRT 从以下一个或多个 DR 站点资源获得其 VTV 数据:

  • MVC

  • VLE

  • VTSS

由于生产 CDS 是可用于 DR 测试的 VTV 信息来源,因此确保暂存同步周期允许 DR 测试中使用的卷在测试开始之前不进入暂存状态,这一点至关重要。此外,StorageTek 还建议您在执行 DRTEST CREATE 之前将测试 VTSS 变为脱机。

请注意,如果使用 ACTMVCGN 实用程序将 DR 测试 VTSS 和 MVC 的内容设置为 READONLY,则在测试期间运行暂存不会影响这些内容。

DR 站点 CDS 副本提供复制时的 VTV 位置,该位置通常是在 MVC 或 VLE 上。但有时,您可能会选择使用测试站点存在的 VTSS 中的 VTV 副本。通常,您可在以下情况下进行此选择:

  • 您使用 SHARE 关键字定义 DR VTSS,防止更新任何生产 VTV 的内容。

  • 您拥有两个群集 VTSS,分别位于生产站点和 DR 站点,且 DR 测试不会修改任何生产 VTV 的内容。

  • 您拥有两个群集 VTSS,分别位于生产站点和 DR 站点,在 DR 测试结束之后您愿意花时间来标识并手动迁移 DR 测试所更新的任何 VTV。

    注:

    运行 DR 测试之前,您可以使用 DRMONitr 实用程序确保关键的 DR 数据达到指定的恢复位置。

测试结束时数据会发生什么情况?

由 DR 测试创建的数据仅在 DR 测试 CDS(测试结束之后被丢弃)和 DR 测试 MVC(与生产 MVC 中的卷隔离)中会有所体现。此外,除非您执行以下操作之一,否则测试结束之后,DR 测试所创建的 VTV 将保留在 DR 测试 VTSS 中:

  1. 使用 DR 测试环境中的 SLUADMIN SCRATCH 实用程序将所有 VTV 暂存(通过 MGMTCLAS DELSCR(YES))在 DR 测试子池范围内。此选项要求使用 POOLPARM/VOLPARM 功能。

  2. 通过结合使用 MIGRATE 命令与 DELETE(YES),确保 DR 测试修改的所有生产 VTV 均从 DR 测试系统迁移到 DR 测试 MVC。如果未做到这一点,则生产系统将拾取 DR 测试已修改的数据。

  3. 测试完成后,使用 StorageTek CSE 或其他 QSP“清理”DR 测试 VTSS,以删除 VTSS 中的所有数据。

    注:

    如果使用选项 2 或选项 3,则 VTSS 的内容与生产系统不匹配。这是因为返回到生产环境时,VTV 会从 DR 测试 CDS 中缺失。尽管该软件会处理这种情况,但生产性能可能会降级。

管理 CDRT 资源

以下各节介绍了如何管理 CDRT 资源。

卷资源

管理 CDRT 资源的第一步是使用 POOLPARM/VOLPARM 实用程序定义系统中的卷。此功能将简化磁带池和磁带卷的整体管理,并为隔离写入 CDRT 配置中的卷提供了一种方法。共享 DR 测试 VTSS 时,需要使用 POOLPARM/VOLPARM。对于其他情况,强烈建议也这样做。

注:

SLUADMIN SET VOLPARM 实用程序必须使用生产 CDS 运行,并且必须同时定义生产和 DR 测试池。SET VOLPARM 实用程序对 DR 测试 CDS 无效

暂存子池

暂存子池适用于所有 DR 测试方案。以下语法显示了如何使用 POOLPARM/VOLPARM 定义来定义生产和 DR 测试暂存子池。通过对生产和 DR 测试中的子池(具有不同的卷范围)使用相同的名称,您无需在运行 DR 测试时更改生产策略,如下例中所示。

*   SCRATCH POOLS
POOLPARM NAME(SCRP1) TYPE(SCRATCH)
VOLPARM VOLSER(T11000-T11999) MEDIA(T10000T1) RECTECH(T1AE)
POOLPARM NAME(SCRP1) TYPE(SCRATCH) DRTEST
VOLPARM VOLSER(T12000-T12999) MEDIA(T10000T1) RECTECH(T1AE)
POOLPARM NAME(SCRVTV1) TYPE(SCRATCH)
VOLPARM VOLSER(V1000-V1999) MEDIA(VIRTUAL)
POOLPARM NAME(SCRVTV1) TYPE(SCRATCH) DRTEST
VOLPARM VOLSER(V2000-V2999) MEDIA(VIRTUAL)

使用 POOLPARM/VOLPARM 实用程序定义暂存子池时,您可以使用 HSC SLUADMIN SCRATCH 实用程序将 DR 测试输出卷暂存在 DR 测试环境内。通过与指定 DELSCR(YES) 的管理类结合使用,运行暂存实用程序可将 DR 测试创建的 VTV 从 VTSS 中删除。

MVC 资源

MVC 资源可用于除仅含实际磁带和无磁带 VSM 以外的所有 DR 测试方案。以下示例显示了如何使用 POOLPARM/VOLPARM 定义来定义生产和 DR 测试 MVC 池。

*   MVC POOLS
POOLPARM NAME(MVCP1) TYPE(MVC) MVCFREE(40) MAXMVC(4) THRESH(60) +
START(70)
VOLPARM VOLSER(T14000-T14999) MEDIA(T10000T1) RECTECH(T1AE)
POOLPARM NAME(MVCP1) TYPE(MVC) MVCFREE(40) MAXMVC(4) THRESH(60) +
START(70) DRTEST
VOLPARM VOLSER(T13000-T13999) MEDIA(T10000T1) RECTECH(T1AE)

通过以下方式保留生产 MVC 的内容,以供 DR 测试方案使用:

  • 使用 ACTMVCGN 实用程序,将要用作 DR 测试输入的 MVC 设置为 READONLY,如下例中所示。

    //ACTMVCG1 EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //* NOTE: MVCMAINT READONLY(ON) STATEMENTS
    //SLUSMVON DD DSN=hlq.SLUSMVON,DISP=(NEW,CATLG,DELETE),
    // SPACE=(CYL,1)
    //* NOTE: MVCMAINT READONLY(OFF) STATEMENTS
    //SLUSMVOF DD DSN=hlq.SLUSMVOF,DISP=(NEW,CATLG,DELETE),
    SPACE=(CYL,1)
    //* NOTE: THE FOLLOWING STEP SELECTS ALL "ACTIVE" MVCS
    //* IN ACS 01.
    //SLSIN DD *
    ACTMVCGN ACS(01)
    /*
    //ACTMVCG2 EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //* NOTE: EXEC MVCMAINT TO SET READONLY(ON)
    
  • 使用 VTCS CONFIG 确保所有生产主机中均不运行回收:

    CONFIG HOST NAME(host) NORECLAM
    

VTSS 资源

VTSS 资源分为两种类型:非共享和共享。

非共享 VTSS 资源

在 VTV 迁移到 MVC 或 VLE 的环境中,VTSS 资源在 DR 测试期间便已隔离。DR 测试系统仅有权访问通过 DRTEST PRIMEPRD/CREATE 实用程序定义的 VTSS,且这些 VTSS 必须在生产环境中保持脱机状态。如果 DR VTSS 在生产环境中处于联机状态,则 DRTEST START 命令将被拒绝。

在某些情况下,生产站点和测试站点中可能同时存在两个同名的 VTSS。在这种情况下,DRTEST PRIMEPRD/CREATE 实用程序的 SPARE 参数将指定 DR 测试 VTSS 与生产 VTSS 具有相同的名称,但实际上二者却并非同一设备,从而允许生产设备在测试期间保持联机状态。对于其他任何情况,请勿使用 SPARE 参数!

CDRT 中的群集 VTSS

方案 4:生产站点和 DR 测试站点的群集 VTSS使用群集 VTSS 将数据传送给 DR 站点的 VTSS。在此方案中,群集在 DR 测试期间起作用,这是因为 DR 测试 VTSS 在生产环境中处于脱机状态。

如果在 DR 测试期间以任何方式修改生产 VTV,则您必须确保在生产环境中将测试 VTSS 变回联机状态之前,将修改后的 VTV 从 VTSS 中删除。否则,生产站点可能会拾取修改后的 VTV。要防止出现这种情况,StorageTek 强烈建议对 DR 测试进行设计,使测试不更改生产 VTV。

在群集 VTSS 方案中,生产主机可能无法访问测试 VTSS 中的 VTD。要允许从生产到 DR 测试 VTSS 进行 ECAM 通信,请在 VTCS CONFIG 中指定以下内容:

VTD LOW=xxxx HIGH=xxxx NOVERIFY
为 DR 测试准备 VTSS 群集
  1. 将 DR 测试 VTSS 更改为停顿状态。例如:

    VARY VTSS1 QUIESCED
    

    其目的在于(妥善)关闭对 VTSS1 的复制,以便您能够将其专用于 DR 测试。

  2. 使用 Display REPLicat 监视复制操作,直到复制完成为止。此时,复制仍处于活动状态:

    VTSS   HOST  QDEPTHVTSS0  PRODUCTION    1
    

    当您看到以下内容时,意味着复制已完成:

    VTSS   HOST  QDEPTH
    VTSS0  PRODUCTION  0
    
  3. 通过使用 Display CLINK 检查 CLINK 状态,交叉检查复制是否已完成。此时,CLINK 仍处于活动状态:

    VTSS  CLINK  STATUS USAGE        HOST
    VTSS0   7    ONLINE REPLICATING  PRODUCTION
    VTSS0   8    ONLINE REPLICATING  PRODUCTION
    You know the CLINK is no longer active when you see this:
    VTSS  CLINK  STATUS USAGE        HOST
    VTSS0   7    ONLINE FREE
    VTSS0   7    ONLINE FREE
    
  4. 将 DR 测试 VTSS 变为脱机:

    VARY VTSS1 OFFLINE
    
在 DR 测试前后管理 VTSS 内容

在开始 DR 测试之前,您必须

  1. 计划测试,以便测试输出不会在无意中进入生产环境。

  2. 准备测试,以便 DR 测试 CDS 与 DR VTSS 内容相匹配。

此外,StorageTek 强烈建议在测试结束之后尽快清理所有测试站点 VTSS。这种做法可确保下次测试开始时测试站点 VTSS 为空,任何 DR 测试数据均未保留在返回到生产环境的 VTSS 中。

您可通过执行以下任一操作清理测试 VTSS:

  1. 禁止 DR 测试对生产 VTV 执行任何更新(覆写或附加),并使用 POOLPARM/VOLPARM 定义 DR 测试暂存子池。通过使用这种方法,您可以运行暂存实用程序将所有 VTV 暂存在 DR 测试范围内。如果管理类指定 DELSCR(YES),这些 VTV 会自动从 VTSS 中删除。

  2. 如果 DR 测试可以更新生产 VTV,则将 VTSS 返回到生产环境之前,您必须确保用于 DR 测试输出的所有 VTSS 均已清空。这一点可通过以下两种方式实现:在 DR 测试环境中迁移到零;或者使用 StorageTek CSE 或其他 QSP“清理”VTSS。

运行 DRTEST CREATE 实用程序创建 DR 测试 CDS 时,VTSS 内容的元数据将传播到测试环境。DR 测试 VTSS 中的 VTV 可用于 DR 测试环境。

如果DR 测试 VTSS 定义为备用,则物理 DR VTSS 的内容与 CDS 元数据(引用备用 VTSS 的生产实例)不匹配。要消除差异,请在创建 DR 测试 CDS 之前,将备用 VTSS 的生产实例迁移到生产环境中的 0。您可以运行 VTCS VTVRPT OPTION(UNAVAIL),确保所有 VTV 均已迁移且可用于其他 VTSS。如果未执行此步骤,则 DR 测试尝试访问备用 VTSS 上的 VTV 时,将针对 VT 挂载发出 SLS6680E 消息。

共享 VTSS 资源

如果磁带环境不包括实际磁带或 VLE MVC,则您可以在共享 VTSS 环境中运行 CDRT。DRTEST PRIMEPRD/CREATE SHARE 参数指定测试期间在生产环境和 DR 测试环境之间共享 VTSS。此环境强制执行以下限制:

  1. DRTEST CREATE 也无法定义任何 DRACS 或 STORMNGR 资源。即:数据无法从共享的 VTSS 迁移到外部介质。

  2. 生产系统必须使用 POOLPARM/VOLPARM 工具定义卷资源。

  3. 在 DR 测试环境中挂载非 DRTEST 子池 VTV 时,将强制使 VTV 变为只读。即:不允许 DR 测试覆写或附加到任何生产 VTV。

ACS 资源

在非无磁带的 VSM 环境中,ACS 资源用于仅含实际磁带或包含虚拟磁带、但不含 VLE 的 DR 测试方案。CDRT 的 ACS 资源是在 DRTEST PRIMEPRD/CREATE DRACS 参数中指定的。

DR 测试 ACS 限制

运行 DRTEST CREATE 实用程序之前,您必须发出 HSC CAPPREF 命令以将 CAP 设置为手动。该软件确保只要测试有效,CAP 便会始终保持该状态。输入 DRTEST START 命令之后,生产环境和 DR 测试环境中将对 DR 测试 ACS 强制执行限制,确保硬件和相关 CDS 之间的一致性,从而允许这两个站点访问数据。如果 DR 测试 ACS 中的 CAP 在生产环境中处于自动模式,则 DRTEST START 命令会被拒绝。

该软件将自动执行以下限制。

DR 生产主机要求

在活动的 DR 测试期间,DR ACS 的 DR 生产主机要求包括:

  • CAP 必须保留在手动模式。

  • 无论 MNTD 命令中的设置如何,FLOAT(OFF)EJCTAUTO(OFF) 均自动执行。

  • 您不能对 DR 测试 ACS 运行弹出、移动、编辑和暂存实用程序。

DR 测试主机要求

在 DR 测试期间,DR 测试主机要求包括:

  • 非 DR 测试 ACS 不能变为联机状态。

  • CAP 必须保留在手动模式。

  • FLOAT(OFF)EJCTAUTO(OFF) 将自动执行,且 MNTD 命令中的其他值无效。

  • 您不能对 DR 测试 ACS 运行弹出、移动、编辑和暂存实用程序。

  • 只有对于那些使用 POOLPARM/VOLPARM 定义为 DR 测试暂存子池卷的卷,才允许暂存更新。

VLE 资源

您可以使用 DRTEST PRIMEPRDCREATE 命令的 STORMNGR 参数定义 VLE 资源。通常,DR 测试资源是 ACS 或 VLE(尽管对使用二者并无限制)。

与物理 MVC 一样,VLE VMVC 也是使用 POOLPARM/VOLPARM 工具定义的,同时保留了一定范围的 VMVC 供 DR 测试使用。DR 测试还对生产 VMVC 具有读取访问权限,如下例中所示。

//ACTMVCG1 EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//* NOTE: MVCMAINT READONLY(ON) STATEMENTS
//SLUSMVON DD DSN=hlq.SLUSMVON,DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,1)
//* NOTE: MVCMAINT READONLY(OFF) STATEMENTS
//SLUSMVOF DD DSN=hlq.SLUSMVOF,DISP=(NEW,CATLG,DELETE),
SPACE=(CYL,1)
//* NOTE: THE FOLLOWING STEP SELECTS ALL "ACTIVE" MVCS
//* IN VLE1 AND MVCPOOL MVCP1.
//SLSIN DD *
ACTMVCGN STORMNGR=VLE1,MVCP=MVCP1
/*
//ACTMVCG2 EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//* NOTE: EXEC MVCMAINT TO SET READONLY(ON)
//SLSIN DD DSN=hlq.SLUSMVON,DISP=SHR

VTCS 策略

为了最大程度地减少生产环境和 DR 测试环境之间的差异,CDRT 允许您定义各种策略,有效管理在生产环境和 DR 测试环境中具有相同名称、但策略定义不同的 VTV。

请注意,生产站点和测试站点可以通过使用 DRTEST DRVTSS SHARE 参数共享 VTSS。另请注意,对于共享 VTSS 或 DR 测试,无需再使用 VLE 指定虚拟 DR ACS。指定共享 VTSS 时,具有以下限制:

  • 共享 DR 测试 VTSS 与生产站点或 DR 测试站点之间不得具有活动的 RTD 连接。

  • CDS 必须包含 VOLPARM 定义,才能定义 DR 测试暂存子池。

  • 生产 VTV(不位于 DR 测试子池中)在挂载后设置为只读,无法进行修改。

为非共享 VTSS 定义 MGMTCLAS/STORCLAS

为 DR 测试系统定义管理类时,您通常仅定义输出 VTV 的一个 MVC 副本。要允许在测试结束之后清除 VTSS,建议按照以下示例中所述指定 DELSCR(YES)

STOR NAME(LOCAL) ACS(01) MVCPOOL(MVCP1)
MGMT NAME(CRITICAL) MIGPOL(LOCAL) IMMWAIT(0) DELSCR(YES)

为共享 VTSS 定义 MGMTCLAS

为 DR 测试使用共享 VTSS 时,不允许迁移输出副本。您必须指定 DELSCR(YES) 允许清除以下测试,如下例中所示。

MGMT NAME(CRITICAL) DELSCR(YES)

优化对测试资源和生产资源的访问

在 DR 测试期间,建议您强制执行有效过程,优化测试环境和生产环境中的资源访问。具体而言:

  • 开始 DR 测试之前,定义用于指定立即迁移到生产和 DR 测试 ACS 的生产管理类,使 VTV 在 DR 测试系统和生产系统均可访问的 MVC 上可用。

  • 由于通常只有一个 ACS 可用于 DR 测试站点,因此请定义将指定单一迁移副本的 DR 测试管理类。

  • 使用 POOLPARM/VOLPARM 工具隔离生产和 DR 测试之间的暂存子池和 MVC 池。

  • 如果可能,请确保 DR 测试处理不会更新任何现有 VTV(DISP=MOD 或使用 DISP=OLD 覆写)。

  • 在生产环境中通过运行 ACTMVCGN 实用程序将活动的 MVC 标记为只读,最大程度地减少迁移到 DR 测试 ACS 的生产作业与在 DR 测试 ACS 中访问 MVC 上 VTV 的 DR 测试作业之间的争用现象。

  • 在 DR 测试期间对生产 MVC 禁用 MVC 空间回收(使用 CONFIG HOST NORECLAM),保留 DR 测试系统使用的卷的 MVC 内容。

运行 DR 测试

注:

有关此过程中使用的命令和实用程序的更多信息,请参见《ELS Command, Control Statement, and Utility Reference》。

要运行 DR 测试,请执行以下操作:

  1. 使用 SLSPARM DD 中的 SET VOLPARM 命令和 POOLPARM/VOLPARM 语句,在生产 CDS 中定义卷池。

    有关更多信息,请参见“卷资源”。

  2. 确保已正确设置测试资源。

    有关更多信息,请参见:

  3. 为 DRTEST 环境创建 MGMTCLAS/STORCLAS 语句。

    有关更多信息,请参见:

  4. 如果需要,为 DR 测试站点复制 MVS 目录。

  5. (可选)为 DR 测试站点复制 TMS 数据库(如果使用 TMS)。

  6. 在生产站点运行 DRTEST 实用程序(使用 PRIMEprd 关键字),为 DR 测试准备生产 CDS。

    有关示例,请参见“方案 1 的示例 JCL”。

    无论运行多少次 DRTEST 迭代,除非配置发生更改,否则仅需在环境中运行 PRIMEprd 一次。如果 DR 测试配置以任何方式发生更改,则需重新运行 PRIMEprd。另请注意,DR 测试完成后,您不必运行 DRTEST RESET 实用程序。尽管标志在生产 CDS 中仍保持设置状态,但只要 DR 测试处于非活动状态,它们便不会影响处理。

  7. 在生产系统中,使用 HSC CAPPREF 命令将 DR 测试 ACS 中的所有 CAP 设置为手动模式。

  8. 在 DR 测试站点,针对生产 CDS 的镜像或备份副本运行 DRTEST 实用程序(使用 CREATE 关键字),以便为 DR 测试创建新的 DR 测试 CDS。

    每种方案提供一个 DRTEST CREATE 示例。

    CDS 必须通过使用实用程序中的 DD 语句加以分配。请注意,使用 NOUPD 时,仅需 SLSCNTL DD 语句,且该语句可以是实际的主 CDS、备份副本或镜像副本。

  9. 在生产站点开始 DR 测试,指向您在第 3 步中创建的 DRTEST MGMTCLAS/STORCLAS 定义。

    例如:

    /PRIME EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSIN DD *
    DRTEST START
    

    注:

    您还可以通过从控制台输入 DRTEST START 命令来开始测试。
  10. 在 DRTEST 客户机主机上启动 SMC 系统。

  11. 在 DR 测试系统上启动 SMC/HSC/VTCS 系统(指向您在第 8 步中创建的 CDS)。

  12. 验证测试 VTSS 的 VTD 和路径是否处于联机状态。

  13. 将 DR 系统中的 DR VTSS 变为联机。

  14. 如果适用,请将 DR 系统中的 DR RTD 变为联机。

  15. 在 DR 测试站点运行测试。

    在 DR 测试期间,以下条件将以编程方式强制执行:

    • 生产站点 ACS 从 DR 测试主机断开连接。

    • 生产站点 VTSS 在 DR 测试主机中处于脱机状态。

    • DR 测试站点不可出现浮动卸载、弹出、移动、暂存更新、审计或暂存重新分配。

    • 生产站点不可出现 DR 测试 ACS 的浮动卸载、装入/弹出、移动、审计或暂存重新分配。

    • DR 测试 ACS 中的所有 CAP 均处于手动模式。

      注:

      您可以将卷装入 DR 测试 ACS,但在测试完成之后,必须弹出卷或对单元进行审计,使生产 CDS 与实际磁带库卷同步。

DR 测试完成后进行清理

正如本章开头所述,DR 测试作业流中的作业不得更新生产环境中创建的任何卷,这一点至关重要。

注:

有关 DRTEST 命令和 DRTEST 实用程序的信息,请参见《ELS Command, Control Statement, and Utility Reference》。有关 CDRT 消息的信息,请参见《ELS Messages and Codes》。

DR 测试完成后进行清理

注:

对于 ELS 7.1 及更高版本,如果已安装 CDRT Cleanup Enhancement SPE,则不必在 DR 测试之后和恢复正常生产环境之前立即运行此过程。相反,您可以无间断地(例如,在下次 DR 测试之前)运行该过程。
  1. 运行 SLUADMIN SCRAtch 实用程序,将所有可能的 VTV 暂存到 DRTEST 子池中。

    由于您在管理类中设置了 DELSCR(YES),因此测试结束后暂存 VTV 时,它们将从缓冲区中自动删除。

    警告:

    如果不使用 SET VOLPARM,且未设置单独的暂存池,则会面临数据丢失的风险。

  2. 如果 DR 测试已修改或可能修改任何生产 VTV,则您还必须执行以下操作,确保生产 VTSS 中没有保留任何 DR 测试数据:

    • 对 DRTEST CDS 运行 VTV 报告,并检查输出,确定测试期间是否已修改生产 VTV 范围中的任何 VTV。

      请注意,VTVRPT COPIES 目前在 DRT 列中使用 "D" 标记属于 DR 测试副本的 VTV 副本。

    • 如果已修改任何 VTV,则必须执行以下操作之一:

      • 要求根据 VTV 报告迁移修改后的 VTV。

      • 将 DR 测试 VTSS 迁移到 0。

      • 使用 CSE“清理”测试 VTSS。

  3. 停止 DR TEST MVS 系统上的 HSC/VTCS 和 SMC。

  4. 如果在测试将 MVC 置于 READONLY 状态之前已运行 ACTMVCGN 实用程序,则使用 SLUSMVOF DD 语句的输出作为输入运行 SLUADMIN,以重置 READONLY 状态。

恢复正常操作

遵循以下过程重新启动操作并停止 DR 测试。

  1. 停止 PRODUCTION MVS 系统中的 DR 测试。

    例如:

    /STOP EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    DRTEST STOP
    

    另请注意,DR 测试完成后,您不必运行 DRTEST RESET 实用程序。尽管标志在生产 CDS 中仍保持设置状态,但只要 DR 测试处于非活动状态,它们便不会影响处理。

  2. 如果需要,将 CAP 置于自动模式。

操作方案

本节介绍如何使用 DR 测试软件设置开始和停止 DR 测试的环境。本节包括以下信息:

有关 DRTEST 命令和 DRTEST 实用程序的信息,请参见《ELS Command, Control Statement, and Utility Reference》。有关 CDRT 消息的信息,请参见《ELS Messages and Codes》。

注:

对于所有方案,在测试之后运行“DR 测试完成后进行清理”中的过程。

方案 1:生产和测试站点,其中每个站点均有 ACS,且测试站点有备用 VTSS

在方案 1 中,生产站点和测试站点均有一个 ACS,测试站点的“备用”VTSS 仅用于测试(不要求迁移或恢复“备用”VTSS 内容)。在正常操作中,生产站点将在自身站点的 VTSS 中写入并访问 VTV,且输出 VTV 将始终立即迁移并进行双工处理以分隔 MVC,每个 ACS 中分别放一个 MVC。图 7-1 显示了运行 DRTEST 实用程序之前方案 1 的系统。

图 7-1 备用 VTSS 配置-运行 DRTEST 实用程序之前

图 7-1 的说明如下
说明 - 图 7-1 备用 VTSS 配置-运行 DRTEST 实用程序之前

方案 1 的示例 JCL

PRIMEPRD 步骤:

//DRTPRIME EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
DRTEST PRIMEPRD +
DRACS(01) DRVTSS(VTSS0) SPARE HOST(MVS1,MVS2)

CREATE 步骤:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRACS(01) DRVTSS(VTSS0) SPARE HOST(MVS1,MVS2)

图 7-2 显示了运行 DRTEST 实用程序之后方案 1 的系统(测试站点的备用 VTSS)。

图 7-2 备用 VTSS 配置-运行 DRTEST 实用程序之后

图 7-2 的说明如下
说明 - 图 7-2 备用 VTSS 配置-运行 DRTEST 实用程序之后

方案 2:生产站点和测试站点,其中每个站点均有 ACS,且测试站点有 VTSS 接管

在方案 2 中,生产站点和测试站点均有一个 ACS,但测试站点没有用于测试的“备用”VTSS。在正常操作中,生产站点在这两个站点的 VTSS 中写入并访问 VTV,且输出 VTV 始终会立即迁移并进行双工处理以分隔 MVC,每个 ACS 中分别放一个 MVC。在此配置中,您必须要求迁移至测试站点的零个、一个或多个 VTSS,并将这些 VTSS 在生产系统中变为脱机,使测试能够接管所需的 VTSS 资源。此外,测试站点的一个或多个 LPAR 充当移位后的生产系统,与实际生产系统并行运行。这两个 ACS 在生产系统中均处于联机状态。

图 7-3 显示了在运行 DRTEST 实用程序之前方案 2 的系统(测试站点的 VTSS 接管)。

图 7-3 VTSS 接管配置-运行 DRTEST 实用程序之前

图 7-3 的说明如下
说明 - 图 7-3 VTSS 接管配置-运行 DRTEST 实用程序之前

方案 2 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRACS(01) DRVTSS(VTSS1) HOST(MVS1,MVS2)

图 7-4 显示了在运行 DRTEST 实用程序之后方案 2 的系统(测试站点的 VTSS 接管)。

图 7-4 VTSS 接管配置-运行 DRTEST 实用程序后

图 7-4 的说明如下
说明 - 图 7-4 VTSS 接管配置-运行 DRTEST 实用程序后

方案 3:生产站点和测试站点,其中每个站点均有 ACS,无 VTSS

在方案 3 中,生产站点和测试站点均有一个 ACS,但测试站点没有用于测试的 VTSS。在正常操作中,生产站点在这两个站点中写入并访问磁带数据。图 7-5 显示了在运行 DRTEST 实用程序之前方案 3 的系统(只读配置)。

图 7-5 只读配置-运行 DRTEST 实用程序之前

图 7-5 的说明如下
说明 - 图 7-5 只读配置-运行 DRTEST 实用程序之前

图 7-6 显示了运行 DRTEST 实用程序之前方案 3 的系统(只读配置)。

图 7-6 只读配置-运行 DRTEST 实用程序之后

图 7-6 的说明如下
说明 - 图 7-6 只读配置-运行 DRTEST 实用程序之后

方案 3 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRACS(01) HOST(MVS1,MVS2)

方案 4:生产站点和 DR 测试站点的群集 VTSS

图 7-7 中所示,在正常操作中,方案 4 是用于 DR 的群集 VTSS 配置,其中生产站点和 DR 测试站点交叉连接到生产和 DR 测试 ACS。VTSS0 是生产站点的主配置;VTSS1 是 DR 测试站点的辅助配置。

图 7-7 主/辅助群集 VTSS 配置-正常操作

图 7-7 的说明如下
说明 - 图 7-7 主/辅助群集 VTSS 配置-正常操作

方案 4 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRACS(01) DRVTSS(VTSS1) SHARE HOST(MVS1,MVS2)

如果要使用 DR 测试站点进行测试会怎样?图 7-8 显示了 DR 测试期间方案 4 的系统。

图 7-8 主/辅助群集 VTSS 配置-测试期间

图 7-8 的说明如下
说明 - 图 7-8 主/辅助群集 VTSS 配置-测试期间

方案 5:生产站点和测试站点,其中每个站点均有 ACS 和 VLE

在方案 5 中,生产站点和测试站点均有一个 ACS,但测试站点没有用于测试的“备用”VTSS。在正常操作中,生产站点在这两个站点的 VTSS 中写入并访问 VTV,且输出 VTV 始终会立即迁移并进行双工处理,一个复制到 ACS 中的 MVC,另一个复制到 VLE 中的 VMVC。在此配置中,您必须要求迁移至测试站点的零个、一个或多个 VTSS,并将这些 VTSS 在生产系统中变为脱机,使测试能够接管所需的 VTSS 资源。此外,测试站点的一个或多个 LPAR 充当移位后的生产系统,与实际生产系统并行运行。ACS 和 VLE 在生产系统中均处于联机状态。

图 7-9 显示了运行 DRTEST 实用程序之前方案 5 的系统。

图 7-9 VLE 和 ACS 配置-运行 DRTEST 实用程序之前

图 7-9 的说明如下
说明 - 图 7-9 VLE 和 ACS 配置-运行 DRTEST 实用程序之前

方案 5 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRACS(01) DRVTSS(VTSS1) HOST(MVS1,MVS2) STORMNGR(VLE1)

图 7-10 显示了运行 DRTEST 实用程序之后方案 5 的系统。

图 7-10 VLE 和 ACS 配置-运行 DRTEST 实用程序之后

图 7-10 的说明如下
说明 - 图 7-10 VLE 和 ACS 配置-运行 DRTEST 实用程序之后

方案 6:生产站点和测试站点,其中每个站点只有 VLE

在方案 6 中,每个站点均有一个 VTSS 与 VLE 相连。测试站点的 VTSS 是备用 VTSS,它将在生产站点的正常操作过程中使用。输出 VTV 始终会立即迁移并进行双工处理以分隔 VMVC,每个 VLE 中分别放一个 VMVC。

在此配置中,您必须要求迁移至测试站点的零个、一个或多个 VTSS,并将这些 VTSS 在生产系统中变为脱机,使测试能够接管所需的 VTSS 资源。此外,测试站点的一个或多个 LPAR 充当移位后的生产系统,与实际生产系统并行运行。这两个 VLE 在生产系统中均处于联机状态。

图 7-11 显示了运行 DRTEST 实用程序之前方案 6 的系统。

图 7-11 仅 VLE 配置-运行 DRTEST 实用程序之前

图 7-11 的说明如下
说明 - 图 7-11 仅 VLE 配置-运行 DRTEST 实用程序之前

方案 6 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
STORMNGR(VLE1) DRVTSS(VTSS1) HOST(MVS1,MVS2)

图 7-12 显示了运行 DRTEST 实用程序之后方案 6 的系统。

图 7-12 仅 VLE 方案-运行 DRTEST 实用程序之后

图 7-12 的说明如下
说明 - 图 7-12 仅 VLE 方案-运行 DRTEST 实用程序之后

方案 7:生产站点和 DR 测试站点的群集 VTSS(无磁带)

图 7-13 中所示,在正常操作中,方案 7 是用于生产和 DR 测试站点 DR 的群集 VTSS(无磁带)配置。VTSS0 是生产站点的主配置;VTSS1 是 DR 测试站点的辅助配置。

图 7-13 主/辅助群集 VTSS 无磁带配置-运行 DRTEST 实用程序之前

图 7-13 的说明如下
说明 - 图 7-13 主/辅助群集 VTSS 无磁带配置-运行 DRTEST 实用程序之前

方案 7 的示例 JCL

仅限 CREATE 步骤,先前已运行 PRIMEPRD:

//DRTCREAT EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSNEW1  DD DSN=hlq.DRTEST.SLSCNTL,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW2  DD DSN=hlq.DRTEST.SLSCNTL2,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSNEW3  DD DSN=hlq.DRTEST.SLSSTBY,DISP=(NEW,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,x)
//SLSIN DD *
DRTEST CREATE NOUPDPRD +
DRVTSS(VTSS1) SHARE HOST(MVS1,MVS2))

如果要使用 DR 测试站点进行测试会怎样?图 7-14 显示了 DR 测试期间方案 7 的系统。

图 7-14 主/辅助群集 VTSS 无磁带配置-测试期间

图 7-14 的说明如下
说明 - 图 7-14 主/辅助群集 VTSS 无磁带配置-测试期间