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

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

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