Вверх

 
  • Комплексное ИТ обслуживание Вашего бизнеса 24 часа 7 дней в неделю!
  • IP телефония со знанием дела. Установка и настройка.
  • Поставки оборудования по выгодным ценам

19.02.2020 - Служба теневого копирования томов (VSS), утилиты VSSADMIN и DISKSHADOW

Продолжаем цикл полезных статей по работе с инструментами резервного копирования серверов на базе Windows Server. На этот раз речь пойдёт о службе теневого копирования и утилитах по работе с ней.

Служба теневого копирования тома (англ. Volume Shadow Copy Service, VSS) - служба операционной системы Windows, позволяющая копировать файлы, с которыми в данный момент времени ведется работа, включая системные и заблокированные файлы. Служба необходима для работы программы восстановление системы и программ архивации.

Для правильного выполнения операций резервного копирования и восстановления требуется тесное взаимодействие между приложениями резервного копирования, бизнес-приложениями, для которых выполняется резервное копирование, оборудованием и программным обеспечением управления хранением. Служба теневого копирования томов (VSS), которая появилась в Windows Server 2003, упрощает взаимодействие между этими компонентами, позволяя им лучше взаимодействовать между собой.

Как работает служба теневого копирования томов

Для нормальной работы VSS требуются следующие основные компоненты:

На следующей схеме показано, как служба VSS координирует работу с запрашивающими сторонами, модулями записи и поставщиками для создания теневой копии тома.

Рис. 1

Создание теневой копии

Рис. 2

Чтобы создать теневую копию, инициатор запроса, модуль записи и поставщик выполняют следующие действия:

  1. Инициатор запроса запрашивает у служба теневого копирования томов перечисление модулей записи, собирает метаданные модуля записи и готовится к созданию теневого копирования.
  2. Каждый модуль записи создает XML-описание компонентов и хранилищ данных, для которых необходимо создать резервную копию, и предоставляет их для служба теневого копирования томов. Модуль записи также определяет метод восстановления, который используется для всех компонентов. В службе теневого копирования томов содержится описание модуля записи для инициатора запроса, в котором выбираются компоненты, для которых будет выполняться резервное копирование.
  3. Служба теневого копирования томов уведомляет все модули записи о подготовке данных для создания теневой копии.
  4. Каждый модуль записи подготавливает данные соответствующим образом. Когда данные готовы к теневому копированию, модуль записи уведомляет службу теневого копирования томов.
  5. Служба теневого копирования томов предписывает средствам записи временно заморозить запросы на запись операций ввода-вывода приложения (запросы ввода-вывода на чтение по-прежнему возможны) в течение нескольких секунд, необходимых для создания теневой копии тома или томов. Замораживание приложения не может длиться более 60 секунд. Служба теневого копирования томов очищает буферы файловой системы, а затем замораживает файловую систему, что обеспечивает правильную запись метаданных файловой системы и запись данных, подлежащих теневому копированию, в согласованном порядке.
  6. Служба теневого копирования томов дает команду поставщику создать теневую копию. Период создания теневой копии длится не более 10 секунд, в течении которых все запросы на запись в файловую систему остаются замороженными.
  7. Служба теневого копирования томов освобождает запросы ввода-вывода записи файловой системы.
  8. Служба VSS сообщает средствам записи о разморозке запросов ввода-вывода приложения. На этом этапе приложения могут возобновить запись данных на диск, на который выполняется теневое копирование.
  9. Инициатор запроса может повторить процесс (вернитесь к шагу 1) или уведомить администратора о необходимости повторить попытку позже.
  10. Если теневая копия создана успешно, служба теневого копирования томов возвращает сведения о расположении для теневой копии запрашивающей стороне. После того как VSS и приложения выполняют изменения, теневая копия становится доступна только для чтения.

