Работа с подключенными папками и точками повторного анализа

Для обработки одного из наборов файлов компонента может потребоваться запрашивающий объект для рекурсивного обхода дерева каталогов, что может потребовать от инициатора запроса обрабатывать подключенные папки и точки повторного анализа (например, ссылки), указывающие на данные, которые не находятся на текущем томе.

Ожидается, что инициаторы запросов будут следовать подключенным папкам и точкам повторного анализа при обходе дерева каталогов, а 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 уже может содержать некоторые файлы. Это связано с приложением резервного копирования, чтобы решить, как справиться с этой ситуацией.