파일의 실제 백업 개요
VSS를 사용하면 요청자가 백업할 데이터가 포함된 볼륨의 섀도 복사본에 액세스하고 백업 미디어에 데이터를 복사할 수 있습니다. 작성기는 일반적으로 이 프로세스 중에 정상적인 작업을 진행합니다. 자세한 내용은 VSS에서 백업 처리 개요를 참조하세요.
다음 표에서는 파일을 백업하는 데 필요한 작업 및 이벤트의 시퀀스를 보여 줍니다.
요청자 작업 | 이벤트 | 작성기 작업 |
---|---|---|
섀도 복사 볼륨의 파일에 액세스( IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP 참조) | 없음 | 없음 |
백업할 파일 목록을 생성하고 파일 데이터를 백업 미디어에 복사합니다. | 없음 | 없음 |
IVssBackupComponents::SetBackupSucceeded를 사용하여 백업의 성공 또는 실패를 나타냅니다. | 없음 | 없음 |
요청자는 IVssBackupComponents::BackupComplete를 호출하여 백업이 완료되었음을 나타냅니다. | BackupComplete | 백업 후 정리를 수행 합니다(CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponent 참조). |
요청자는 모든 기록기가 IVssAsync를 사용하여 IVssBackupComponents::BackupComplete 이벤트의 수신을 승인할 때까지 기다립니다. 또한 기록기 상태 확인해야 합니다(IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus 참조). 이때 요청자는 GatherWriterStatus 를 호출하여 기록기 세션을 완료된 상태로 설정해야 합니다.
참고: 이는 SP2(서비스 팩 2) 이하의 Windows Server 2008에서만 필요합니다. |
없음 | 없음 |
백업 미디어에 쓸 수 있는 XML 문서에 백업 구성 요소 문서 및 각 기록기 메타데이터 문서를 저장합니다( IVssBackupComponents::SaveAsXML 및 IVssExamineWriterMetadata::SaveAsXML 참조). | 없음 | 없음 |
파일 백업 중 기록기 작업
섀도 복사본이 완료된 후 백업 중인 시스템의 모든 I/O 작업은 백업의 무결성을 방해하지 않고 다시 시작할 수 있어야 합니다. 이는 섀도 복사본 기능을 갖기 위한 주요 동기 중 하나입니다.
따라서 검색 단계( 백업 검색 단계 개요 참조)와 마찬가지로 파일이 실제로 백업되는 동안 기록기에 대한 요구 사항은 거의 없습니다.
백업이 완료되고 요청자가 BackupComplete 이벤트를 생성한 후 VSS는 기본적으로 TRUE를 반환하는 가상 메서드인 각 작성기의 CVssWriter::OnBackupComplete 메서드를 호출 합니다. 그러나 작성기는 기본 구현을 재정의하고 나머지 임시 파일 제거와 같은 작업을 수행하거나, 해당 IVssComponent 개체를 검색하여 포함된 각 명시적으로 구성 요소(및 정의할 수 있는 구성 요소 집합)의 백업 상태를 검사 위해 호출되는 IVssWriterComponents 인터페이스를 사용할 수 있습니다. 그런 다음 작성기는 IVssComponent:GetBackupSucceeded를 호출하여 백업의 성공 또는 실패를 확인하고 수행할 수 있습니다. IVssComponent:GetBackupSucceeded에서 반환되는 값은 구성 요소에 명시적으로 포함된 모든 파일과 해당 하위 구성 요소 중 암시적으로 포함된 모든 파일이 성공적으로 백업된 경우에만 TRUE가 됩니다.
CVssWriter::OnBackupComplete에 대한 호출이 완료되면 요청자는 마지막으로 IVssBackupComponents::GatherWriterStatus 및 IVssBackupComponents::GetWriterStatus(각 작성기에 대해)를 호출해야 합니다. 기록기 세션 상태 메모리는 제한된 리소스이며 작성기는 결국 세션 상태를 다시 사용해야 합니다. 이 단계에서는 기록기 백업 세션 상태가 완료된 것으로 표시하고 후속 백업 작업에서 이 백업 세션 슬롯을 재사용할 수 있음을 VSS에 알 수 있습니다.
파일 백업 중 요청자 작업
백업 검색 단계 개요에서 설명한 것처럼 섀도 복사본이 완료될 때까지 백업할 파일의 실제 목록을 생성해서는 안 됩니다.
지정된 볼륨의 섀도 복사본에 해당하는 디바이스 개체 는 섀도 복사본이 완료되면 섀도 복사 볼륨의 파일에 액세스하는 데 사용됩니다. 디바이스 개체는 IVssBackupComponents::GetSnapshotProperties에서 반환된 VSS_SNAPSHOT_PROP 개체에서 가져옵니다. 섀도 복사본 집합의 각 섀도 복사본에는 자체 디바이스 개체가 있습니다.
그런 다음 구성 요소의 기록기 메타데이터 문서 사양에서 가져온 디바이스 개체와 경로를 사용하여 백업할 파일을 선택합니다. 자세한 내용은 섀도 복사 데이터에 대한 요청자 액세스를 참조하세요.
백업 목록에 포함되는 파일은 특정 백업의 특성, 백업에 대한 구성 요소 선택 가능성 및 기록기의 논리적 경로 구조에 따라 달라집니다( 백업에 대한 선택 가능성 작업 참조).
구성 요소에 지정된 파일 외에도 지정된 작성기에 명시적으로 제외된 파일도 있을 수 있습니다. 선택한 구성 요소에 관계없이 파일 제외는 항상 존중되어야 합니다.
또한 백업 검색 단계 개요에서 설명한 대로 탑재된 폴더 또는 재분석 지점이 섀도 복사본에 표시될 수 있으며 백업할 수 있습니다. 그러나 탑재된 폴더 또는 재분석 지점은 섀도 복사 볼륨에서 트래버스할 수 없습니다( 탑재된 폴더 작업 및 재분석 지점 참조).
IVssWMFiledesc::GetAlternateLocation에서 반환된 대체 경로가 비어 있지 않은 경우 백업 작업 중에도 주의해야 합니다. 대체 경로는 백업 중에만 사용된다는 점에서 대체 위치 매핑 과 다르며, 대체 위치 매핑은 복원 중에만 사용됩니다.
이 경우 데이터는 정상 위치( IVssWMFiledesc::GetPath로 표시됨)에서 백업되지 않고 IVssWMFiledesc::GetAlternateLocation에서 반환된 위치에서 백업됩니다. 복원할 때 파일을 정상 위치로 반환해야 합니다. 자세한 내용은 기본이 아닌 백업 및 복원 위치를 참조하세요 .
VSS는 스토리지 매체에 데이터를 백업하는 실제 메커니즘 또는 해당 매체의 선택에 제한을 두지 않습니다. 그러나 각 작성기의 각 구성 요소의 파일을 단위로 처리할 instance 것이 좋습니다. 백업 파일 목록을 생성하는 모범 사례에 대한 자세한 내용은 백업 집합 생성을 참조하세요.
지정된 구성 요소에서 관리하는 파일 및 지정된 작성기 instance 대한 하위 구성요소를 백업하는 성공 또는 실패는 IVssBackupComponents::SetBackupSucceeded를 호출하여 백업 구성 요소 문서에서 유지되어야 합니다. 구성 요소 또는 구성 요소 집합에서 관리하는 파일이 백업에 실패하면 전체 구성 요소가 실패하는 것으로 표시됩니다. 백업에 실패한 파일에 대한 정확한 정보는 항상 기록해야 합니다.
개발자는 백업되는 파일의 백업 미디어, 멤버인 구성 요소 및 구성 요소 집합, 사양 및 원래 경로에 대한 레코드를 저장하는 것이 유용할 수 있습니다. 각 작성자의 구성 요소 정의와 같은 정보를 저장하는 것도 유용할 수 있습니다. 이렇게 하면 검색 작업이 더 간단할 수 있습니다. 그러나 이러한 세부 정보는 요청자 개발자에게 맡기고 있습니다.
기록기는 요청자가 IVssBackupComponents::D oSnapshotSet에 대해 호출하여 생성된 PostSnapshot 이벤트를 처리하는 동안 백업 구성 요소 문서를 수정할 수 있으므로 해당 비동기 호출이 완료될 때까지 백업 구성 요소 문서를 저장하면 안 됩니다.
이전에 발생할 수 있지만 기록기 메타데이터 문서를 저장하는 데 편리한 시간이기도 합니다.
백업 구성 요소 문서와 기록기 메타데이터 문서는 IVssBackupComponents::SaveAsXML 및 IVssExamineWriterMetadata::SaveAsXML을 사용하여 보존하는 것이 매우 중요합니다. 그렇지 않은 경우 파일을 복원하는 동안 VSS를 사용할 수 없습니다.
원본 메타데이터를 저장하는 것 외에도 일부 백업 애플리케이션은 나중에 검색할 수 있도록 자체 파일 목록의 복사본(자체 최적화된 형식)과 관련 기록기, 구성 요소, 복원 프로시저 및 위치 정보를 백업 미디어에 저장하는 것이 유용할 수 있습니다. 이러한 목록을 사용하여 복원하는 동안 기록기 메타데이터 문서와 백업 구성 요소 문서의 일부 구문 분석 및 비교를 방지할 수 있습니다.
백업되는 볼륨에는 VSS 작성기가 관리하지 않는 데이터가 있을 수 있습니다. 이 데이터는 섀도 복사된 볼륨에서 백업할 수 있으며 백업해야 합니다. 여기서 충돌 일치 상태가 됩니다. 자세한 내용은 기록기 참여가 없는 백업 을 참조하세요.