После создания теневой копии служба VSS начинает отслеживать изменение данных на диске. VSS разбивает все данные на блоки по 16Кб каждый, и если данные в таком блоке были изменены, служба записывает в файл теневой копии этот блок целиком. Таким образом получается, что при создании следующей теневой копии данных система не копирует данные целиком, а только лишь блочные изменения.  Благодаря этому система теневого копирования позволяет существенно сэкономить место на диске. Теневые копии могут храниться на том же диске, на котором хранятся данные, либо на отдельном (решение для высоконагруженных систем с большой частотой изменения данных). Все файлы теневых копий хранятся в служебном каталоге System Volume Information. Эти файлы можно отличить по имени, все они содержат в имени идентификатор службы VSS - 3808876b-c176-4e48-b7ae-04046e6cc752.

Утилита VSSADMIN

Утилита VSSADMIN предназначена для администрирования в командной строке службы теневого копирования томов. С ее помощью создавать и удалять теневые копии, управлять хранилищами теневых копий, а также производить диагностику неисправностей модулей службы теневого копирования. Для работы с утилитой VSSADMIN запускаем командную строку от имени администратора, и введем команду vssadmin /?, после чего систем выведет список поддерживаемых команд. Познакомимся с возможностями утилиты и ее командами подробнее…

ADDSHADOWSTORAGE - создание новой ассоциации хранилищ теневых копий.

AddShadowStorage /For=ForVolumeSpec /On=OnVolumeSpec /MaxSize=MaxSizeSpec - добавление нового соответствия хранилищ теневых копий между томом ForVolumeSpec и томом хранилища теневых копий, который задан параметром OnVolumeSpec. Теневые копии ForVolumeSpec будут сохраняться на томе OnVolumeSpec.  Максимальный размер, который сопоставление может занимать на томе хранилища теневых копий, задается параметром MaxSizeSpec.  Если для параметра MaxSizeSpec установлено значение UNBOUNDED, размер хранилища теневых копий не ограничивается. При достижении максимально возможного числа сопоставления хранилищ теневых копий отображается сообщение об ошибке.  Параметр MaxSizeSpec может задаваться в байтах или в процентном отношении к размеру тома хранилища ForVolumeSpec.  Если параметр MaxSizeSpec задан в байтах, его значение должно быть не меньше 320MB; допускается использование следующих суффиксов: KB, MB, GB, TB, PB и EB.  Также допускаются суффиксы B, K, M, G, T, P и E.

      Чтобы задать значение параметра MaxSizeSpec в процентах, используйте знак % в качестве суффикса числового значения.  Если суффикс не задан, значение MaxSizeSpec задается в байтах.

Пример использования:

CREATESHADOW - создание новой теневой копии тома.

CreateShadow /For=ForVolumeSpec [/AutoRetry=MaxRetryMinutes] - создание новой теневой копии для тома ForVolumeSpec. ForVolumeSpec должен представлять букву диска локального тома или точку подключения.  Если указан параметр MaxRetryMinutes и имеется другой процесс создания теневой копии, vssadmin будет продолжать попытки создать теневую копию в течение MaxRetryMinutes минут.

Примериспользования: vssadmin Create Shadow /For=C: /AutoRetry=2

DELETESHADOWS - удаление теневых копий тома.

Delete Shadows /For=ForVolumeSpec [/Oldest] [/Quiet]

Delete Shadows /Shadow=ShadowId [/Quiet]

Delete Shadows /All

Удаление всех соответствующих теневых копий для указанного тома ForVolumeSpec. Если указан параметр /Oldest, удаляется старейшая теневая копия на томе. Если указан параметр /All, на всех томах удаляются все теневые копии, которые можно удалить.  Если указан параметр /Shadow=ShadowId, удаляется теневая копия с заданным ID.  Могут быть удалены только теневые копии, имеющие тип ClientAccessible.

ID теневой копии можно получить с помощью команды List Shadows. Вводить ID теневой копии необходимо в следующем формате: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, где X представляет шестнадцатеричные знаки.  Этот ID можно получить с помощью команды List Shadows.

Пример использования: vssadmin Delete Shadows /For=C: /Oldest

