9 재해 복구에 VLE 사용

VLE(Virtual Library Extension)를 재해 복구 솔루션으로 사용하면 간소화된 무중단 방식으로 DR 테스트를 수행할 수 있으며, 중단된 비즈니스를 복구할 수도 있습니다.

시스템에서 VLE는 라이브러리(ACS)와 비슷한 방식으로 관리됩니다. 하지만 VLE에는 테이프 스토리지 대신 디스크 스토리지가 사용되고, VTV에 대한 내부 인벤토리를 해당 컨텐츠에서 유지 관리하기 때문에 실제 라이브러리가 제공할 수 없는 기능들을 제공합니다.

  • VLE는 "테이프 없는" 솔루션이므로 매체 관리 문제를 피할 수 있습니다.

  • 데이터가 IP를 사용해서 VLE에 전송되며 채널 확장이 필요하지 않습니다.

  • VLE는 MVC 카트리지를 마운트하고 읽는 방식에 비해 내부 데이터베이스를 사용해서 몇 초 내에 MVC 감사를 수행할 수 있습니다.

이 장에서는 간단한 2개 사이트 환경에서 VLE를 사용하는 방법에 대해 설명합니다. 하지만 이 솔루션은 각 사이트에 포함된 VLE 수를 포함해서 사이트 수에 관계없이 모든 사이트 구성을 지원할 수 있습니다. 또한 사이트 중 하나는 DR 테스트 또는 선언된 재해 기간 중을 제외하고 MVS LPAR을 실행하지 않는 DR 전용 사이트일 수 있습니다.

이어지는 절차에서는 다음과 같은 환경이 사용됩니다. 이러한 환경에는 SITE1 및 SITE2라는 두 개의 사이트가 있습니다. 각 사이트에는 VSM 1개와 VLE 1개가 포함됩니다. 이 예제에서 SITE2는 DR 전용 사이트로 기술되지만, SITE2는 SITE1의 미러 이미지로 정의된 프로덕션 사이트가 될 수도 있습니다.

주:

SITE2의 VLE 버퍼 크기는 마이그레이션된 프로덕션 데이터와 DR 테스트 중 생성되는 데이터를 모두 포함할 수 있도록 충분히 커야 합니다.

일반 프로덕션 모드

일반 프로덕션 중에는 SITE1에서 하나의 데이터 복사본을 SITE1에 있는 로컬 VLE로 마이그레이션하고 두번째 복사본을 SITE2에 있는 원격 VLE에 마이그레이션하도록 정책이 정의됩니다. 또 다른 VLE에 저장된 복사본과 테이프 복사본을 포함해서 필요에 따라 추가 복사본을 만들 수 있습니다.

다음 그림은 SITE1에 정의된 정책 예를 보여줍니다.

SMC 정의는 VLEPROD의 MGMTCLAS 이름을 높은 레벨의 한정자 "PAYROLL"이 포함된 데이터 세트에 지정하기 위해 사용됩니다.

POLICY NAME(VLEPOL) MEDIA(VIRTUAL) MGMT(VLEMGMT) + SUBP(VIRTSCR)
TAPEREQ DSN(PAYROLL.*) POLICY(VLEPOL)

HSC POOLPARM/VOLPARM 정의는 프로덕션 볼륨을 정의하기 위해 사용됩니다.

POOLPARM TYPE(MVC)  NAME(LOCAL)  
VOLPARM VOLSER(VLL000-VLL099) 
POOLPARM TYPE(MVC)  NAME(VAULT1)
VOLPARM VOLSER(VLV000-VLV099)
POOLPARM TYPE(SCRATCH) NAME(VIRTSCR)
VOLPARM VOLSER(V00000-V99999) MEDIA(VIRTUAL)

주:

풀 LOCAL 및 VAULT1에 있는 MVC는 각각 SITE1 및 SITE2 VLE에 있는 VMVC(가상 MVC)이고 연결된 매체 유형이 없습니다.

VTCS STORCLASMGMTCLAS는 VTCS 정책을 정의하기 위해 사용됩니다.

