다음을 통해 공유


기록기

기록기는 디스크의 파일에 영구 정보를 저장하고 섀도 복사본 인터페이스를 사용하여 요청자에게 이러한 파일의 이름과 위치를 제공하는 애플리케이션 또는 서비스입니다.

백업 작업 중에 기록기는 데이터가 정지되고 안정적이며 섀도 복사 및 백업에 적합한지 확인합니다. 작성기는 가능한 경우 파일 잠금을 해제하고 필요한 경우 대체 위치를 표시하여 복원과 공동 작업합니다.

VSS 백업 작업 중에 기록기가 없는 경우에도 섀도 복사본을 만들 수 있습니다. 이 경우 섀도 복사된 볼륨의 모든 데이터는 크래시 일관성 상태가 됩니다.

기록기 상태

기록기는 XML 기반 메타데이터 개체인 기록기 메타데이터 문서에서 상태를 유지 관리합니다.

이 기록기 메타데이터는 백업 및 복원할 데이터의 파일 집합(경로, 파일 사양 및 재귀 플래그)을 포함하는 유일한 데이터 구조입니다.

기록기 메타데이터 문서는 기록기 파일 집합을 그룹 또는 구성 요소로 구성합니다. 작성기에서 관리하는 다른 구성 요소에 대한 백업 및 복원 작업 중 이러한 구성 요소 중 하나의 관계는 작성기 메타데이터 문서에서 구성 요소의 백업 선택 가능성, 복원 선택 가능성논리적 경로에 설명되어 있습니다. (자세한 내용은 구성 요소 조직 설정선택 가능성 및 논리 경로 작업을 참조하세요.)

파일 복원 및 기타 문제를 제어하는 추가 정보도 이 문서에 포함되어 있습니다.

요청자는 백업 또는 복원을 처리하기 위해 자체 백업 구성 요소 문서와 함께 기록기 메타데이터가 필요합니다.

백업 구성 요소 문서와 달리 기록기 메타데이터 문서는 읽기 전용 구조로 간주되어야 합니다. 작성기가 만든 후에는 문서가 변경되지 않습니다.

기록기 이벤트 처리

작성기의 VSS 작업은 COM 이벤트를 수신하여 시작됩니다.

이벤트가 없으면 기록기는 VSS 작업(예: VSS 백업 또는 복원)을 수행하지 않습니다. 대신 데이터베이스 쿼리에 응답하거나, 사용자 데이터를 관리하거나, 다른 서비스를 제공하는 등의 정상적인 작업을 수행합니다.

여러 병렬 백업 및 복원 세션에 대한 오류 처리가 올바르게 수행되고 한 백업 또는 복원 세션이 다른 백업 또는 복원 세션이 손상되지 않도록 하려면 다음을 수행해야 합니다.

  • 기록기의 이벤트 처리기(예: CVssWriter::OnFreeze)가 CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure 또는 CVssWriterEx2::SetWriterFailureEx 메서드를 호출하는 경우 이벤트 처리기는 이벤트 처리기를 호출한 동일한 스레드에서 메서드를 호출해야 합니다.
  • OnFreeze와 같은 이벤트 처리기의 작성기의 구현은 각 작업자 스레드가 원래 이벤트 처리기 스레드로 다시 보고하는 데 필요한 오류를 마샬링하는 한 원하는 경우 작업자 스레드로 작업을 오프로드할 수 있습니다.

식별 이벤트 처리

Identifi 이벤트를 제외하고 기록기에서 수신하는 이벤트의 형식과 순서는 현재 진행 중인 VSS 작업의 형식에 따라 고유하게 달라집니다.

Identify 이벤트를 사용하려면 기록기에서 해당 구성 및 기록기 메타데이터 문서를 통해 관리하는 파일에 대한 시스템 정보를 제공해야 합니다. Identify 이벤트는 시스템 쿼리뿐만 아니라 섀도 복사 및 백업 및 복원 작업을 포함하여 거의 모든 VSS 작업을 지원하여 생성됩니다. 따라서 기록기의 Identify 이벤트 처리기 CVssWriter::OnIdentify 구현은 백업 또는 복원과 같은 다른 VSS 작업을 처리하는 중간을 포함하여 언제든지 Identify 이벤트를 처리할 수 있어야 합니다. Identify 이벤트는 해당 작업이 시작되기 전에 생성이 예상되고 필요할 수 있지만 VSS 작업의 수명 주기의 일부로 간주해서는 안 됩니다.

순서가 잘못된 이벤트를 수신하면 해당 정보가 다시 설정되므로 VSS 작업에 대한 상태 정보는 CVssWriter::OnIdentify에서 수정되지 않는 것이 특히 중요합니다.

이벤트 백업 및 복원

백업 또는 복원에 참여하는지 여부에 따라 기록기는 초기 Identify 이벤트 외에도 2~7개의 이벤트를 받게 됩니다.

이러한 이벤트를 처리하는 것은 백업 또는 복원 작업의 수명 주기(기록기의 관점에서)를 구성합니다.

일반적인 백업 작업( VSS에서 백업 처리 개요 참조)에서 기록기는 초기 Identify 이벤트 외에도 다음 이벤트를 처리합니다.

  • PrepareForBackup
  • PrepareForSnapshot
  • 중지
  • 재개
  • PostSnapshot
  • BackupComplete
  • BackupShutdown

일반적인 복원 작업( VSS에서 복원 처리 개요 참조)에서 작성기는 다음 이벤트를 처리합니다.

  • PreRestore
  • PostRestore