Поделиться через


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

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

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