シャドウ コピー作成の詳細

一般に、シャドウ コピーの作成方法は、作成するシャドウ コピーの種類、そのコンテキスト、およびシャドウ コピー操作でライターに提供されるロールによって異なります。 (詳細については、「 シャドウ コピー コンテキストの構成」 を参照してください)。

シャドウ コピー コンテキストは、 IVssBackupComponents::SetContext メソッドを 呼び出すことによって設定されます。 IVssBackupComponents::D oSnapshotSet メソッドを呼び出してシャドウ コピーを作成する前に、要求者は次のセクションで指定した順序で IVssBackupComponents メソッドを呼び出す必要があります。

すべてのシャドウ コピーの前提条件

ライターの参加レベルに関係なく、シャドウ コピーを作成するには、 IVssBackupComponents::InitializeForBackupIVssBackupComponents::StartSnapshotSet の呼び出しでリクエスタを初期化する必要があります。

この呼び出しが行われなかった場合、 IVssBackupComponents::D oSnapshotSet メソッドはエラーを返します。

ライター参加によるシャドウ コピー

シャドウ コピー コンテキストでライター参加が指定されている場合 (つまり、 IVssBackupComponents::SetContextVSS_CTX_BACKUP または VSS_CTX_APP_ROLLBACK で呼び出されます)。

  • シャドウ コピー コンテキストでライター参加がサポートされている場合、要求者は常に IVssBackupComponents::GatherWriterMetadata を呼び出す必要があります。 シャドウ コピー コンテキストがライター参加をサポートしていて、 IVssBackupComponents::GatherWriterMetadataIVssBackupComponents::D oSnapshotSet より前に呼び出されない場合は、エラーが返されます。
  • リクエスターが特定のライター コンポーネントを選択する場合は、StartSnapshotSet を呼び出してシャドウ コピー セットを作成する前に、IVssBackupComponents::AddComponent を呼び出す必要があります。
  • シャドウ コピー セットを作成するには、StartSnapshotSet を呼び出す必要があります。
  • 要求者は、 AddToSnapshotSet を呼び出すことによって、シャドウ コピー セットに 1 つ以上のボリュームを追加できます。 一部のライター コンポーネントでは、影響を受けるボリュームを指定しない場合があります。 この場合、スナップショットが空に設定されている (つまり、ボリュームを含まない) ことが許容されます。
  • ライター メタデータの一貫性を保証するには、コンポーネントが選択されていない場合でも、リクエスターは常 に IVssBackupComponents::P repareForBackup を呼び出す必要があります。 これにより、VSS は PrepareForBackup イベントを生成し、VSS は参加しているライターごとに CVssWriter::OnPrepareBackup メソッドを呼び出します。
  • VSS は、IVssBackupComponents::D oSnapshotSet に応答してシャドウ コピーを作成する前に、PrepareForSnapshot イベントと Freeze イベントを生成します。 ライターは、 CVssWriter::OnPrepareSnapshotCVssWriter::OnFreeze を使用してイベントを処理します。
  • VSS は、IVssBackupComponents::D oSnapshotSet に応答してシャドウ コピーを作成した後、Thaw イベントと PostSnapshot イベントを生成します。 ライターは、 CVssWriter::OnThawCVssWriter::OnPostSnapshot を使用してイベントを処理します。

ライター参加なしのシャドウ コピー

標準のバックアップ アプリケーションでは、ライター参加なしでシャドウ コピーを作成することはお勧めしません (ライター 参加なしのバックアップに関するページを参照してください)。

ディスクの高速バックアップなどの用途があり、偶発的なファイル破損に対するセーフティ ネットを提供します。これは、明示的なライター参加なしで実行できます。 このようなシャドウ コピーには、 VSS_CTX_FILE_SHARE_BACKUP または VSS_CTX_NAS_ROLLBACKのいずれかのコンテキストがあります。

この種類のシャドウ コピーでは、次の点に注意してください。