섀도 복사본 만들기 세부 정보
일반적으로 섀도 복사본을 만드는 방법은 만들 섀도 복사본의 유형, 컨텍스트 및 섀도 복사 작업에서 작성기에 부여된 역할에 따라 달라집니다. 자세한 내용은 섀도 복사본 컨텍스트 구성 을 참조하세요.
섀도 복사본 컨텍스트는 IVssBackupComponents::SetContext 메서드를 호출하여 설정합니다. IVssBackupComponents::D oSnapshotSet 메서드를 호출하여 섀도 복사본을 만들기 전에 요청자는 다음 섹션에 지정된 순서대로 IVssBackupComponents 메서드를 호출해야 합니다.
모든 섀도 복사본에 대한 필수 구성 요소
기록기 참여 수준에 관계없이 섀도 복사본을 만들려면 항상 IVssBackupComponents::InitializeForBackup 및 IVssBackupComponents::StartSnapshotSet에 대한 호출을 사용하여 요청자를 초기화해야 합니다.
이 호출이 수행되지 않으면 IVssBackupComponents::D oSnapshotSet 메서드가 오류를 반환합니다.
작성자 참여가 포함된 섀도 복사본
섀도 복사본 컨텍스트가 기록기 참여를 지정하는 경우(즉, IVssBackupComponents::SetContext 가 VSS_CTX_BACKUP 또는 VSS_CTX_APP_ROLLBACK 함께 호출됨)
- 요청자는 섀도 복사본 컨텍스트가 작성기 참여를 지원하는 경우 항상 IVssBackupComponents::GatherWriterMetadata 를 호출해야 합니다. 섀도 복사본 컨텍스트가 기록기 참여를 지원하고 IVssBackupComponents::GatherWriterMetadata 가 IVssBackupComponents::D oSnapshotSet 이전에 호출되지 않으면 오류가 반환됩니다.
- 요청자가 특정 기록기 구성 요소를 선택하려는 경우 StartSnapshotSet을 호출하기 전에 IVssBackupComponents::AddComponent를 호출하여 섀도 복사본 집합을 만들어야 합니다.
- 섀도 복사본 집합을 만들려면 StartSnapshotSet을 호출해야 합니다.
- 요청자는 AddToSnapshotSet을 호출하여 섀도 복사본 집합에 하나 이상의 볼륨을 추가할 수 있습니다. 일부 기록기 구성 요소는 영향을 받는 볼륨을 지정하지 않을 수 있습니다. 이 경우 스냅샷 집합이 비어 있는 것이 허용됩니다(즉, 볼륨을 포함하지 않음).
- 기록기 메타데이터의 일관성을 보장하기 위해 요청자는 구성 요소가 선택되지 않은 경우에도 항상 IVssBackupComponents::P repareForBackup 을 호출해야 합니다. 이로 인해 VSS는 PrepareForBackup 이벤트를 생성합니다. 이 이벤트는 VSS가 참여하는 각 작성기에 대해 CVssWriter::OnPrepareBackup 메서드를 호출합니다.
- VSS는 IVssBackupComponents::D oSnapshotSet에 대한 응답으로 섀도 복사본을 만들기 전에 PrepareForSnapshot 및 Freeze 이벤트를 생성합니다. 작성기는 CVssWriter::OnPrepareSnapshot 및 CVssWriter::OnFreeze를 사용하여 이벤트를 처리합니다.
- VSS는 IVssBackupComponents::D oSnapshotSet에 대한 응답으로 섀도 복사본을 만든 후 Thaw 이벤트 및 PostSnapshot 이벤트를 생성합니다. 작성기는 CVssWriter::OnThaw 및 CVssWriter::OnPostSnapshot을 사용하여 이벤트를 처리합니다.
작성자 참여 없이 섀도 복사본
작성기 참여 없이 섀도 복사본을 만드는 것은 표준 백업 애플리케이션에 권장되지 않습니다( 기록기 참여가 없는 백업 참조).
디스크의 빠른 백업과 같이 명시적 기록기 참여 없이 수행할 수 있는 우발적인 파일 손상에 대한 안전망을 제공하는 등의 용도가 있습니다. 이러한 섀도 복사본에는 VSS_CTX_FILE_SHARE_BACKUP 또는 VSS_CTX_NAS_ROLLBACK 컨텍스트가 있습니다.
이 유형의 섀도 복사본에 대해 다음 사항에 유의하세요.
- 요청자는 여전히 모든 섀도 복사본의 필수 구성 요소에 나열된 필수 메서드를 호출해야 합니다.
- 요청자는 IVssBackupComponents::GatherWriterMetadata를 호출할 수 있지만 필수는 아닙니다.
- 요청자가 IVssBackupComponents::AddComponent, IVssBackupComponents::P repareForBackup 또는 IVssBackupComponents::BackupComplete를 호출하면 오류가 반환됩니다.
- 공급자는 이 유형의 섀도 복사본 에 대해 PrepareForSnapshot, Freeze, Thaw 또는 PostSnapshot 이벤트를 생성하지 않습니다.