백업 검색 단계 개요
IVssBackupComponents::GatherWriterMetadata를 호출한 후 요청자는 이 호출에서 반환된 IVssAsync 인터페이스의 instance 사용하여 시스템의 모든 기록기가 기록기 메타데이터 문서 생성을 완료한 시기를 확인합니다. 자세한 내용은 VSS에서 백업 처리 개요를 참조하세요.
이 시점에서 요청자는 메타데이터를 검사하여 실행 중인 애플리케이션과 전체 백업을 위해 섀도 복사해야 하는 볼륨을 확인하는 검색 단계를 시작할 수 있습니다. 다음 표에서는 백업 검색 단계에 필요한 작업 및 이벤트의 시퀀스를 보여 줍니다.
요청자 작업 | 이벤트 | 작성기 작업 |
---|---|---|
기록기 메타데이터 문서 검색( IVssBackupComponents::GetWriterMetadata, IVssExamineWriterMetadata 참조). | 없음 | 이 기간 동안 작성자는 정상적인 작업을 계속할 수 있습니다. |
구성 요소 및 해당 파일 집합 목록과 제외된 파일을 사용하여 백업과 관련된 볼륨 및 파일 목록을 가져옵니다( IVssWMComponent, IVssWMFiledesc 참조). | 없음 | 없음 |
기록기 메타데이터 문서에서 백업할 구성 요소를 선택합니다. 각 구성 요소 에 대해 IVssBackupComponents::AddComponent 를 호출하여 백업 구성 요소 문서에 추가합니다. ( 백업에 대한 선택 가능성 작업 및 백업 구성 요소 작업 문서를 참조하세요.) | 없음 | 없음 |
지원되는 볼륨에 대한 섀도 복사본 집합, 컨텍스트 및 검사 초기화합니다(IVssBackupComponents::StartSnapshotSet, IVssBackupComponents::IsVolumeSupported 참조). | 없음 | 없음 |
구성 요소가 아닌 백업을 수행하는 경우 각 볼륨에 대해 IVssBackupComponents::AddToSnapshotSet 을 호출하여 기록기 메타데이터 문서의 원하는 대상 볼륨을 섀도 복사본 집합에 추가합니다. 그렇지 않은 경우 백업 구성 요소 문서에 이미 추가된 기록기 메타데이터 문서의 구성 요소( AddComponent 호출)의 경우 요청자는 영향을 받는 각 볼륨에 대해 IVssBackupComponents::AddToSnapshotSet 도 호출해야 합니다. | 없음 | 없음 |
검색 단계 중 작성기 작업
백업의 검색 단계는 주로 기록기 메타데이터 문서에서 검색한 정보를 처리하는 요청자로 구성되기 때문에 기록기에 대한 요구 사항이 있는 경우는 거의 없습니다.
이론적으로 작가는 이 시점에서 정상적으로 계속 실행할 수 있습니다. 그러나 기록기가 다가오는 섀도 복사본 및 백업 작업에 대한 준비를 시작하는 것이 바람직할 수 있습니다.
검색 단계 중 요청자 작업
요청자는 IVssBackupComponents::GetWriterMetadata를 통해 가져온 IVssExamineWriterMetadata 개체를 사용하여 모든 기록기의 메타데이터를 반복하고 데이터를 백업하려는 작성기를 선택합니다.
이 시점에서 요청자는 IVssExamineWriterMetadata::GetComponent를 사용하여 기록기의 구성 요소를 반복하여 각 기록기의 백업 후보 초기 목록을 생성해야 합니다. 이렇게 하면 요청자에게 IVssWMComponent 개체가 제공되므로 IVssWMComponent::GetFile, IVssWMComponent::GetDatabaseFile 및 IVssWMComponent::GetDatabaseLogFile을 사용하여 백업할 파일에 대한 사양을 가져올 수 있습니다.
IVssWMFiledesc 개체는 와일드카드 문자를 사용하여 파일 위치 정보를 저장할 수 있으므로 FindFirstFile, FindFirstFileEx 및 FindNextFile과 같은 함수를 사용해야 할 수 있습니다.
섀도 복사본이 완료될 때까지 작성자가 정상적인 작업 과정에서 디스크에서 파일을 추가하거나 제거할 수 있으므로 현재 백업할 실제 파일 목록을 생성해서는 안 됩니다.
대신 백업할 파일 및 볼륨의 초기 목록은 다음을 수행하여 이 시점에서 찾을 수 있습니다.
- 각 기록기의 기록기 메타데이터 문서( IVssExamineWriterMetadata 사용)에서 백업 및 선택 불가능 구성 요소에 대해 선택할 수 있는 모든 구성 요소를 검사하고 구성 요소 집합 으로 구성하면 논리적 경로 가 사용됩니다( 선택 가능성 및 논리 경로 작업 참조).
- IVssBackupComponents::AddComponent를 사용하여 백업 구성 요소 문서에 명시적으로 필요한 모든 구성 요소(백업 상위 항목에 대해 선택할 수 없는 백업 구성 요소에 대해 선택할 수 없음) 포함
- 구성 요소 집합을 정의하지 않는 백업 구성 요소에 선택 가능한 선택 항목을 명시적으로 포함하도록 선택( IVssBackupComponents::AddComponent 사용)
- 구성 요소 집합의 하위 구성 요소를 암시적으로 포함하는 백업 구성 요소에 대한 정의 선택 가능 항목(IVssBackupComponents::AddComponent 사용)을 명시적으로 추가하여 백업에 참여할 구성 요소 집합을 선택합니다.
- 요청자는 선택한 기록기의 기록기 메타데이터 문서 및 볼륨 관리 함수에서 파일 집합 정보를 사용하여 백업할 파일의 경로와 섀도 복사해야 하는 볼륨을 결정합니다.
백업 및 백업 구성 요소 문서에 명시적으로 포함된 구성 요소( IVssBackupComponents::AddComponent 사용)만 해당 문서에 추가된 IVssComponent 인터페이스의 인스턴스가 있습니다. 이러한 인스턴스는 명시적으로 포함된 구성 요소와 암시적으로 포함된 하위 구성 요소 모두에 대한 구성 요소 설정을 검사하고 수정하는 데 사용됩니다( 선택 가능성 및 구성 요소 속성 작업 참조).
작성기에 기록기의 구성 요소가 포함된 경우 필요한 모든 구성 요소를 추가해야 합니다. 그러나 요청자는 작성기의 모든 구성 요소 집합을 완전히 건너뛸 수도 있습니다. 기록기의 구성 요소를 명시적으로 선택하지 않으면 작성기가 선택되지 않으며 VSS는 해당 작성기가 나머지 백업 작업에 참여하지 못하도록 합니다.
요청자는 IVssBackupComponents::StartSnapshotSet을 호출하여 선택한 볼륨을 포함하는 섀도 복사본 집합을 시작합니다.
볼륨이 섀도 복사본에 참여할 수 있는 경우( IVssBackupComponents::IsVolumeSupported로 확인할 수 있음) 요청자는 IVssBackupComponents::AddToSnapshotSet을 사용하여 해당 볼륨을 섀도 복사본 집합에 추가할 수 있습니다.
일반적으로 유용하지는 않지만 요청자는 지정된 볼륨의 섀도 복사본을 유지할 공급자 를 선택할 수도 있습니다(자세한 내용은 공급자 선택 참조).
탑재된 폴더 또는 재분석 지점을 포함하는 볼륨의 처리에 주의해야 합니다. 탑재된 폴더 또는 재분석 지점은 섀도 복사본에 표시될 수 있으며 백업할 수 있습니다. 그러나 탑재된 폴더 또는 재분석 지점은 섀도 복사 볼륨에서 트래버스할 수 없습니다( 탑재된 폴더 작업 및 재분석 지점 참조).
백업의 이 시점에서 백업 구성 요소 문서가 초기화되고 채워집니다. 이후 작업에서 작성자와 요청자는 IVssComponent 인터페이스를 사용하여 서로 통신할 수 있습니다.
기록기에는 PrepareForBackup, PostSnapshot 및 BackupComplete 이벤트를 처리할 때 IVssComponent 인터페이스에 대한 액세스 권한이 부여됩니다.