RECとQuickOPCを使用したリモート筐体へのバックアップの作成
非同期StackモードのRECとQuickOPCを使用して、リモート筐体に業務Volumeのバックアップを定期的に作成する運用を記載します。業務Volumeがある筐体が被災した場合でも、バックアップを作成した時点でのデータを保証できます。ミラーVolumeをリモート筐体に作成する場合に比べて、コピー経路の回線帯域が小さいときでも、業務Volumeのレスポンス性能劣化を最小限にしつつ、リモート筐体にバックアップを作成できます。
非同期StackモードのREC機能を使用する場合、1日1回程度の頻度でバックアップを更新する運用を想定しています (RPO >1Day)。ミラーVolumeを作成する場合に比べて、必要とするコピー経路の回線帯域は少ないですがRPOは長くなります(同期モードの場合はRPO = 0、非同期Consistencyモードの場合はRPO = 数秒~数分になります)。
コピー経路の回線帯域が十分であり、RPOを短くしたい場合は、同期モードや非同期ConsistencyモードのREC機能の利用を検討してください。
非同期Stackモードでの運用の場合、データの転送時に業務Volumeに書き込まれたデータの順序保証を行わないため、データ転送中はリモート筐体のバックアップVolumeのデータを参照できない状態になります。そのため、データ転送中にローカル筐体が被災した場合であっても、リモート筐体のCloneからデータを復旧できるように、データ転送開始前にバックアップVolumeのCloneをリモート筐体に作成する必要があります。
運用イメージ
非同期StackモードのREC機能とQuickOPC機能を使用した、リモート筐体に業務Volumeのバックアップを作成する運用のイメージです。
運用開始前
リモート筐体のバックアップVolumeとCloneのデータは一致しています。
図: 運用開始前のデータの状態
業務中
業務開始直前に、REC SessionをSuspendしてデータ転送を抑止します。
業務Volumeのデータが更新されます。
業務Volumeとリモート筐体のバックアップVolumeのデータは一致しません。
ローカル筐体が被災した場合、リモート筐体のバックアップVolumeからデータを復旧できます。
図: 業務中のデータの状態
業務終了後
REC SessionをResumeし、業務Volumeのデータをリモート筐体に転送します。
データ転送は順序保証をしないため、データ転送中はリモート筐体のバックアップVolumeは参照不可になります。
ローカル筐体が被災した場合、リモート筐体のバックアップVolumeのCloneからデータを復旧できます。
図: 業務終了後のデータの状態
業務中(2回目以降)
業務開始直前にREC SessionをSuspendし、業務中のデータ転送を抑止します。
業務開始直前には、前回業務中の更新データをすべて転送済みにしておく(業務Volumeとリモート筐体のバックアップVolumeのデータを一致させておく)必要があります。
リモート筐体のバックアップVolumeのCloneを再同期して、リモート筐体のバックアップVolumeとCloneのデータを同一にします。
業務中にローカル筐体が被災した場合、リモート筐体のバックアップVolumeのデータから、業務開始直前のデータを復旧できます。
図: 業務中(2回目以降)のデータの状態
業務終了後(2回目以降)
データ転送中にローカル筐体が被災した場合、リモート筐体のバックアップVolumeのCloneから前回の業務終了時のデータを復旧できます。
図: 業務終了後(2回目以降)のデータの状態
運用イメージ(リストア時)
非同期StackモードのREC機能とQuickOPCを使用して、リモート筐体に業務Volumeのバックアップを定期的に作成している環境で、リモート筐体のバックアップVolumeまたはCloneからデータを復旧するイメージについて説明します。
ローカル筐体が被災したタイミングによって、リモート筐体のバックアップVolumeからリストアするか、リモート筐体のバックアップVolumeのCloneからリストアするかが変わります。
REC SessionをSuspend中に業務Volumeが被災した場合、リモート筐体のバックアップVolumeからデータを復旧します。Suspend直前の業務Volumeのデータを復旧できますが、Suspend後の更新データは復旧できません。
REC Sessionがデータ転送中の場合、リモート筐体のバックアップVolumeのCloneからデータを復旧します。
データ転送の際、順序性は保証されていないため、データ転送中はリモート筐体のバックアップVolumeのデータを参照できません。そのため、Suspend中に再同期しておいたリモート筐体のバックアップVolumeのCloneからデータを復旧する必要があります。
Cloneから復旧する場合、Suspend直前の業務Volumeのデータを復旧できますが、Suspend後の更新データは復旧できません。
運用で使用するRESTful APIとサンプルスクリプト
準備
リモート筐体に業務VolumeのバックアップVolume(非同期Stack ModeのRECコピー先Volume)とバックアップVolumeのCloneを作成します。rec_stack_create.pyを使用してください。
運用
業務開始前(業務Volumeの更新前)に、REC SessionをSuspendしリモート筐体に業務Volumeのバックアップを作成します。同時にバックアップVolumeのCloneの再同期を開始し、業務開始前に転送されたデータをCloneにコピーします。rec_stack_before_operation.pyを使用してください。
業務終了後(業務Volumeの更新後)に、REC SessionをResumeし、業務Volumeの更新データをリモート筐体に転送します。rec_stack_after_operation.pyを使用してください。
リストア
REC SessionがSuspend中の場合、REC Sessionを反転させることで、リモート筐体のバックアップVolumeからデータをリストアします。
REC SessionがSuspend中ではない場合、REC Sessionを反転させ、CloneからバックアップVolumeへのリストアOPC Sessionを作成することにより、バックアップVolumeのCloneからデータをリストアします。rec_stack_recover.pyを使用してください。
削除
バックアップVolumeのCloneを削除する場合は、DELETE /volume/{volume_id} APIを使用してください。詳細は、Volumeの削除を参照してください。
バックアップVolumeを削除する場合は、REC Sessionを強制削除してから、コピー先Volumeを削除してください。Copy Sessionの強制削除は、DELETE /copysession/{copysession_id} APIを使用します。Volume削除は、DELETE /volume APIを使用します。詳細は、Copy Sessionの削除および複数Volumeの削除を参照してください。
REC Sessionのみ削除し、バックアップVolumeはリモート筐体で引き続き使用する場合は、copysession_delete.pyまたはDELETE /copysession/{copysession_id} APIでREC Sessionを削除してください。
注意事項
REC SessionをSuspendする際に未転送データが残っている場合、Suspendは失敗します。未転送データが残っていない状態でSuspendを実施してください。
転送モードの変更などでSuspendが必要な場合は、force指定ありでSuspendを実施してください。
リモート筐体のバックアップVolumeのCloneに対して、データコピー中にリモート筐体へのデータ転送を再開した場合、Cloneへのデータコピーが完了するまで、リモート筐体のデータを使用した復旧ができなくなります。
リモート筐体のデータ転送は、Cloneへのデータコピーが完了していることを確認してから実施してください。
リモート筐体のバックアップVolumeのCloneについての注意事項は、QuickOPCを使用した定期的なフルバックアップの作成を参照してください。