STOR NAME(VLE1) STORMNGR(SITE1VLE) MVCPOOL(LOCAL)
STOR NAME(VLE2) STORMNGR(SITE2VLE) MVCPOOL(VAULT1)
MGMT NAME(VLEMGMT) DELSCR(YES) MIGPOL(VLE1,VLE2)

높은 레벨의 한정자 "PAYROLL"로 시작하는 데이터 세트를 사용해서 작업이 실행되면 SMC가 TAPEREQPOLICY를 사용해서 VLEPROD의 MGMTCLAS를 마운트 요청에 지정합니다. VTCS는 풀 LOCSCR(범위 V00000-V99999)에서 가상 스크래치 볼륨을 선택하여 이를 VLEPROD의 MGMTCLAS에 지정합니다. 볼륨이 마운트 해제된 다음에는 하나의 복사본이 로컬 VLE(STORMNGR SITE1VLE)에 마이그레이션되고 두번째 복사본이 원격 VLE(STORMNGR SITE2VLE)에 마이그레이션됩니다.

VLE를 사용해서 DR 테스트 실행

SITE2에서 DR 테스트에 대한 설정 프로세스는 쉽고 빠르게 수행할 수 있으며, SITE1에서 요구되는 제약 사항이 최소화됩니다.

기본 단계는 다음과 같습니다.

  1. SITE2에서 기본 구성 데이터만 포함된 새 CDS를 만듭니다.

  2. 충돌을 방지하기 위해 SITE1 VMVC를 READONLY로 표시합니다.

  3. SITE2VLE에서 가상 프로덕션 MVC에 대한 감사를 수행합니다. 이 단계는 CDS에 기존 가상 메타데이터를 채웁니다. VLE에 있는 VTV 수에 따라 이 단계를 수행하려면 몇 분부터 한 시간까지 걸릴 수 있습니다.

  4. 프로덕션 볼륨과 겹치지 않는 범위의 VTV 및 MVC를 사용해서 DR 테스트 작업 로드를 실행합니다.

