9 障害回復での VLE の使用

障害回復ソリューションとして VLE (Virtual Library Extension) の使用により、DR テストを実行するための、また、ビジネス混乱事態からの回復のための、中断を必要としない簡略化された方法を実現します。

システムは VLE をライブラリのように管理します (ACS)。ただし、VLE はテープストレージではなくディスクストレージを使用し、VTV の内部インベントリをその内容に保持するため、実際のライブラリでは提供できない機能を提供します。

  • VLE は「テープレス」ソリューションであり、メディア管理の問題がありません。

  • データは IP を使用して VLE に送信され、チャネル拡張を必要としません。

  • MVC カートリッジをマウントして読み取る場合に比べ、VLE はその内部データベースを使用して MVC 監査を数秒ほどで実行できます。

この章では、単純な 2 サイト環境で VLE を使用する場合について説明します。ただし、このソリューションは、それぞれ任意の数の VLE を備えたサイトをいくつでもサポートします。また、サイトのいずれかを、DR テスト中または宣言された障害中を除いて MVS LPAR を実行しない、DR 専用サイトにできます。

次の手順では、次のような環境を使用します。SITE1 と SITE2 の 2 つのサイトがあります。各サイトには 1 つの VSM と 1 つの VLE があります。この例では、SITE2 を DR 専用サイトとして説明しますが、SITE2 を、SITE1 のミラーイメージとして定義された本番サイトにすることもできます。

注記:

SITE2 での VLE バッファーは、移行された本番用データと、DR テスト中に作成されたデータの両方を保持できるだけ十分なサイズにする必要があります。

通常の本番モード

通常の本番中、ポリシーは、データの 1 つのコピーを SITE1 のローカル VLE に移行し、2 番目のコピーを SITE2 のリモート VLE に移行するように、SITE1 で定義されます。必要に応じて、別の VLE でのコピーやテープコピーなどの追加コピーを作成できます。

次に、SITE1 で定義されたポリシーの例を示します。

SMC 定義は、「PAYROLL」の高度な修飾子を持つデータセットに、VLEPROD の MGMTCLAS 名を割り当てるために使用されます。

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 STORCLAS および MGMTCLAS は、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 は、TAPEREQ および POLICY を使用して、VLEPROD の MGMTCLAS をマウント要求に割り当てます。VTCS は、プール LOCSCR (V00000 - V99999 の範囲) 内の仮想スクラッチボリュームを選択し、これに VLEPROD の MGMTCLAS を割り当てます。ボリュームがマウント解除されたのちに、1 つのコピーが、ローカル VLE (STORMNGR SITE1VLE) に移行され、2 番目のコピーが、リモート VLE (STORMNGR SITE2VLE) に移行されます。

VLE を使用した DR テストの実行

SITE2 での DR テストの設定プロセスは単純で高速であり、SITE1 での最低限の制限が必要です。

基本手順は次のとおりです。

  1. 基本構成データだけを含む新しい CDS を SITE2 に作成します。

  2. 競合を避けるため、SITE1 VMVC を READONLY としてマークします。

  3. SITE2VLE で仮想本番用 MVC の監査を実行します。この手順は、CDS に既存の仮想メタデータを入力します。この手順には、VLE 内の VTV の数に応じて、数分から 1 時間かかります。

  4. 本番用ボリュームと重複しない VTV および MVC の範囲を使用して、DR テストワークロードを実行します。

