Volume shadow copy service что это
990x.top
Простой компьютерный блог для души)
Microsoft Volume Shadow Copy Service — что это за служба? (vssvc.exe/vssadmin)
В Windows присутствует компонент, который может использоваться сторонним софтом при создании резервных копий. Компонент имеет важное значение, позволяя копировать данные в комфортном для пользователя режиме — фоновом.
Microsoft Volume Shadow Copy Service — что это такое? (vssvc.exe)
Служба теневого копирования, необходимая для копирования открытых/системных/заблокированных файлов.
Перевод названия — Служба теневого копирования томов Microsoft.
Обычно запускается вручную. Является важной службой, впервые появилась в операционке Windows XP. Однако полноценная работа появилась только начиная с ОС Windows Server 2003.
Работает под процессом vssvc.exe, папка запуска которого:
При обнаружении другой папки, например AppData, Windows, Program Files — стоит просканировать систему антивирусными утилитами Dr.Web CureIT, Malwarebytes AdwCleaner и HitmanPro (первая против опасных вирусов например трояны/майнеры, вторые две — против рекламного/шпионского ПО).
Процесс vssvc.exe обычно не должен заметно нагружать систему или использовать много оперативки:
Процесс запускается от имени системы, из папки System32. Папку запуска можно проверить нажав правой кнопкой по процессу > выбрать пункт открыть расположение.
Некоторые моменты
Отключение
Отключать только при крайней необходимости.
Заключение
Секреты службы теневого копирования
VSS создает теневые копии по расписанию или по требованию. Использовать службу VSS в Windows 2003 и для системного восстановления Vista просто. В данной статье показано, как настроить резервные копии с использованием VSS в Windows 2003 и преобразовать базовые диски в динамические, не повредив теневые копии. В процессе применения VSS администратору могут пригодиться рекомендации, приведенные во врезке «Пять советов по VSS».
Принципы работы VSS
Служба VSS создает моментальный снимок всех файлов на томе NTFS или томе-источнике. Теневые копии хранятся в области, именуемой кэшем теневых копий. Том, на котором находится кэш теневых копий, называется томом хранения теневой копии. Кэш теневых копий, как правило, невидим для пользователей, так как находится в скрытой системной папке System Volume Information.
По умолчанию кэш теневых копий создается на томе-источнике, но можно создать его на отдельном физическом диске, чтобы повысить быстродействие и отказоустойчивость. Прежде чем активизировать службу VSS, необходимо выбрать место для хранения кэша теневых копий, так как впоследствии кэш нельзя переместить, не потеряв содержащиеся в нем моментальные снимки. Кроме того, следует учитывать, что при отключении теневых копий на томе удаляются все существующие теневые копии.
Службу VSS можно активизировать только на томах NTFS. Нельзя ввести или исключить конкретные файлы или папки — только «все или ничего». Данные на смонтированных томах не включаются в теневую копию на родительском томе. Однако можно разрешить теневые копии на самих монтированных томах. В теневых копиях сохраняются как шифрование, так и разрешения NTFS, что может привести к проблемам при восстановлении файла.
Активизация VSS
Чтобы активизировать службу VSS, следует выбрать My Computer, затем щелкнуть правой кнопкой мыши на томе, на котором предстоит включить VSS, и выбрать пункт Properties. На странице Properties требуется щелкнуть на вкладке Shadow Copies. Если это уже сделано, необходимо решить, нужно ли сохранить кэш теневых копий на другом томе другого диска.
Затем выделите том-источник и щелкните на кнопке Settings. В диалоговом окне Settings можно выбрать другой том для хранения теневой копии, как показано на экране 1. Можно изменить размер области хранения и расписание (щелкнув на кнопке Schedule), если не подходит готовое расписание. По умолчанию моментальные снимки формируются с понедельника до пятницы в 7 часов утра и в полдень. Моментальные снимки следует создавать по необходимости, делать это каждый час не нужно.
Завершив настройку параметров, щелкните на кнопке OK. На странице Properties требуется щелкнуть на кнопке Enable, чтобы активизировать теневые копии на данном томе. Последует запрос об использовании расписания и настроек по умолчанию; необходимо принять это предложение и щелкнуть на кнопке Yes, а затем вновь на кнопке OK.
Сторонникам утилит командной строки полезно освоить настройку VSS с использованием Vssadmin и Schtasks вместо графического интерфейса. С помощью Vssadmin можно создавать, удалять и изменять размеры теневых копий, наряду с другими операциями. Schtasks применяется для создания, редактирования и удаления назначенных задач.
Требования к дисковому пространству. При активизации VSS немедленно выделяется 100 Мбайт пространства на диске, и VSS может занимать до 10% размера жесткого диска. В моментальных снимках отражаются только изменения по сравнению с предшествующим моментальным снимком, поэтому для их хранения требуется меньше места, чем может показаться на первый взгляд. Однако в кэше теневых копий может храниться только 64 копии. Если не хватит дискового пространства или будет создан 65-й моментальный снимок, то самый старый моментальный снимок удаляется, чтобы освободить место для нового. Из-за избыточности при создании моментальных снимков рекомендуется активизировать VSS только на томах, на которых хранятся пользовательские данные или есть возможность архивировать открытые файлы.
Использование теневых копий Windows 2003
Чтобы обеспечить доступ клиентских компьютеров к предыдущим версиям файлов, необходимо приложение Previous Versions Client, поставляемое вместе с Vista и Windows 2003. Previous Versions Client можно установить и на Windows XP Professional SP1 (файл twcli32.msi находится в папке %Windir%\System32\Clients\Twclient\X86 на компакт-диске Windows 2003), и на Windows 2000 (нужно загрузить соответствующую версию из Web-узла Microsoft ). Чтобы установить клиентскую программу на компьютеры пользователей, следует дважды щелкнуть на файле для запуска установки либо развернуть его через групповую политику или Microsoft Systems Management Server (SMS).
Теневые копии предназначены для использования с Common Internet File System (CIFS), расширенным вариантом протокола Server Message Block, поэтому для доступа к предшествующим версиям файла или папки на сервере нужно подключаться через общую папку. Даже после регистрации на сервере необходимо использовать путь Universal Naming Convention (UNC). Например, для доступа к старым версиям файла на сервере с именем UptownDC в общей папке Sales требуется щелкнуть на кнопке Start, выбрать пункт Run и ввести команду
Щелкните на кнопке OK, а затем правой кнопкой мыши на нужном файле и выберите пункт Properties. На вкладке Previous Versions перечислены моментальные снимки и показаны дата и время их создания (см. экран 2). Здесь представлены три варианта действий: View, Copy и Restore. В режиме View копия файла открывается только для чтения; это удобно для выбора нужной копии. В режиме Restore документ, его разрешения NTFS и параметры шифрования восстанавливаются в первоначальном месте, а текущая версия перезаписывается. Более безопасный вариант — Copy, при котором файл копируется в новое место.
Если нужно восстановить удаленный файл, то очевидно, что нельзя щелкнуть правой кнопкой мыши на файле в общей папке и выбрать его свойства. В этом случае необходимо перейти на уровень папки. Вместо UNC-пути \\Uptowndc\Sales подключение выполняется к административному ресурсу диска C (на котором размещается папка Sales): \\Uptowndc\C$. Щелкните правой кнопкой мыши на папке Sales, выберите пункт Properties и щелкните на соответствующей кнопке, чтобы просмотреть, копировать или восстановить все содержимое папки. Если нужен лишь один файл, следует скопировать папку в новое место, затем щелкнуть правой кнопкой мыши на файле и работать с предыдущими версиями этого файла.
Vista и теневые копии
Vista — первая настольная операционная система со встроенными функциями теневых копий. Теневые копии Vista — часть механизма восстановления системы; они называются точками восстановления. По умолчанию точки восстановления активизируются для тома C, и теневые копии файлов создаются ежедневно, если на томе есть хотя бы 300 Мбайт свободного пространства.
Заранее планируемая задача SR создает точки восстановления и активизируется только в том случае, если компьютер бездействовал не менее 10 минут и питается от сети переменного тока. Если по какой-то причине задача SR не запущена в назначенное время, она будет выполнена при первой возможности. Можно назначить точки восстановления и для других томов. Vista отводит до 15% пространства на жестком диске для хранения точек восстановления.
Чтобы настроить точки восстановления и управлять ими, щелкните Start, а затем щелкните правой кнопкой мыши Computer и выберите пункт Properties. В меню Tasks следует перейти к пункту System protection. Для доступа к System protection необходимы административные полномочия, поэтому при запросе от механизма контроля учетных записей щелкните на кнопке Continue.
На вкладке System Protection страницы System Properties (экран 3) можно вручную создать одноразовую точку восстановления: выберите том и щелкните Create, дайте имя точке восстановления и вновь щелкните Create. Процесс может занять несколько минут, в зависимости от размера тома, но после его завершения выдается подтверждение об успешном выполнении. Если создание точек восстановления для тома автоматизировано, Vista создает новую точку восстановления для тома каждый день и при запуске системы.
Доступ к предыдущим версиям файлов и папок в Vista происходит так же, как при доступе через общую папку Windows 2003 с клиента с установленным приложением Previous Versions Client. Но пользователи Vista могут обращаться к прошлым версиям файлов и папок локально. Достаточно открыть Windows Explorer, щелкнуть правой кнопкой мыши на файле или папке, выбрать пункт Properties, а затем щелкнуть на вкладке Previous Versions (экран 4). Варианты такие же, как у прошлых версий Previous Versions Client, и функционируют они аналогичным образом.
VSS и сети хранения данных
Еще одно важное достоинство VSS в Windows Server 2003 Enterprise Edition и Datacenter Edition — возможность быстро и просто копировать и перемещать данные в сети хранения данных SAN. VSS может создать теневую копию тома размером в несколько терабайтов, которую можно экспортировать из SAN и импортировать на сервер всего за несколько минут, очень быстро перемещая большие массивы данных. Каждый производитель систем хранения данных по-разному реализует эту функцию, поэтому за подробной информацией следует обратиться к поставщику.
Настройка конфигурации VSS
Выяснить размер кластеров тома можно с помощью команды Fsutil. Например, чтобы узнать размер кластера тома C, введите команду
Если размер кластера менее 16 Кбайт и его нужно увеличить, необходимо сделать резервную копию данных, переформатировать том, указав больший размер кластера, а затем восстановить данные. Следует учесть, что механизм сжатия файлов в NTFS действует лишь в отношении кластеров размером 4 Кбайт, поэтому приходится выбирать между сжатием и VSS.
Взаимодействие NTBackup и VSS
В прошлом файл, открытый или блокированный службой либо приложением во время архивации, не копировался, что приводило к проблемам, если администраторам требовалось восстановить его. Согласованность данных чрезвычайно важна при работе с приложениями, одновременно открывающими много файлов, такими как базы данных. Если во время архивации открыто много файлов, велика вероятность, что за время между копированием первого и последнего файла в последнем файле произошли изменения. В этом случае данные в восстановленной базе оказываются рассогласованными.
Утилита резервного копирования Windows 2003, NTBackup, использует VSS, чтобы обеспечить полноту и согласованность архивных копий. VSS взаимодействует с компонентом записи приложения, связанного с файлом. Компонент записи защищает данные приложения и предоставляет информацию, в частности, о местонахождении данных и методах архивации и восстановления. Приложения без компонента записи не могут взаимодействовать со службой VSS. В худшем случае администратор может попытаться восстановить важный файл и обнаружить, что его нет вообще: он никогда не архивировался, так как приложение не может взаимодействовать с VSS. В Windows 2003 существуют компоненты записи для AD и NTFS. Чтобы отыскать все доступные компоненты записи на сервере, нужно ввести команду
При запуске NTBackup в Windows 2003 утилита требует ввести список всех компонентов записи, известных VSS. Служба VSS не только перечисляет компоненты записи, но и предоставляет все известные метаданные о них, в том числе методы архивации и восстановления, применяемые в компоненте записи. VSS использует метаданные, чтобы определить, какие приложения поддерживают теневые копии. Если NTBackup направляет в службу VSS запрос на создание теневой копии, то VSS посылает известным компонентам записи сообщение о необходимости заморозить все операции записи данных, создать теневую копию и сохранить ее в разностном файле. Разностный файл отслеживает изменения со времени создания последней теневой копии. Резервное копирование выполняется с использованием данных из разностного файла.
Мониторинг функционирования VSS
С помощью утилиты Volperf (с ключом /install) из набора ресурсов Microsoft Windows Server 2003 Resource Kit можно дополнить системный монитор объектами теневого копирования и следующими счетчиками:
• % Disk Used by Diff Area File: процент пространства на диске, используемого всеми разностными файлами тома;
• Allocated Space (MB): пространство памяти (Мбайт), выделенное для конкретного тома;
• Maximum Space (MB): максимальное пространство (Мбайт), выделенное для тома хранения теневой копии;
• Nb of Diff Area Files: число разностных файлов;
• Nb of Shadow Copies: число теневых копий в кэше теневых копий;
• Size of Diff Area Files: общий размер разностных файлов для выбранного тома;
• Used Space (MB): величина пространства (Мбайт), использованного в томе хранения теневой копии
Преобразование базового диска в динамический и служба VSS
Иногда полезно добавить лишний аппаратный уровень отказоустойчивости, создав зеркальный набор. Зеркальные наборы можно строить только на динамических дисках, поэтому базовый диск необходимо преобразовать в динамический. В документации утверждается, что преобразование дисков из базовых в динамические не приводит к потере данных. Однако в документации ничего не говорится о том, что при неверном преобразовании могут быть удалены существующие теневые копии. Если том-источник и кэш теневых копий расположены на разных томах, то преобразование может оказаться сложной задачей. Дополнительные сведения о различиях между базовым и динамическим дисками описаны в статье «Диски для серверов Windows — базового или динамического типа», опубликованной в Windows IT Pro/RE № 1 за 2003 г.
Выбор процедуры для преобразования VSS-совместимого базового диска в динамический зависит от местонахождения кэша теневых копий на загрузочном томе.
Сценарий 1 — кэш теневых копий расположен не на загрузочном томе. Если кэш теневых копий находится не на загрузочном томе, то необходимо сначала размонтировать том-источник (том, для которого сделан моментальный снимок) с помощью утилиты командной строки Mountvol с параметром /P (/P демонтирует том). Затем следует преобразовать том, содержащий кэш теневых копий, в динамический том. С этого момента начинается отсчет времени: у администратора есть лишь 20 минут, чтобы смонтировать том-источник с использованием утилиты Mountvol или оснастки Disk Management консоли управления MMC. Если том-источник не будет смонтирован за 20 минут, то все теневые копии будут утеряны. Наконец, верните том-источник в оперативный режим и преобразуйте его в динамический том.
Сценарий 2 — кэш теневых копий размещен на загрузочном томе. Если кэш теневых копий находится на загрузочном томе, достаточно просто преобразовать том, содержащий кэш теневых копий, в динамический. Предварительно демонтировать его необязательно. Затем дважды перезагрузите сервер и преобразуйте том-источник в динамический том.
Выгодно конечному пользователю — выгодно администратору
Приятно, что компания Microsoft выпускает новые инструменты для восстановления работоспособности настольной операционной системы и для ИТ-специалистов, и для конечных пользователей. Чем меньше резервных магнитных лент приходится загружать администратору, тем проще ему работать, и точки восстановления Vista — шаг в правильном направлении. Кроме того, благодаря VSS у пользователей появляется возможность управлять процессом восстановления файлов. Но тщательное планирование и управление — обязательное условие полной реализации преимуществ службы VSS.
Пять советов по VSS
При реализации VSS или подготовке точек восстановления Vista рекомендуется делать следующее:
1. Прежде чем активизировать точки восстановления VSS, выберите место хранения теневых копий. Помните, что впоследствии переместить их нельзя.
2. Размещение VSS на системном или загрузочном томе — неудачное решение. Файлы операционной системы часто изменяются, поэтому число теневых копий на загрузочном томе обычно бывает большим.
3. Оптимальный размер кластера для VSS — 16 Кбайт.
4. При хранении кэша теневых копий на физическом диске, отличном от диска-источника, повышается быстродействие и отказоустойчивость.
5. Ни VSS, ни точки восстановления не могут заменить полноценное решение резервного копирования.
Служба теневого копирования томов
Назначение
Служба теневого копирования томов (VSS) — это набор COM-интерфейсов, который реализует платформу, позволяющую выполнять резервное копирование томов, пока приложения в системе продолжают записывать данные на тома.
Общие сведения о службе VSS для системных администраторов см. в разделе Служба теневого копирования томов в библиотеке TechNet.
Требования к среде выполнения
служба VSS поддерживается в Microsoft Windows XP и более поздних версиях. Сведения о требованиях времени выполнения для определенного программного элемента см. в разделе «требования» документации для этого элемента.
Все 32-разрядные приложения VSS (инициаторы запросов, поставщики и модули записи) должны выполняться как собственные 32-разрядные или 64-разрядные приложения. Их запуск в эмуляторе WOW64 не поддерживается. Дополнительные сведения см. в разделе Поддерживаемые конфигурации и ограничения.
Windows Server 2003 и Windows XP: Запуск 32-разрядов запросов VSS в эмуляторе WOW64 поддерживается, но не для резервных копий состояния системы. Запуск 32-разрядных поставщиков VSS и модулей записи в эмуляторе WOW64 не поддерживается. поддержка запуска 32-разрядных запросов в подсистеме WOW64 была удалена в Windows Vista и последующих версиях.
теневую копию, созданную на Windows server 2003 r2 или Windows server 2003, нельзя использовать на компьютере, на котором работает Windows server 2008 R2 или Windows server 2008. теневую копию, созданную на Windows server 2008 R2 или Windows server 2008, нельзя использовать на компьютере, на котором работает Windows Server 2003. однако теневую копию, созданную на Windows server 2008, можно использовать на компьютере, на котором работает Windows Server 2008 R2, и наоборот.
Теневые копии и наборы теневых копий
Теневая копия — это моментальный снимок тома, который дублирует все данные, удерживаемые на этом томе, в один четко определенный момент времени. VSS определяет каждую теневую копию по постоянному идентификатору GUID.
Набор теневых копий — это набор теневых копий различных томов, которые выполняются одновременно. VSS идентифицирует каждый набор теневых копий с помощью постоянного идентификатора GUID.
Как конкретный поставщик оборудования или программного обеспечения выбирает для реализации теневых копий по своему усмотрению. После создания теневой копии в системе доступны два образа тома, скопированного с помощью теневого копирования: исходный том, к которому можно обращаться по соглашению. и скопированные данные, к которым можно получить доступ через API VSS.
Это позволяет выполнять два набора действий одновременно:
Теневые копии не должны быть реализованы одинаковым образом для каждого файла, каталога или тома. Различные реализации механизма теневого копирования (поставщиков) могут использовать разные подходы к созданию теневой копии. Однако для всех приложений, использующих API VSS, все теневые копии должны отображаться одинаково.
сведения о реализации поставщика Windows по умолчанию см. в разделе поставщик системы.
Состояние теневой копии по умолчанию
Несмотря на то, что файловая система очищает все буферы ввода-вывода перед созданием теневой копии, это не обеспечит надлежащей обработке незавершенных операций ввода-вывода.
Таким образом, предполагая, что в системе нет приложений с поддержкой VSS, данные в теневой копии говорят о том, что они находятся в состоянии сбоя. Теневая копия в состоянии с состоянием отказоустойчивости содержит образ диска, аналогичный тому, который существовал после аварийного завершения работы системы. Все открытые файлы по-прежнему будут существовать на томе, но они не гарантируют освобождения незавершенных операций ввода-вывода или повреждения данных.
В то время как отказоустойчивое состояние не полностью связано со всеми проблемами, связанными с определением стабильного резервного набора данных (см. раздел Общие проблемы резервного копирования томов), у него есть несколько преимуществ по сравнению с резервным набором данных, которые должны использоваться для выполнения стандартных операций резервного копирования.
Приложения в системе, не поддерживающие VSS, — текстовые редакторы и т. д., скорее всего, будут оставаться в состоянии сбоя. Однако приложения, поддерживающие VSS (модули записи), могут координировать свои действия, чтобы состояние их файлов в теневой копии было четко определено и согласовано.
Замораживание и размораживание теневого копирования
Наличие событий заморозки и разморозки в рамках модели VSS означает:
VSS для самых маленьких
А, собственно, что с ним за проблема? Вот есть документация, где вполне адекватно и красиво описано, как всё работает. Есть утилита vssadmin, позволяющая вполне годно создавать и удалять снапшоты. Что не так-то, и где сложности?
Но проблема в том, что более лучшая документация, намного правильнее отражающая происходящие процессы, несколько сложна для понимания. Microsoft вообще написал по этой теме какое-то неслыханное количество документов. Но даже когда вам как-то удаётся выстроить в голове работу этого алгоритма, вы сразу сталкиваетесь с тем, что на практике многие вещи работают совершенно не так, как описаны. Или вообще не работают. А что-то не описано совсем, хотя этому мы уже давно не удивляемся. Но не хвататься же сразу за дебагер и дизассемблер, да?
Вот поэтому и захотелось немного поговорить о том, как же на самом деле работает VSS. И да, строго говоря, результатом работы VSS является созданная shadow copy. Но дабы не ломать язык и не мучить вас транслитом, давайте просто писать снапшот.
Какова роль VSS
Не сомневаюсь, что 90% читающих прекрасно понимают, зачем нужны снапшоты, но ради оставшихся 10% потерпите несколько предложений. Или сразу идите в следующий раздел.
Итак, все кто остался, давайте представим, что есть у нас некий диск, на котором находятся файлы, с которыми кто-то работает и как-то их изменяет. Изменения эти накапливаются, а иногда очень хочется иметь возможность взять и вернуться во времени назад. И желательно откатывать изменения не для всего диска, а только для выбранных папок и файлов. Для этого и был придуман механизм теневых копий.
Где найти VSS
Обнаружить следы VSS можно двумя классическими способами: через GUI или в консоли. В зависимости от конкретной версии системы пути могут немного отличаться, но суть будет одинакова. Итак, есть у меня в лабе Windows Server 2019, и если сделать ПКМ на любом диске в проводнике, мы увидим два пункта: Configure Shadow Copies и Restore previous versions.
После того, как вы всё настроите на свой вкус, появляется смысл в пункте Restore previous versions. Чисто технически туда и до этого можно было зайти, однако внутри, скорее всего, будет только гнетущая пустота.
И запоминаем самое важное: это две разные утилиты, существующие в разных контекстах. Теневая копия, сделанная в одной утилите, будет видна другой, однако статус у неё будет неоперабельный.
Вот отличный пример: мы создали снимок в diskshadow и пытаемся удалить его с помощью vssadmin. Сам снимок мы видим, но он не в нашем контексте, поэтому сорян, у нас нет здесь власти.
Технически ничего не мешает одновременно делать снимки с помощью vssadmin и diskshadow. Хотя есть вероятность, что получите сообщение типа Another shadow copy is in progress. Но это так, к слову пришлось. Не надо пытаться одновременно делать несколько снапшотов разными программами.
Как появился VSS
Хорошо, но как избежать подобных приключений? Отличным вариантом будет подождать, пока SQL сервер допишет свою транзакцию, пометит её как завершённую, и потом мы быстренько заберём все появившиеся новые блоки. Отличный вариант, который надо срочно реализовывать! Вот только есть небольшая проблема: до этого мы говорили про одно приложение и один файл, с которым оно работает. Научиться общаться с условным SQL Server много ума не надо, но что делать с остальными миллиардами существующих приложений? А что делать, в конце концов, с самой ОС, у которой внутри огромное количество своих процессов и открытых файлов? Вот примерно с такими проблемами и столкнулись учёные мужи из Microsoft, когда пришли к выводу, что надо реализовать некий общий интерфейс, через который можно будет сразу всем прокричать нечто вроде: “Сейчас мы будем делать снапшот, так что быстренько сворачиваемся и сбрасываем буфера на диск! Приостанавливайте свою кипучую деятельность и приводите данные в консистентный вид!”. Ну а назвать эту штуку они решили, как вы уже догадались, Volume Snapshot Service. Или просто VSS.
Как устроен VSS
Чтобы не прыгать с места в карьер громады страшных терминов и процессов, начнём с высокоуровневого описания. Поэтому ограничимся таким списком компонентов:
VSS Writer. В кириллическом простонародье известен как просто райтер, поэтому так и будем его называть в дальнейшем, вызывая праведный гнев ненавистников англицизмов.
Райтер занимается тем, что выстраивает мостик взаимодействия между VSS подсистемой и конкретным приложением. Поэтому а) в любой системе их будет достаточно много (проверьте у себя с помощью vssadmin list writers) б) райтер всегда пишется поставщиком приложения, ибо кроме него никто не знает, что там и как должно происходить во время создания снапшота.
Соответственно, райтер по своей сути выполняет роль “регулировщика”: сначала он говорит приложению подготовиться к снапшоту, затем даёт отмашку VSS сервису делать снапшот. Или не даёт, если приложение не смогло за установленный промежуток времени подготовить свои файлы.
VSS Provider. Тот самый парень, который занимается созданием и управлением снапшотами. Известен тем, что бывает софтовый или хардовый. Список установленных в системе провайдеров можно посмотреть с помощью команды vssadmin list providers. По дефолту, с системой идет Microsoft Software Shadow Copy provider. Он даже отлично и замечательно работает, но до тех пор, пока вы не подключите к системе брендовую СХД. Хорошие вендоры всегда снабжают свои железки управляющим софтом, в составе которого находится и родной провайдер к этой железяке. Благодаря этому можно уже делать всякие хитрые трюки, которые реализованы в вашем оборудовании, и именно поэтому мы в Veeam так гордимся списком интеграций с железом.
Как в итоге всё выглядит на самом высоком уровне: реквестор стучится в Volume Shadow Copy сервис, тот отдаёт команду райтерам предупредить приложения о надвигающемся снапшоте, райтеры рапортуют об успехе, а сервис отдаёт команду провайдерам делать снапшоты. О результатах докладывается реквестору.
Но что дальше происходит с данными? Если мы действительно используем какое-то приложение для бекапов, которое запустило весь этот процесс, дождалось его завершения и скачало данные в своё хранилище, то снимок можно просто удалить одной командой. Поскольку VSS пропагандирует CoW подход, то речь здесь действительно о банальном удалении нашей аллоцированной зоны, ведь все новые данные сразу пишутся на оригинальный диск. Это называется non-persistent shadow copy, и она не имеет никакого смысла без оригинального диска.
Чтобы пройти этот путь вручную, достаточно открыть консоль и набрать:
Здесь мы видим, что успешно создался снапшот со своим Shadow copy ID, и для удобства ему сразу присвоили алиас VSS_SHADOW_1. Этими данными вполне можно оперировать, если возникает такое желание. Однако не будем уходить в сторону и попробуем прочитать содержимое этого снимка. Для чего подмонтируем его в качестве диска.
И начинаем всё заново, только теперь укажем, что нам нужна персистентная копия, чтобы мы могли использовать её как полноценный диск.
Как мы видим: Attributes: No_Auto_Release Persistent Differential. Поэтому если теперь вы сделаете expose, то снапшот примаунтится как полноценный диск, по которому можно перемещаться и копировать с него файлы. Диск, само собой, виртуальный и состоит из блоков оригинального диска, плюс блоки изменившихся данных, читая которые, мы можем видеть состояние оригинального диска на момент снапшота. Всё просто.
Что тут хочется ещё сказать, а вернее, спросить: если всё так просто, то почему же я говорю, что всё так сложно? Проблема в том, что, отдавая на боевом сервере команду vssadmin create shadow, мы, конечно, создаём какой-то снимок, но как себя будут чувствовать приложения после отката на этот снимок, мы предсказать не можем. Это не шутка: команда create признаёт наличие ошибок при выполнении как вариант нормы. Райтер не вернул вовремя Ок от приложения? Да кому это надо, го делать снапшот, я создал.
Как лечить VSS
И что же делать, если VSS падает, в ивентах ничего нет, а понять, что происходит надо? Тут я могу порекомендовать три хороших статьи:
КВ от Veeam, посвящённое анализу поведения VSS с помощью diskshadow.
Другое KB от Veeam, посвящённое сбору информации с помощью vsstrace из Windows SDK. Но скажу сразу, это уже не для слабых духом.
И видео от моего коллеги, где он наглядно показывает, как работать с информацией из первых двух пунктов =) Рассказывает он действительно хорошо, но с непривычки голова у вас от объёма информации заболит, это я вам обещаю.
Также в гугле можно найти массу толковых советов по поводу приведения VSS в чувства, только рекомендую не бросаться на первый попавшийся случай, а постараться найти наиболее похожий именно на вашу проблему. По коду ошибки, например. Потому что слишком много возможных комбинаций ошибок, приложений и причин их возникновения.
А на сегодня всё. Я и так хотел кратенько, но получилось больше десяти страниц текста. Поэтому самое время закругляться. Если хочется раскрытия какой-то другой темы или углубиться в детали VSS, то обязательно пишите об этом в комментариях.
- Как копировать в паинте фигуры
- Актовегин или мексидол что лучше при нарушении кровообращения