Работа с подключенными папками и точками повторного анализа
Для обработки одного из наборов файлов компонента может потребоваться запрашивающий объект для рекурсивного обхода дерева каталогов, что может потребовать от инициатора запроса обрабатывать подключенные папки и точки повторного анализа (например, ссылки), указывающие на данные, которые не находятся на текущем томе.
Ожидается, что инициаторы запросов будут следовать подключенным папкам и точкам повторного анализа при обходе дерева каталогов, а 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 отображается в теневой копии тома \\?\Volume{GUID_1}, который имеет объект устройства с именем deviceObject1.
Тем не менее VSS не копирует данные в подключенную папку (данные на \\?\Volume{GUID_2}) в теневое копирование, на которое ссылается deviceObject1. Вместо этого эти данные записываются в теневой копии \\?\Volume{GUID_2}, в которой есть объект устройства с именем deviceObject2.
Таким образом, инициатор запроса, создающий резервную копию теневых файлов в папке 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 уже может содержать некоторые файлы. Это связано с приложением резервного копирования, чтобы решить, как справиться с этой ситуацией.