구성 요소의 파일 집합 중 하나를 처리하려면 요청자가 디렉터리 트리를 재귀적으로 트래버스해야 할 수 있습니다. 이 경우 요청자가 탑재된 폴더를 처리하고 현재 볼륨에 없는 데이터를 가리키는 지점(예: 링크)을 다시 분석해야 할 수 있습니다.
요청자는 디렉터리 트리를 트래버스할 때 탑재된 폴더 및 재구문 지점을 따라야 하며 VSS에는 백업 및 복원 작업에 대한 처리 지침이 잘 정의되어 있습니다.
이러한 지침을 설명하려면 다음 예제를 고려하세요.
- \\?\Volume{GUID_1} 볼륨에 드라이브 문자 C:\가 있습니다.
- 파일 집합의 경로는 C:\WriterData입니다.
- 파일 형식 *.dat은 파일 집합에서 사용됩니다.
- 파일 집합의 재귀 설정이 TRUE로 되어 있습니다.
- 디렉터리 C:\WriterData는 \\?\Volume{GUID_1} 볼륨에 있습니다.
- 디렉터리 C:\WriterData\Archive는 탑재된 폴더입니다.
- 볼륨 \\?\Volume{GUID_2}은(는) 탑재된 폴더 C:\WriterData\Archive와 연결됩니다.
백업 중에 탑재된 폴더 및 리파스 포인트 처리
재귀 백업을 수행할 때 VSS에서 탑재된 폴더 및 재분석 지점을 처리하는 기본 규칙은 다음과 같이 요약할 수 있습니다.
- 경로는 마운트된 폴더와 재파서 지점을 따라 실행됩니다.
- 탑재된 폴더 또는 재분석 지점이 볼륨을 가리키는 경우, 해당 볼륨은 섀도 복사되어야 합니다.
- 볼륨에 탑재된 폴더나 재분석 지점이 포함된 경우, 이러한 항목은 볼륨의 섀도 복사본에 표시됩니다.
- 탑재된 폴더 또는 재 분석 지점 아래에 있는 데이터는 탑재된 폴더 또는 재 분석 지점이 가리키는 볼륨의 섀도 복사본에 캡처됩니다.
재귀 플래그가 설정되었기 때문에 위의 예제를 사용하려면 요청자가 C:\WriterData\Archive 아래의 모든 데이터를 검사해야 합니다.
요청자는 드라이브 문자 C:\ (\\?\Volume{GUID_1})가 있는 볼륨과 탑재된 폴더 C:\WriterData\Archive(\\?\Volume{GUID_2})와 연결된 볼륨을 IVssBackupComponents::AddToSnapshotSet사용하여 섀도 복사본 집합에 추가해야 합니다.
탑재된 폴더 C:\WriterData\Archive는 deviceObject1이라는 디바이스 개체가 있는 \\?\Volume{GUID_1}볼륨의 섀도 복사본에 나타납니다.
그러나 VSS는 탑재된 폴더 아래의 데이터(\\?\Volume{GUID_2}의 데이터)를 deviceObject1에서 참조하는 섀도 복사본에 복사하지 않습니다. 대신 해당 데이터는 deviceObject2라는 디바이스 개체가 있는 \\?\Volume{GUID_2}의 섀도 복사본에 캡처됩니다.
따라서 C:\WriterData에서 섀도 복사된 파일을 백업하는 요청자는 deviceObject1\WriterData의 경로를 사용하여 C:\WriterData\*.dat 일치하는 파일을 검색합니다.
C:\WriterData\Archive에서 섀도 복사된 파일을 백업하기 위해 요청자는 deviceObject2의 경로(\\?\Volume{GUID_2}의 루트 디렉터리가 탑재된 폴더 C:\Writer\Archive와 연결되었기 때문에)를 사용하여 C:\WriterData\Archive\*.dat 일치하는 파일을 검색합니다.
재처리 지점은 탑재된 폴더와 동일한 방식으로 처리됩니다. 재문 분석 지점은 첫 번째 볼륨의 섀도 복사본에 나타납니다. 재 분석 지점 아래의 데이터는 두 번째 볼륨의 섀도 복사본에 나타납니다.
백업하는 동안 요청자는 탑재된 폴더 및 연결된 볼륨에 대한 정보와 재문 분석 지점 및 대상에 대한 정보를 저장하여 모든 데이터가 올바르게 백업 및 복원되도록 해야 합니다.
복원하는 동안 마운트 및 재분석 지점 처리
파일을 복원할 때 요청자는 백업 중에 사용된 것과 약간 다른 지침을 따라야 합니다(대체 위치 매핑 및 새 대상 위치같은 문제를 무시).
- 이전과 마찬가지로, 재귀가 필요한 경우 경로는 탑재된 폴더 및 재구문 지점을 따라가게 됩니다.
- 탑재된 폴더를 복원해야 합니다.
- 탑재된 폴더 및 재 분석 지점의 복원 위치는 원래 경로에 따라 결정됩니다.
볼륨 이름이 백업과 복원 사이에 유지되는 경우(즉, 볼륨을 다시 만들지 않음) 복원된 탑재 폴더 및 재 분석 지점은 올바른 볼륨을 가리킵니다.
따라서 위에서 설명한 예제에서 탑재된 폴더 C:\WriterData\Archive가 (\\?\Volume{GUID_1})로 복원되고 이전에 연결된 볼륨이 (\\\?\Volume{GUID_2})로 복원된 경우 복원된 파일 및 파일 구조가 올바르고 일관됩니다.
볼륨 이름이 변경된 시스템으로 데이터가 복원될 수 있습니다. 이는 수동 시스템 복구를 수행하고 볼륨을 다시 만들어야 하는 디스크 크래시 때문일 수 있습니다. 이러한 상황에서는 복원 후에 탑재된 폴더 및 재파싱 지점이 더 이상 유효하지 않습니다. 복원된 볼륨에서 파일 및 파일 구조를 다시 만들려면 복원된 탑재된 폴더를 삭제하고 지점을 다시 분석하고 디스크에 다시 만들어야 합니다. 이것이 적절한지 여부를 결정하는 것은 백업 애플리케이션의 달려 있습니다.
탑재된 폴더의 복원 대상이 이미 점유되어 있는 것일 수 있습니다. 예를 들어 C:\WriterData\Archive에는 이미 일부 파일이 포함될 수 있습니다. 이 상황을 처리하는 방법은 백업 애플리케이션이 결정해야 합니다.