DELETESHADOWSTORAGE - удаление ассоциации хранилищ теневых копий тома.

DeleteShadowStorage /For=ForVolumeSpec [/On=OnVolumeSpec] [/Quiet] - удаление соответствия хранилища теневых копий между томом ForVolumeSpecи томом хранилища OnVolumeSpec.  Если не указан параметр /On, будут удаленывсе соответствия хранилищ теневых копий для тома ForVolumeSpec.

Примериспользования: vssadmin Delete ShadowStorage /For=C: /On=D:

LISTPROVIDERS - список зарегистрированных поставщиков теневых копий томов.

LISTSHADOWS - список существующих теневых копий тома.

ListShadows [/For=ForVolumeSpec] [/Shadow=ShadowId|/Set=ShadowSetId] - отображение существующих теневых копий в системе.  Без параметров командаотображает все теневые копии, упорядоченные по набору теневая копий.

При создании списка допускается использование комбинаций параметров. ID теневой копии можно получить с помощью команды List Shadows. Вводить ID теневой копии необходимо в следующем формате: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, где X представляет шестнадцатеричные знаки.

Пример использования:  vssadmin List Shadows /Shadow={c5946237-af12-3f23-af80-51aadb3b20d5}

LISTSHADOWSTORAGE - список соответствия для хранилищ теневых копий томов.

ListShadowStorage [/For=ForVolumeSpec|/On=OnVolumeSpec] - отображение всех соответствий хранилищ теневых копий в системе. Чтобы получить полный список соответствий для указанного тома, следует указать параметр ForVolumeSpec без параметра /On.  Для перечисления всех соответствий на томе, следует указать OnVolumeSpec без параметра /For.

Примериспользования: vssadmin List ShadowStorage /On=C:

LISTVOLUMES - список томов, подходящих для создания теневых копий.

LISTWRITERS - список устройств записи теневых копий томов с имеющейся подпиской.

RESIZESHADOWSTORAGE - изменение размеров для соответствующих хранилищ теневых копий томов.

ResizeShadowStorage /For=ForVolumeSpec /On=OnVolumeSpec /MaxSize=MaxSizeSpec - изменение размеров сопоставления хранилища теневой копии тома между ForVolumeSpec и OnVolumeSpec. Изменение размеров хранилища может привести к исчезновению теневых копий.  По мере удаления теневых копий размер хранилища будет уменьшаться. Если для параметра MaxSizeSpec установлено значение UNBOUNDED, размер хранилища теневых копий не ограничивается. Параметр MaxSizeSpec может задаваться в байтах или в процентном отношении к размеру тома хранилища ForVolumeSpec.  Если параметр MaxSizeSpec задан в байтах, его значение должно быть не меньше 320MB; допускается использование следующих суффиксов: KB, MB, GB, TB, PB и EB.  Также допускаются суффиксы B, K, M, G, T, P и E.  Чтобы задать значение параметра MaxSizeSpec в процентах, используйте знак % в качестве суффикса числового значения.  Если суффикс не задан, значение MaxSizeSpec задается в байтах.

Примеры использования:

REVERTSHADOW - откат тома к теневой копии.

RevertShadow /Shadow=ShadowId [/ForceDismount] [/Quiet] - Откат тома к его состоянию во время создания теневой копии. Все теневые копии этого тома, созданные после этой точки, будут удалены. Все изменения файлов и папок на этом томе, сделанные после создания этой теневой копии, будут потеряны. Отмена операции отката невозможна. После запуска операции отката она не может быть прервана или отменена. Если имеются открытые дескрипторы файлов на этом томе, операция отката завершится ошибкой, если не указан флаг ForceDismount.

Пример использования: vssadmin Revert Shadow /Shadow={c5946237-af12-3f23-af80-51aadb3b20d5} /ForceDismount

QUERYREVERTS - опрос хода выполнения операций отката.