이 절의 남은 부분에서는 DR 사이트에서 매개변수 정의에 대해 자세히 설명하고 컨텐츠 프로덕션 VMVC가 테스트 중 변경되지 않도록 확인하기 위해 수행해야 하는 단계에 대해 설명합니다.

  1. DR 테스트 CDS를 만듭니다.

    1. LIBGEN/SLICREAT 프로세스를 사용해서 SITE2에서 CDS를 만듭니다. SITE2에서 프로덕션 작업을 이미 실행하는 중이어도 이 CDS를 만듭니다. 새 CDS에는 SITE1의 DR 데이터만 포함됩니다. 또한 구성에 물리적 테이프가 포함되지 않았더라도 LIBGEN 매크로에서 ACS를 하나 이상 정의해야 합니다.

    2. SET VOLPARM 유틸리티를 실행해서 DR 테스트에 대한 볼륨을 정의합니다.

      POOLPARM TYPE(MVC)  NAME(VAULT1) 
      VOLPARM VOLSER(VLV000-VLV099)
      POOLPARM TYPE(EXTERNAL) NAME(PRODVTVS)
      VOLPARM VOLSER(V00000-V99999) MEDIA(VIRTUAL)
      POOLPARM TYPE(MVC)  NAME(DRMVC)
      VOLPARM VOLSER(VLT000-VLT099)
      POOLPARM TYPE(SCRATCH) NAME(VIRTSCR)
      VOLPARM VOLSER(VT0000-VT9999) MEDIA(VIRTUAL)
      

      처음 두 개의 풀은 SITE1에서 생성된 볼륨을 정의합니다. 이 볼륨은 SITE2에서 테스트에 대한 입력으로 사용됩니다. EXTERNAL의 풀 유형은 스크래치 하위 풀에 속하지 않는 볼륨이 있음을 나타냅니다. 마지막 2개의 풀은 SITE2의 테스트에서 출력으로 사용되는 로컬 풀입니다.

    3. DR 테스트에 사용되는 VTCS MGMTCLASSTORCLAS를 정의합니다.

      STOR NAME(DRVLE) STORMNGR(SITE2VLE) MVCPOOL(DRMVC)
      MGMT NAME(VLEMGMT) DELSCR(YES) MIGPOL(DRVLE)
      
    4. SITE2 DR 시스템의 MGMTCLAS 및 스크래치 하위 풀 이름이 프로덕션 정책과 동일하기 때문에(하지만 정의는 다름), 이제 SITE2 DR 테스트에 대해 SITE1 프로덕션에서 사용할 때와 동일한 SMC POLICYTAPEREQ 문을 사용할 수 있습니다.

    5. DR 테스트 LPAR에서 HSC/VTCS를 시작합니다.

  2. 프로덕션 MVC를 READONLY로 표시합니다.

    1. 이 단계는 프로세스에서 중요한 단계이며, SITE1의 프로덕션 CDS 및 SITE2의 DR 테스트 CDS에서 모두 수행해야 합니다. MVC가 프로덕션 CDS에서 READONLY로 정의된 다음에는 다음과 같이 정상적인 처리를 계속 실행할 수 있습니다.

      RECLAIM. 자동 재생 이용은 READONLY 상태의 MVC를 선택하지 않습니다.

      SCRATCH. VTV가 프로덕션 CDS에서 스크래치 상태로 업데이트되지만, 재사용될 수 있으며, VLE 읽기 전용 가상 MVC의 복사본은 영향을 받지 않습니다.

      VMVC에서 VTV를 첨부하거나 겹쳐쓰는 정상 처리가 수행됩니다. 새로운 VTV 버전은 새 VMVC로 마이그레이션되며, VLE 읽기 전용 가상 MVC의 복사본은 영향을 받지 않습니다.

      주:

      하지만 이러한 MVC에 대해서는 가상 MVC 메타데이터의 VLE 복사본이 제거되므로 DRAIN 유틸리티를 실행할 수 없습니다.
    2. 프로덕션 CDS를 사용해서 프로덕션 사이트에서 프로덕션 MVC를 선택하려면 유틸리티 기능 ACTMVCGN을 사용합니다. 이 유틸리티는 선택한 MVC에서 READONLY 플래그를 설정하는 제어문 및 테스트가 완료된 후 READONLY 플래그를 해제하는 제어문을 생성합니다. ACTMVCGN 제어문에서 ALL 키워드를 사용하면 전체 MVC가 READONLY 처리에 선택되어, DR 테스트에 영향을 주지 않고 프로덕션 시스템에서 자동 재생 이용이 수행됩니다. 또한 테스트에 사용되는 VMVC에 대해 AUDIT 문을 생성하려면 SLUSMAUD DD 문을 포함해야 합니다. 필요한 경우 프로덕션 사이트에서 ACTMVCGN 유틸리티를 실행해서 프로덕션 업데이트를 만들고, CDS의 미러링된 복사본에 대해 DR 사이트에서 DR 테스트 CDS 업데이트를 만들 수 있습니다. 다음은 이 유틸리티를 실행하는 JCL 예입니다.

      //ACTMVCGN JOB (ACCT),'ACTMVCGN',NOTIFY=&SYSUID
      //ACTMVCG1  EXEC PGM=SLUADMIN,PARM='MIXED'
      //STEPLIB    DD DSN=hlq.SEALINK,DISP=SHR
      //SLSPRINT   DD SYSOUT=*
      //*      NOTE: CDS DD statements are optional if running at the production
      //*      site with an active HSC LPAR.
      //SLSCNTL    DD DSN=hlq.DBASEPRM,DISP=SHR
      //SLSCNTL2   DD DSN=hlq.DBASESEC,DISP=SHR
      //SLSSTBY    DD DSN=hlq.DBASESBY,DISP=SHR
      //* 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: AUDIT MVC(VVVVVV) STATEMENTS
      //SLUSMAUD   DD DSN=hlq.SLUSMAUD,DISP=(NEW,CATLG,DELETE),
      //                         SPACE=(CYL,1)
      //* NOTE: THE FOLLOWING SELECTS ALL "NON-EMPTY" VMVCS
      //SLSIN      DD *
       ACTMVCGN ALL MVCPOOL(VAULT1)
      /*
      
  3. 프로덕션 사이트에서 MVCMAINT 유틸리티를 실행하여 VMVC를 READONLY로 표시합니다.

    //RDONLYON   EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB    DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT   DD SYSOUT=*
    //* NOTE: EXEC MVCMAINT TO SET READONLY(ON).  Output of
    //*       ACTMVCGN utility.
    //SLSIN      DD DSN=hlq.SLUSMVON,DISP=SHR
    
  4. DR 사이트에서 HSC/VTCS를 시작합니다.

  5. 새로 생성된 SITE2 CDS 및 ACTMVCGN 유틸리티의 출력을 사용해서 SITE2 VLE에서 프로덕션 VMVC의 MVC 감사를 실행합니다. 이 단계를 수행하면 VTV와 VMVC 사이의 관계가 포함된 CDS 메타데이터가 채워집니다.

    //AUDIT EXEC PGM=SLUADMIN
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //*     NOTE: AUDIT CONTROL STATEMENTS FROM ACTMVCGN UTILITY
    //SLSIN    DD   DSN=hlq.SLUSMAUD,DISP=SHR
    

    선택적으로, LCM을 사용하거나 회수할 VTV를 선택하는 다른 방법을 사용해서 DR 테스트에 사용되는 VTV를 VTSS 버퍼로 회수할 수 있습니다. 하지만 VLE 버퍼에서 회수가 상대적으로 빠르게 수행되므로 이 단계는 필수 단계가 아닙니다.

  6. ACTMVCGN READONLY(ON)의 출력을 사용해서 MVCMAINT 유틸리티를 실행하여 DR CDS의 SITE2에서 프로덕션 VMVC를 READONLY로 설정합니다.

    //RDONLYON   EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB    DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT   DD SYSOUT=*
    //* NOTE: EXEC MVCMAINT TO SET READONLY(ON).  Output of
    //*       ACTMVCGN utility.
    //SLSIN      DD DSN=hlq.SLUSMVON,DISP=SHR
    
  7. 선택사항: DR 테스트를 시작하기 전에 VTVRPTMVCRPT를 실행해서 DR 테스트 CDS의 컨텐츠를 검증할 수 있습니다.

  8. DR 테스트 작업 로드를 실행합니다.

    1. SMC를 시작합니다. MGMTCLAS 및 스크래치 하위 풀에서 프로덕션 시스템과 동일한 이름을 사용한 경우, 프로덕션 TAPEREQPOLICY 문을 사용할 수 있습니다. DR 테스트 TapePlex에 대해 다른 TapePlex 이름을 사용하는 것이 좋지만, 필수는 아닙니다.

    2. SMC 및 새 HSC/VTCS CDS를 사용해서 DR 테스트 작업 로드를 실행합니다.

    3. DR 테스트 중 프로덕션 VTV 볼륨 업데이트에 대해서는 제한이 없습니다. 프로덕션 VTV의 데이터는 (DISP=MOD)에 첨부하거나 겹쳐 쓸 수 있습니다(DISP=OLD). 이러한 업데이트는 READONLY 프로덕션 가상 MVC의 VTV 복사본 컨텐츠에 영향을 주지 않으므로, 데이터의 프로덕션 복사본에도 영향을 주지 않습니다.

VLE를 사용해서 DR 테스트 후 정리

DR 테스트가 완료되었을 때 정리 작업을 수행하는 목적은 VTSS 및 VLE에서 메타데이터를 제거하여 다음 DR 테스트 시에 이 데이터가 표시되지 않도록 하기 위한 것입니다. DR 테스트 HSC/VTCS는 정리가 완료될 때까지 활성 상태로 유지되어야 합니다. 단계는 다음과 같습니다.

  1. SCRATCH 유틸리티 기능을 실행해서 VTSS 및 VLE DR 테스트 VMVC에서 테스트 중 생성되는 모든 VTV를 스크래치합니다. DELSCR(YES) 매개변수가 DR 테스트 MGMTCLAS에 지정된 경우 스크래치 유틸리티를 실행하면 버퍼 및 VLE 메타데이터에서 VTV가 삭제됩니다.

    //SCRATCH EXEC PGM=SLUADMIN
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN    DD *
    SCRATCH VOL(VT0000-VT9999)
    

    DISP=MOD 또는 DISP=OLD를 사용해서 프로덕션 VTV를 수정한 경우, 이러한 VTV는 버퍼 및 VLE에 유지됩니다.

    테스트 후 DR 테스트 하위 풀에서 VTV를 스크래치하면 VTSS를 정리하는 데 필요한 시간을 최소화할 수 있으며, 테스트 완료 후 VLE에 남은 데이터의 양을 최소화할 수 있습니다.

  2. VTSS를 0으로 마이그레이션합니다.

    //MIGRTO0   EXEC PGM=SLUADMIN
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN    DD *
    MIGRATE VTSS(DRVTSS) THRESHLD(0)
    

    이 단계는 DR 테스트 출력에 새 버전의 프로덕션 VTV가 포함된 경우에만 필요합니다.

  3. DR VTSS가 이제 비어 있는지 확인합니다.

    //AUDVTSS    EXEC PGM=SLUADMIN
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN    DD *
    AUDIT VTSS(DRVTSS) 
    

    DR 테스트 중에 프로덕션 VTV를 수정한 경우, 이 데이터의 복사본 및 메타데이터가 DR 테스트 MVC 풀에 대한 VLE에 남아 있습니다(VLT000-VLT099, VTVs V00000-V99999). 다음 DR 테스트 중에는 이러한 VMVC가 테이프의 논리적 시작 부분에서 시작 시 기록되며, 여기에 포함된 모든 데이터가 VLE에서 제거됩니다. 새로운 DR 테스트 CDS에서는 이 데이터가 인식되지 않으므로, 다음 DR 테스트에 영향을 주지 않습니다.

  4. 프로덕션 사이트에서 테스트 시작 시에 ACTMVCGN 유틸리티로 생성된 READONLY(OFF) 제어 카드를 사용해서 프로덕션 VMVC를 다시 쓰기 가능한 상태로 설정합니다.

    //RDONLYOF   EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB    DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT   DD SYSOUT=*
    //* NOTE: EXEC MVCMAINT TO SET READONLY(OFF)
    //SLSIN      DD DSN=hlq.SLUSMVOF,DISP=SHR
    

비즈니스 연속성을 위해 VLE 사용

SITE1에서 중단이 발생하여 SITE2가 SITE1의 작업 로드를 인계해야 할 경우, 프로세스는 DR 테스트 절차와 거의 동일합니다.

SITE1 중단이 발생했을 때 DR 테스트를 실행하게 되면, 위 프로세스에 따라 DR 테스트 이후 정리를 수행하고 DR 테스트를 중지합니다.

SITE2에서 SITE1 작업 로드 실행을 시작하려면 DR 테스트 시작을 위해 위에 설명된 절차를 따릅니다. 물론 업데이트할 "프로덕션" CDS가 존재하지 않으므로 프로덕션 CDS에서 프로덕션 VMVC를 READONLY로 표시하는 단계는 생략합니다. 하지만 프로덕션 CDS의 미러링된 복사본을 사용해서 VLE의 프로덕션 MVC에 대해 MVCMAINT READONLY 제어 카드를 생성합니다.

또한 비즈니스 연속성이 확인될 때까지 프로덕션 데이터의 손상 가능성을 방지하기 위해 생성 중인 VTV 및 출력 VMVC를 별개 범위로 구분하는 DR 테스트 정책을 사용할 수도 있습니다.

주:

테이프 데이터에 대해 DISP=MOD 처리를 수행하는 프로덕션 작업에 정의된 동기화 지점이 없으면, 중단 발생 시 VTV의 컨텐츠를 예측하지 못할 수 있습니다. StorageTek은 테이프 데이터에 대해 예측 가능한 동기화 지점을 보장하기 위해 모든 재해 복구 절차를 검토할 것을 권장합니다.