このセクションの残りの部分では、DR サイトでのパラメータの定義の詳細を示し、テスト中に本番用 VMVC の内容が変更されないようにするために必要な手順について説明します。

  1. DR テスト用 CDS を作成します。

    1. LIBGEN/SLICREAT プロセスを使用して、SITE2 に CDS を作成します。すでに SITE2 で本番作業を実行している場合でも、この CDS を作成します。新しい CDS には SITE1 からの DR データのみが含まれます。また、構成に物理テープが含まれない場合でも、LIBGEN マクロでは少なくとも 1 つの 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)
      

      最初の 2 つのプールは SITE1 によって作成されたボリュームを定義し、これが SITE2 でテストへの入力として使用されます。EXTERNAL のプールタイプは、これらがスクラッチサブプールの一部ではないボリュームであることを示します。最後の 2 つのプールが、SITE2 でのテストからの出力として使用されるローカルプールです。

    3. DR テストに使用される VTCS MGMTCLAS および STORCLAS を定義します。

      STOR NAME(DRVLE) STORMNGR(SITE2VLE) MVCPOOL(DRMVC)
      MGMT NAME(VLEMGMT) DELSCR(YES) MIGPOL(DRVLE)
      
    4. SITE2 DR システムの MGMTCLAS およびスクラッチサブプールは本番ポリシーと同じ名前を持つので (ただし定義は異なります)、SITE1 本番で使用するものと同じ SMC POLICY および TAPEREQ 文を SITE2 DR テストに使用できます。

    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 メタデータの VLE コピーを削除するため、これらの MVC に対して DRAIN ユーティリティーを実行することはできません。
    2. ユーティリティー機能 ACTMVCGN を使用し、本番用 CDS を使用して、本番サイトで本番用 MVC を選択します。このユーティリティーは、選択した MVC 上に READONLY フラグを設定する制御文と、テストの完了後に READONLY フラグをオフにする制御文を生成します。ACTMVCGN 制御文で ALL キーワードを使用すると、READONLY 処理の対象として全 MVC が選択され、これにより、DR テストに影響を与えずに本番用システムで自動リクレイムを実行できます。テストで使用される VMVC について AUDIT 文を生成するには、SLUSMAUD DD 文も含める必要があります。必要な場合は、本番サイトで ACTMVCGN ユーティリティーを実行して本番用更新を作成し、DR サイトで CDS のミラーコピーに対して実行して、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 ユーティリティーを実行し、SITE2 の DR CDS で、本番用 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 テストを開始する前に、VTVRPT および MVCRPT を実行して、DR テスト用 CDS の内容を検証できます。

  8. DR テストワークロードを実行します。

    1. SMC を起動します。MGMTCLAS およびスクラッチサブプールで本番システムと同じ名前を使用した場合、本番用 TAPEREQ および POLICY 文を使用できます。必須ではありませんが、DR テスト用 TapePlex に別の TapePlex 名を使用することをお勧めします。

    2. SMC および新しい HSC/VTCS CDS を使用して、DR テストワークロードを実行します。

    3. DR テスト中での本番用 VTV ボリュームの更新には制限はありません。本番用 VTV に関するデータは、(DISP=MOD) に付加される場合も、(DISP=OLD) と上書きされる場合もあります。これらの更新は、READONLY 本番用仮想 MVC 上の VTV コピーの内容には影響せず、したがって、データの本番用コピーに影響しません。

VLE を使用した DR テスト後のクリーンアップ

DR テストが完了したら、メタデータが次の DR テストで認識されないように、このデータを VTSS と VLE から削除するためにクリーンアップを実行します。DR テスト用 HSC/VTCS は、クリーンアップが完了するまでアクティブなままである必要があります。手順は次のとおりです。

  1. SCRATCH ユーティリティー機能を実行して、VTSS と VLE DR テスト用 VMVC の両方から、テスト中に作成したすべての VTV をスクラッチします。DR テスト MGMTCLAS に対して DELSCR(YES) パラメータが指定された場合、スクラッチユーティリティーを実行すると、VTV がバッファーと VLE メタデータの両方から削除されます。

    //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 プール (VLT000 - VLT099、VTV V00000-V99999) の VLE 内に残ります。次の 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 の内容が予測できなくなる可能性があります。すべての障害回復手順を調べ、テープデータの予測可能な同期ポイントを確認することをお勧めします。