QueryReverts [/For=VolumeName] [/All] - опрос хода выполнения операций отката. Если имя тома указано с помощью флага /For, освещается ход выполнения операции отката этого тома.  Если указан флаг /All, то освещаются все выполняемые операции отката.

Примериспользования: vssadmin Query Reverts /For=E:

УТИЛИТА DISKSHADOW

Утилита командной строки DISKSHADOW это инструмент, который предоставляет функциональные возможности, предлагаемые службой теневого копирования томов (VSS). По умолчанию в Diskshadow используется интерактивный интерпретатор команд, аналогичный DiskRAID или DiskPart.

Для запуска утилиты в командной строке запущенной от имени администратора введите следующую команду, чтобы запустить интерпретатор команд – DISKSHADOW.

LISTWRITERS - выводит список всех средств записи на компьютере.

LISTSHADOWS - выводит список всех теневых копий томов на компьютере.

LISTPROVIDERS - выводит список всех поставщиков VSS на компьютере.

SET - выводит список всех текущих параметров и всех псевдонимов сценария DiskShadow, имеющихся в параметрах переменной среды.

SETCONTEXT - устанавливает контекст теневого копирования.

SETOPTION - устанавливает параметры, относящиеся к теневому копированию и автовосстановлению.

SETVERBOSE - изменяет режим подробного вывода для сценария DiskShadow.

SETMETADATA - указывает имя CAB-файла для хранения метаданных переносимых теневых копий.

SIMULATERESTORE - моделирует операцию восстановления.

LOADMETADATA - загружает документ архивных компонентов перед импортом переносимой теневой копии или выполнением операции восстановления.

IMPORT - импортирует теневые копии на основе метаданных, указанных в предыдущей команде LOAD.

WRITERVERIFY - указывает, что операция архивации или восстановления должна завершиться с ошибкой, если не включено средство записи или компонент.

WRITEREXCLUDE - исключает средство записи или компонент из архивации или восстановления.

ADD- выводит список добавленных на данный момент псевдонимов и томов.

ADDALIAS - добавляет псевдоним.

ADDVOLUME - добавляет том к набору создания теневой копии.

ADDSHADOW - Добавляет теневую копию к набору восстановления.

CREATE- создает набор теневых копий томов.

EXEC - выполняет указанный сценарий команд оболочки.

BEGINBACKUP - начинает полную архивацию.

BEGINRESTORE - начинает восстановление.

ENDBACKUP - завершает полную архивацию.

ENDRESTORE - завершает восстановление.

EXPOSE - предоставляет теневую копию.

UNEXPOSE- не предоставляет теневую копию.

REVERT - возвращает прежнее состояние теневой копии.

RESYNC- Аппаратный откат теневой копии.

BREAK - разрушает теневую копию.

MASK- скрывает от системы импортированную аппаратную теневую копию.

DELETESHADOWS - удаляет теневые копии.

RESET - сбрасывает сценарий DiskShadow в его исходное состояние.

EXIT - выполняет выход из сценария DiskShadow.

Комментарии (0)


Есть что сказать? Пишите нам ->

Новости IT рынка
08.02.2021 - Публикация файловых баз данных 1С и решение возможных проблем

Инфраструктурное обслуживание 1С - один из самых частых запросов наших клиентов. 1С является признанным лидером на российском рынке ERP/MRP систем и встречается практически в любой организации. А в свою очередь наша задача, как надёжного партнёра, по обслуживанию серверов наших клиентов, обеспечить бесперебойную работу сервера 1С, резервного копирования, публикаций баз и т.п.

19.11.2020 - Настройка мониторинга событий Dr.Web Enterprise Security Suite в системе мониторинга Zabbix

Продолжаем цикл статей по антивирусному продукту Dr.Web, сертийфицированным партнёром которого, мы являемся.

Ещё один интересный кейс одного из клиентов, который мы будем тиражировать в дальнейшем по всей нашей абонентской базе клиентов по обслуживанию серверов, использующих антиврусный продукт Dr.Web.