転送可能なシャドウ コピーボリュームのインポート
1 つのシステムでシャドウ コピーを作成し、2 つ目のシステムでシャドウ コピーを使用することが望ましい場合があります。
バックアップするデータが通常、通常の操作中に特定のシステム (systemOne) によって管理され、このデータがストレージ アレイまたはアプライアンスに物理的に格納されている場合について考えます。
systemOne の中断を最小限に抑えるには (バックアップ操作がリソースを集中的に消費する可能性があるため)、systemOne と同じストレージ アレイにアクセスできるバックアップ サーバー systemTwo を使用してバックアップを実行することをお勧めします。
適切なシャドウ コピー ( systemOne のライターと協力し、進行中のタスクに対して適切に状態を保持する) を確保するには、 systemOne によってシャドウ コピーを実行する必要があります。
したがって、 systemOne は 、転送可能なシャドウ コピーを作成する必要があります。その後、 systemTwo によってインポートされます。
Windows Server 2003、Standard Edition、Windows Server 2003、Web Edition、Windows XP: 転送可能なシャドウ コピー セットはサポートされていません。 Windows Server 2003 Service Pack 1 (SP1) のすべてのエディションでは、転送可能なシャドウ コピー セットがサポートされています。
トランスポート可能なシャドウ コピーをインポートする一般的な例は、次の方法で続行できます。
最初は、記憶域アレイによって提供される論理ユニット (LUN) は 、systemOne 上のボリュームとしてマウントされます (たとえば、F:)。
systemOne で実行されているリクエスターは、IVssBackupComponents のインスタンスをインスタンス化し、バックアップの準備をしているかのように続行します。 (詳細については、「 バックアップ初期化の概要」、「 バックアップ検出フェーズの概要」、および「 バックアップ前タスクの概要 」を参照してください)。
systemOne のリクエスターは、ローカル バックアップ操作 (VSS_CTX_APP_BACKUP) に通常使用されるシャドウ コピー コンテキストを変更して、転送可能なシャドウ コピーが作成されることを示します (VSS_VOLSNAP_ATTR_TRANSPORTABLE)。 トランスポート可能な属性は、他のシャドウ コピー コンテキストにも追加できます。
VSS_VOLSNAP_ATTR_TRANSPORTABLEのシャドウ コピー コンテキスト VSS_CTX_APP_BACKUP | 使用すると、 systemOne 上のリクエスターは IVssBackupComponents::D oSnapshotSet を呼び出してシャドウ コピーを作成します。
SystemOne では 、IVssBackupComponents::SaveAsXML を 使用してバックアップ コンポーネント ドキュメントの現在の状態を保存し、 IVssExamineWriterMetadata::SaveAsXML を 使用して各ライターのライター メタデータ ドキュメントを保存します。 これらのドキュメントを含む XML 文字列は、 systemTwo で実行されているリクエスターが使用できるようになります。
リクエスターは、バックアップ コンポーネント ドキュメントを systemTwo に転送します。
シャドウ コピーの目的がバックアップ用である場合、 systemOne のリクエスターはこの時点で IVssBackupComponents のインスタンスを解放しないことに注意してください。 systemTwo がバックアップ操作を正常に完了するまで、インターフェイスは開いたままにする必要があります。 要求者が BackupComplete イベントを発行する場合にのみ、一部のライターはログを切り捨てて、バックアップが成功した後に他の作業を実行するためです。 シャドウ コピーの目的がデータ マイニングまたはその他の目的である場合は、この手順でインターフェイスを閉じることができます。
その後、 systemTwo のリクエスターは IVssBackupComponents::ImportSnapshots を呼び出して、 systemOne のリクエスターによって作成されたシャドウ コピーにアクセスします。
注意
要求元は、インポート シャドウ コピー操作をシリアル化する役割を担います。 また、IVssBackupComponents::ImportSnapshots の呼び出しが失敗した場合、VSS は自身の LUN をクリーンしません。 要求者は LUN のクリーンアップを開始する必要があります。
systemTwo のリクエスターは、シャドウ コピーされたマテリアルのバックアップを、自身で作成したシャドウ コピーのバックアップとまったく同じように続行します (「ファイルの実際のバックアップの概要」を参照)。
systemTwo のリクエスターは、インポートされたシャドウ コピーで IVssBackupComponents::GetSnapshotProperties を使用してシャドウ コピーのデバイス オブジェクトを取得し、バックアップするファイルにアクセスするためにメタデータから取得した元のファイル パスの先頭に追加します。
シャドウ コピーを使用した後、 systemTwo のリクエスターはシャドウ コピーを削除する必要があります。 転送不可能なシャドウ コピーと同様に、シャドウ コピー コンテキストが自動解放シャドウ コピー (VSS_CTX_BACKUP など) を示している場合、systemTwo で IVssBackupComponents を解放すると、VSS サービスによってシャドウ コピーが削除されます。 それ以外の場合、コンテキストが永続的なシャドウ コピー ( たとえば、VSS_CTX_APP_ROLLBACK) を示している場合、 systemTwo のリクエスターはシャドウ コピーを明示的に削除する必要があります。
次に、 systemTwo のリクエスターは、転送可能なシャドウ コピーのバックアップが完了したことを systemOne のリクエスターに通知します。
systemOne のリクエスターは、systemTwo 上のリクエスターが転送可能なシャドウ コピーのバックアップを完了したことを示す通知を受け取った後、IVssBackupComponents::BackupComplete の呼び出しで BackupComplete イベントを生成することによって、そのシステム上のライターに通知します。 この時点で、 systemOne のリクエスターは IVssBackupComponents のインスタンスを自由に解放できます。
クラスター内の転送可能なシャドウ コピー: 転送可能なシャドウ コピーは、元のボリュームがクラスター内にマウントされている限り、クラスターの外部からインポートする必要があります。 クラスターでの高速復旧の実装については、「 トランスポート可能なシャドウ コピーボリュームを使用した高速復旧」を参照してください。