다음을 통해 공유


섀도 복사 볼륨 노출 및 표면화

요청자는 복사본의 디바이스 개체를 통해 IVssBackupComponents 인터페이스를 통해 액세스하는 것 외에도 다른 프로세스에서 탑재된 읽기 전용 디바이스로 섀도 복사본을 사용할 수 있도록 할 수 있습니다.

이 프로세스를 섀도 복사본 노출이라고 하며 IVssBackupComponents::ExposeSnapshot 메서드를 사용하여 수행됩니다.

섀도 복사본은 로컬 볼륨으로 노출되거나 드라이브 문자가 할당되거나 탑재된 폴더와 연결되거나 파일 공유로 노출될 수 있습니다.

설명하기 위해 F:\에 탑재된 exposedSys 시스템의 볼륨으로 만든 섀도 복사본을 고려합니다. 루트가 dirOne 및 dirTwo 디렉터리와 FileOne 파일인 에 있습니다.

로컬로 섀도 복사본 노출

로컬 볼륨으로 탑재되는 경우 섀도 복사본의 루트는 항상 탑재 지점(드라이브 문자 또는 탑재된 폴더)에 표시되며 모든 그림자 복사 파일이 표시됩니다.

섀도 복사본이 탑재된 폴더 C:\ShadowOfF를 통해 로컬로 노출된 경우 F:\에 탑재된 디스크에 있는 모든 파일을 찾을 수 있습니다. C:\ShadowOfF에서 사용할 수 있는 섀도 복사본의 시간에 C:\ShadowOfF를 검사하면 두 개의 디렉터리인 dirOne 및 dirTwo와 하나의 파일인 fileOne이 C:\ShadowOfF 아래에 표시됩니다.

섀도 복사본을 로컬로 노출하는 호출은 다음과 같습니다.

  IVssBackupComponents *pReq;
  VSS_ID snapID;
  PWSTR wszExposed;
  //    .
  //    .
  hr = pReg->ExposeSnapshot(
         snapID,                           // VSS_ID SnapshotId,
         NULL,                             // VSS_PWSZ wszPathFromRoot
         VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY, // LONG lAttributes
         L"C:\ShadowOfF",                  // VSS_PWSZ wszExpose
         LPWSTR &wszExposed,               // VSS_PWSZ* pwszExposed
       );

섀도 복사본이 로컬로 성공적으로 노출된 경우 wszExposed 에는 와이드 문자열 "C:\ShadowOfF"가 포함되어야 합니다.

나중에 IVssBackupComponentsEx2::UnexposeSnapshot을 호출하여 섀도 복사본을 노출 해제할 수 있습니다.

영구 섀도 복사본(즉, VSS_CTX_NAS_ROLLBACK 또는 VSS_CTX_APP_ROLLBACK 사용하여 만든 섀도 복사본)만 로컬로 노출할 수 있습니다.

섀도 복사본을 원격 공유로 노출

또는 F:\에 탑재된 디스크의 섀도 복사본을 만들도록 선택할 수 있습니다. 원격 파일 공유로 사용할 수 있으며 dirTwo의 데이터만 파일 공유 dirTwoOfF로 노출합니다.

이 경우 시스템은 \\exposedSys\dirTwoOfF를 네트워크 드라이브로 매핑하여 F:\dirTwo 아래 파일의 섀도 복사본에 액세스할 수 있습니다.

섀도 복사본을 공유로 노출하는 원격 구현 호출은 다음과 같습니다.

  IVssBackupComponents *pReq;
  VSS_ID snapID;
  LPWSTR wszExposed;
  //    .
  //    .
  hr = pReg->ExposeSnapshot(
               snapID,                            // VSS_ID SnapshotId,
               L"\dirTwo",                        // VSS_PWSZ wszPathFromRoot
               VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY, // LONG lAttributes
               L"dirTwoOfF",                      // VSS_PWSZ wszExpose
               LPWSTR &wszExposed,                // VSS_PWSZ* pwszExposed
       );

섀도 복사본이 원격으로 성공적으로 노출된 경우 wszExposed 에는 와이드 문자열 "dirTwoOfF"가 포함되어야 합니다.

현재 dirTwoOfF의 네트워크 공유를 매핑하는 모든 시스템은 일반 공유와 연결이 끊어질 수 있는 것처럼 연결이 끊어질 수 있습니다.

그림자 복사본 표시

표면화된 섀도 복사본은 시스템의 Mount Manager 네임스페이스에 그림자 복사본이 알려져 있는 복사본입니다.

예를 들어 FindFirstVolumeFindNextVolume을 사용하여 사용 가능하지만 아직 탑재되지 않은 다른 볼륨을 찾는 것처럼 이러한 섀도 복사본을 찾을 수 있습니다.

그러면 노출된 그림자 복사본도 그림자 복사본으로 표시됩니다. 그러나 그 반대의 경우도 마찬가지입니다.

로컬로 노출된 섀도 복사본이 분리되었거나 시스템이 원격으로 노출된 섀도 복사본의 연결을 끊기로 선택한 경우 해당 섀도 복사본은 더 이상 노출되지 않습니다. 그러나 섀도 복사본이 유지되는 한 볼륨이 표시됩니다. 즉, 다른 읽기 전용 볼륨처럼 탑재할 수 있습니다.