Теневая копия диска windows 10

Настройка теневого копирования тома на Windows 10, как включить и отключить

ПК на базе операционной системы Виндовс 10 обладают широким набором функций. Их главная задача – оптимизировать рабочий процесс. Однако далеко не все пользователи подозревают о существовании такой полезной опции, как теневое копирование тома на компьютере с Windows 10. Из ее названия не очень понятно, для чего может понадобиться такая функция. Поэтому важно разобраться в принципе работы теневого копирования, а также в способах его включения и выключения.

Что это за опция

Для ответа на этот вопрос необходимо дать определение каждому слову из сочетания «теневое копирование тома», исходя из особенностей Windows 10. Под словом «том» подразумевается раздел жесткого диска. Что собой представляет «копирование», пожалуй, знают все, а «теневым» оно становится только из-за того, что операция протекает в фоне.

screenshot_1

Таким образом, теневое копирование тома – это функция скрытого копирования определенного раздела жесткого диска, включая отдельные файлы и приложения. Получается некое подобие резервной копии, которую можно восстановить в любой удобный момент.

Как она работает?

Теневое копирование функционирует в рамках активации одноименной службы компьютера. Она создает невидимую область внутри накопителя, которая используется для временного хранения копии. Как правило, для бэкапа отводится 3 % пространства жесткого диска.

screenshot_2

На заметку. Для стабильной работы компьютера требуется, по меньшей мере, 10-15 % свободного пространства. Поэтому функция ТК нередко доставляет неудобства при эксплуатации устройства.

Настоящую пользу данный вид копирования приносит в тот момент, когда пользователь пытается восстановить файлы после отката операционной системы. Без рассматриваемой опции сделать это не получится. Кроме того, теневое копирование выручает и в более банальных ситуациях. Например, когда человек работает в программе, функционирование которой резко прервалось из-за системного сбоя.

screenshot_3

Насколько целесообразно держать службу активной?

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

При резервировании больших массивов у компьютера не останется места для сохранения других важных файлов. А еще ПК с недостаточным количеством свободной памяти работает медленнее и чаще подвержен возникновению системных сбоев. Другое дело – если накопитель компьютера не задействован на 100 %. В таком случае копирование отдельных томов не вызовет никаких неудобств, и для них можно выставить соответствующие ограничения.

screenshot_4

Как включить теневое копирование тома в Windows 10

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

Меню «Свойства системы»

Пожалуй, это самый простой способ. Он подразумевает использование стандартного интерфейса Windows 10, а операция выполняется по следующей инструкции:

  • Запустите «Параметры» через меню «Пуск».

screenshot_5

  • Перейдите в раздел «Система».

screenshot_6

  • Откройте вкладку «О системе».

screenshot_7

  • Выберите «Сведения о системе».

screenshot_8

  • Кликните по надписи «Защита системы», расположенной в левой части окна.

screenshot_9

  • Нажмите кнопку «Настроить».

screenshot_10

  • Отметьте пункт «Включить защиту системы».

screenshot_11

  • При помощи ползунка, который находится ниже, выделите необходимое количество свободного пространства для резервирования.
  • Вернитесь на шаг назад, а затем нажмите кнопку «Создать».

screenshot_12

  • Присвойте имя точке восстановления, после чего еще раз кликните «Создать».

screenshot_13

Для проверки удачного создания теневого тома достаточно изменить любой файл, сохраненный на выделенном диске, а затем открыть его «Свойства». Во вкладке «Предыдущие версии» отобразится бэкап данных, которые будут использоваться для восстановления.

Командная строка

Еще один вариант, позволяющий вручную активировать функцию. На этот раз пользователю придется обратиться к интерфейсу Командной строки. Найти его можно через поисковую строку компьютера или путем ввода запроса «cmd» из окна «Выполнить» («Win + R»).

screenshot_14

Оказавшись в КС, сделайте следующее:

  • Введите команду «wmic shadowcopy call create Volume=C:», где вместо буквы «C» используется метка резервируемого тома.

screenshot_15

  • Нажмите клавишу «Enter».
  • Как только в Командной строке появится сообщение «Метод успешно вызван», необходимо перейти в «Свойства» диска и открыть вкладку «Предыдущие версии».
  • Убедитесь, что новая копия успешно создана.

screenshot_16

Зачастую этот способ является даже более предпочтительным в сравнении с предыдущим, поскольку на его выполнение требуется меньше времени. Однако при использовании КС всегда велик риск ввести неправильный запрос, особенно когда копированием занимается неопытный пользователь.

Автоматизация теневого копирования

Предыдущие методы хороши тем, что позволяют владельцу ПК самостоятельно настроить резервирование данных. Однако системный сбой, после которого требуется восстановление параметров, может произойти в самый неподходящий момент. Поэтому важно также знать, как автоматизировать процесс.

Для автоматизации копирования потребуется:

  • Запустить «Панель управления», воспользовавшись поисковой строкой ПК.

screenshot_17

  • Перейти в раздел «Администрирование».

screenshot_18

  • Выбрать «Планировщик заданий».

screenshot_19

  • Кликнуть по надписи «Создать простую задачу» в блоке с доступными действиями.

screenshot_20

  • Придумать имя, а затем нажать «Далее».

screenshot_21

  • Установить периодичность (ежедневно, еженедельно и так далее).

screenshot_22

  • Отметить пункт «Запустить программу».

screenshot_23

  • Указать значение «wmic» в подпункте «Программа или сценарий», а также «shadowcopy call create Volume=c:\» для пункта «Добавить аргументы».

screenshot_24

  • Отметить галочкой опцию открытия окна «Свойства».

screenshot_25

  • Подтвердить создание задачи.
  • В следующем окне отметить пункт «Выполнять с наивысшими правами».

screenshot_26

  • Сохранить изменения.

Теперь фоновое копирование будет осуществляться самостоятельно в заданный промежуток времени. Проверить работоспособность метода также можно через «Свойства» диска или конкретного файла, сохраненного в его рамках.

Отключение теневого копирования

В любой момент пользователь может отключить резервирование или удалить созданную ранее копию. Для этого достаточно перейти в «Защиту системы», как в первом способе создания теневого тома. Далее необходимо нажать кнопку «Настроить» возле интересующего раздела диска, а затем кликнуть «Удалить» и сохранить изменения.

К сведению. Для отключения автоматического резервирования нужно просто удалить задачу, созданную ранее через «Планировщик заданий».

screenshot_27

Что делать в случае ошибок

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

Также ошибки могут быть связаны с переполнением пространства, отведенного под создание бэкапов. Проблема решается путем удаления всех ранее сохраненных копий при помощи метода, описанного в пункте «Отключение теневого копирования».

screenshot_28

Наконец, если создать бэкап встроенными средствами не получится, для экономии времени можно воспользоваться сторонним ПО. Например, утилитой CCleaner, обладающей нужным функционалом для создания теневых томов.



Снятие снапшота — именно с этого начинается любой бекап. До тех пор, пока мы не знаем, как сбросить все буфера на диск и привести файлы с данными в консистентное состояние, мы не бекапы делаем, а занимаемся копированием файлов с непредсказуемым содержимым внутри. Понимая важность снапшотов, все вендоры стараются дать нам если не полностью готовую функцию (типа Time Mashine в MacOS), то хотя бы набор ручек, за которые можно подёргать (вроде модуля dm-snap в ядре Linux). 

Но сегодня речь пойдёт про самую распространённую ОС — Microsoft Windows, где эта задача решается с помощью Volume Shadow Copy сервиса, известного в народе под аббревиатурой VSS (Volume Snapshot Service). А нашего внимания он удостоился из-за того, что, несмотря на всю популярность своего материнского корабля, сам он окутан вуалью из тайн и мистических слухов. Давайте уже как-то разберёмся с этой штукой.

А, собственно, что с ним за проблема? Вот есть документация, где вполне адекватно и красиво описано, как всё работает. Есть утилита vssadmin, позволяющая вполне годно создавать и удалять снапшоты. Что не так-то, и где сложности?

Но проблема в том, что более лучшая документация, намного правильнее отражающая происходящие процессы, несколько сложна для понимания. Microsoft вообще написал по этой теме какое-то неслыханное количество документов. Но даже когда вам как-то удаётся выстроить в голове работу этого алгоритма, вы сразу сталкиваетесь с тем, что на практике многие вещи работают совершенно не так, как описаны. Или вообще не работают. А что-то не описано совсем, хотя этому мы уже давно не удивляемся. Но не хвататься же сразу за дебагер и дизассемблер, да?

Хотя упомянутый выше vssadmin как-то вроде и работает, и снапшоты даже делает, и вообще молодец. Но это всё до того момента, пока ты не начинаешь вникать в тонкости, где может выясниться, что репорт об успешно созданном снапшоте — это репорт о чём угодно, только не об успешно созданном снапшоте.

Вот поэтому и захотелось немного поговорить о том, как же на самом деле работает VSS. И да, строго говоря, результатом работы VSS является созданная shadow copy. Но дабы не ломать язык и не мучить вас транслитом, давайте просто писать снапшот.

Какова роль VSS

Не сомневаюсь, что 90% читающих прекрасно понимают, зачем нужны снапшоты, но ради оставшихся 10% потерпите несколько предложений. Или сразу идите в следующий раздел.

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

Сами снапшоты ничего не знают про ваши файлы и папки. Они работают на уровень ниже файловой системы — с блочными устройствами и блоками данных. Если придерживаться терминологи Microsoft, то снапшот — это место, именуемое Shadow Storage, куда записываются изменённые блоки данных и откуда их можно извлекать с целью переписать данные на оригинальном диске. Тут можно запомнить для себя два нюанса. Первый — только что сделанный спапшот занимает ровно ноль байт. Это просто пре-алоцированное место, куда файловая система может копировать измененные блоки (или наоборот, новые блоки, но не суть).  И второй — теневая копия суть есть дифференциальный бекап. Все данные, которые вы изменили, не удаляются, а отправляются на хранение в этой зоне.

Где найти VSS

Обнаружить следы VSS можно двумя классическими способами: через GUI или в консоли. В зависимости от конкретной версии системы пути могут немного отличаться, но суть будет одинакова. Итак, есть у меня в лабе Windows Server 2019, и если сделать ПКМ на любом диске в проводнике, мы увидим два пункта: Configure Shadow Copies и Restore previous versions.

Если зайти в мастер настроек, то можно включить создание теневых копий для любого диска, задать расписание, по которому они будут создаваться и, что самое интересное, указать место хранения этих копий. Строго говоря, даже не самих копий, а так называемой diff area — места, куда сбрасываются перезаписанные на оригинальном томе сектора. То есть мы запускаем создание снапшота одного диска, а его данные физически храним на другом. Функция архиполезная и позволяет не просто снижать нагрузку на конкретном диске, но и делать фокусы а-ля снимаем снапшот одной ноды в кластере и цепляем его к другой.

После того, как вы всё настроите на свой вкус, появляется смысл в пункте Restore previous versions. Чисто технически туда и до этого можно было зайти, однако внутри, скорее всего, будет только гнетущая пустота. 

Но всё это баловство с графическим интерфейсом, и как мы знаем, до добра это не доводит, поэтому открываем powershell (или даже cmd, почему нет) — и там у нас имеется два варианта из коробки: vssadmin и diskshadow. Первая утилита есть практически на любой системе, начиная с WinXP/Win2003. Нет её только на Windows 8. По какой-то таинственной причине из “восьмёрки” вырезали инструменты управления теневыми копиями, но потом осознали свою неправоту и вернули всё на место. А вот diskshadow доступен только на серверных вариантах Windows. Это уже более продвинутый вариант vssadmin, позволяющий работать не только в интерактивном режиме, но и выполнять целые скрипты, написанные на понятном этому интерпретатору языке. Да и просто это более адекватный и поддающийся контролю инструмент.

И запоминаем самое важное: это две разные утилиты, существующие в разных контекстах. Теневая копия, сделанная в одной утилите, будет видна другой, однако статус у неё будет неоперабельный.

Вот отличный пример: мы создали снимок в diskshadow и пытаемся удалить его с помощью vssadmin. Сам снимок мы видим, но он не в нашем контексте, поэтому сорян, у нас нет здесь власти.

Вот отличный пример: мы создали снимок в diskshadow и пытаемся удалить его с помощью vssadmin. Сам снимок мы видим, но он не в нашем контексте, поэтому сорян, у нас нет здесь власти.

Технически ничего не мешает одновременно делать снимки с помощью vssadmin и diskshadow. Хотя есть вероятность, что получите сообщение типа Another shadow copy is in progress. Но это так, к слову пришлось. Не надо пытаться одновременно делать несколько снапшотов разными программами.

Как появился VSS

Итак, судя по написанному выше, всё просто: нам надо просто брать появляющиеся блоки и сохранять их куда-то в сторонку, чтобы при необходимости вынимать обратно. Сразу возникает первый вопрос: а что именно надо сохранять в нашем теневом хранилище? Ведь действительно, можно просто писать в него все приходящие новые блоки и сохранять в метаданные, на какое место они (блоки) должны были быть записаны. А можно поступить чуть сложнее и записывать новые блоки сразу на полагающееся им место, а в хранилище отправлять содержимое перезаписываемых блоков. Что лучше и как выбрать? На самом деле право на жизнь имеют оба варианта, и какой выбрать — зависит исключительно от воли вендора. Первый подход (redirect-on-write, RoW, если оперировать грамотными терминами) быстро пишется, но долго читается. Зато если надо откатиться на первоначальное состояние, это делается моментально — мы просто удаляем наше теневое хранилище. Второй подход (copy-on-write, CoW) пишется медленней, читается быстрее и моментально удаляет копии предыдущих состояний. VSS, к слову, придерживается парадигмы CoW, а в снапшотах VMware реализован RoW.

Но на самом деле этот вопрос не самый важный из тех, которые стоит себе задать перед тем, как начать перехватывать появляющиеся блоки и складывать их в сторонке. Главный вопрос — в какой именно момент надо осуществлять перехват?

Давайте рассмотрим хрестоматийную ситуацию с файлом базы данных. (И если у вас уже заскрипел песок на зубах, смело пропускайте следующие два абзаца.) Итак: у нас есть банальная SQL Server база данных в виде mdf файла, и тут к нам прилетает какой-то запрос. SQL, как порядочное приложение, начинает старательно вносить изменения в файл, а мы старательно перехватываем каждый новый блок данных падающих на диск и пишем в нашу теневую копию. Всё хорошо и здорово, но тут выключили свет. Потом свет включили, сервер запустили и мы даже базу восстановили из нашей теневой копии, но тут оказывается, что SQL не запускается. Говорит — база в не консистентном состоянии. Это значит следующее: во время нормальной работы завершение каждой транзакции помечается специальным флагом. Сервер его видит и знает, что всё хорошо. А тут сервер загружается, видит, что из его базы торчит какой-то кусок данных, флага нет и, следовательно, что с этим всем делать — он понятия не имеет. То ли удалить, то ли дописать, то ли ещё что-то. Но у нас тут не угадайка, а всё должно быть однозначно и консистентно. Поэтому он принимает решение выключиться, дабы не поломать базу ещё сильнее.

Хорошо, но как избежать подобных приключений? Отличным вариантом будет подождать, пока SQL сервер допишет свою транзакцию, пометит её как завершённую, и потом мы быстренько заберём все появившиеся новые блоки. Отличный вариант, который надо срочно реализовывать! Вот только есть небольшая проблема: до этого мы говорили про одно приложение и один файл, с которым оно работает. Научиться общаться с условным SQL Server много ума не надо, но что делать с остальными миллиардами существующих приложений? А что делать, в конце концов, с самой ОС, у которой внутри огромное количество своих процессов и открытых файлов? Вот примерно с такими проблемами и столкнулись учёные мужи из Microsoft, когда пришли к выводу, что надо реализовать некий общий интерфейс, через который можно будет сразу всем прокричать нечто вроде: “Сейчас мы будем делать снапшот, так что быстренько сворачиваемся и сбрасываем буфера на диск! Приостанавливайте свою кипучую деятельность и приводите данные в консистентный вид!”. Ну а назвать эту штуку они решили, как вы уже догадались, Volume Snapshot Service. Или просто VSS.

И тут можно воскликнуть — но ведь в Windows 2008 был представлен Kernel Transaction Manager! Это разве не то же самое? Он же как раз занимается тем, что приводит файлы на диске в консистентное состояние. А вот и нет! То есть да, KTM приводит, но отвечает только за дисковые операции, а что там происходит с приложениями — его мало волнует. А ведь многим из этих приложений важна не просто целостность файлов, но и что в них записано. Классический пример — это Exchange и Active Directory. И тут мы подошли к важной теме:

Как устроен VSS

Чтобы не прыгать с места в карьер громады страшных терминов и процессов, начнём с высокоуровневого описания. Поэтому ограничимся таким списком компонентов:

  • VSS Writer. В кириллическом простонародье известен как просто райтер, поэтому так и будем его называть в дальнейшем, вызывая праведный гнев ненавистников англицизмов. 

    Райтер занимается тем, что выстраивает мостик взаимодействия между VSS подсистемой и конкретным приложением. Поэтому а) в любой системе их будет достаточно много (проверьте у себя с помощью vssadmin list writers) б) райтер всегда пишется поставщиком приложения, ибо кроме него никто не знает, что там и как должно происходить во время создания снапшота. 

    Соответственно, райтер по своей сути выполняет роль “регулировщика”: сначала он говорит приложению подготовиться к снапшоту, затем даёт отмашку VSS сервису делать снапшот. Или не даёт, если приложение не смогло за установленный промежуток времени подготовить свои файлы.

    Также хочется отметить, что райтеры — это какие-то невероятно нежные ребята, которые зачастую ломаются без каких-либо внешних признаков. Поэтому если в выводе vssadmin list writers в поле State вы увидите что-то, отличающееся от Stable, это надо чинить, ибо сделать консистентный бекап, увы, не получится.

  • VSS Provider. Тот самый парень, который занимается созданием и управлением снапшотами. Известен тем, что бывает софтовый или хардовый. Список установленных в системе провайдеров можно посмотреть с помощью команды vssadmin list providers. По дефолту, с системой идет Microsoft Software Shadow Copy provider. Он даже отлично и замечательно работает, но до тех пор, пока вы не подключите к системе брендовую СХД. Хорошие вендоры всегда снабжают свои железки управляющим софтом, в составе которого находится и родной провайдер к этой железяке. Благодаря этому можно уже делать всякие хитрые трюки, которые реализованы в вашем оборудовании, и именно поэтому мы в Veeam так гордимся списком интеграций с железом.

  • VSS Requestor. Участник процесса, который инициирует создание VSS снапшота или восстановление данных. Можно сказать, что реквестор — это бекапное приложение, которое общается с райтерами и провайдерами. Может показаться, что его роль незначительна, однако от грамотности реализации реквестора зависит качество получаемого результата. То есть VSS не будет за вас думать, что и в каком виде надо сделать. Чем более чёткие инструкции выдаст реквестор, тем более предсказуемым будет результат.

Как в итоге всё выглядит на самом высоком уровне: реквестор стучится в Volume Shadow Copy сервис, тот отдаёт команду райтерам предупредить приложения о надвигающемся снапшоте, райтеры рапортуют об успехе, а сервис отдаёт команду провайдерам делать снапшоты. О результатах докладывается реквестору.

Но на деле, очевидно, всё несколько сложнее. На первом шаге реквестор проверяет, что вообще есть в наличии и с кем предстоит общаться. Затем после составления списка райтеров он обращается к провайдеру, объясняя, что он хочет заснапшотить и где должен располагаться снапшот. Это называется SnapshotSet. В большинстве случаев он будет располагаться на том же вольюме, что и оригинальный диск. А меньшинство случаев — это те самые хардварные провайдеры, которые поставляются вместе с СХД. Для них нормой считается создавать отдельный вольюм для снапшота, который называется storage snapshot. А в определённых случаях можно так и вообще перемещать снапшот на другое физическое устройство, чтобы выкачивать данные уже оттуда, а не с прода. Без хардварных провайдеров сделать такое не выйдет. 

Следом начинается стадия, именуемая Prepare for backup. На этом этапе мы должны уже не просто изучить метаданные райтеров, а запросить их реальные статусы и приготовиться к самой жаркой поре: все райтеры должы будут отработать один за другим. Причём каждый должен уложиться в отведённое ему время, которое по умолчанию равно 60 секундам. Так решили в Microsoft, забыв уточнить причины. Но есть ещё приложения-чемпионы, например, Exchange. Его авторы посчитали, что 20 секунд более чем достаточно, и остановились на таком лимите. А чем чревато невыполнение этого этапа, который в документации называется OnFreeze? Тем, что райтер вернёт сообщение об ошибке, и снапшот не будет сделан. После чего в интерфейсе Veeam появится одна из каноничных ошибок вроде “VSSControl: Failed to freeze guest, wait timeout». Тут радует одно: в логах VSS всегда будет написано, какой именно райтер завалил задание. А по самим ошибкам уже столько KB написано, что вспоминать страшно. Но если вы вдруг сомневаетесь, то точно вам говорю — написанному в них можно смело верить. И если после всего получается, что у вас слишком медленное хранилище, и за отведённое время не получается сбросить все кэши на диск, ну, значит, так оно и есть. Физику не обманешь, а вот железо надо хоть иногда обновлять.

Но это был пессимистичный вариант (прошу понять меня правильно, но беды с VSS — это очень частная причина обращений в сапорт), а в оптимистичном можно начинать самый важный этап. Как только райтеры рапортуют, что всё, вся деятельность в системе заморожена, а кеши сброшены на диск, у нас есть десять(!!!) секунд на создание снапшота, после чего райтеры будут принудительно разморожены, и всё закрутится вновь. И можно сказать, что на этом процесс бекапа заканчивается, и всё что нужно — это просто импортировать наш снапшот и скачать его куда-то к себе, чтобы сохранить под семью замками. Однако есть одно важное Но — log truncate. Фундаментально это вообще не связанные операции и транкейт зависит только от бекапа логов, но как все мы понимаем — на пользовательском уровне эти вещи связаны в единый процесс. То есть, прежде чем выкачивать снапшот, надо не забыть выдать команду backup log, которая запустит операцию транкейта. И после этого совесть наша чиста.

Но что дальше происходит с данными? Если мы действительно используем какое-то приложение для бекапов, которое запустило весь этот процесс, дождалось его завершения и скачало данные в своё хранилище, то снимок можно просто удалить одной командой. Поскольку VSS пропагандирует CoW подход, то речь здесь действительно о банальном удалении нашей аллоцированной зоны, ведь все новые данные сразу пишутся на оригинальный диск. Это называется non-persistent shadow copy, и она не имеет никакого смысла без оригинального диска.

Чтобы пройти этот путь вручную, достаточно открыть консоль и набрать:

PS C:\Windows\system32> diskshadow
Microsoft DiskShadow version 1.0
Copyright (C) 2013 Microsoft Corporation
On computer:  VEEAM,  17.05.2021 19:18:44

DISKSHADOW> add volume c: # добавляем в задание диск С

DISKSHADOW> create	# создаём снапшот
Alias VSS_SHADOW_1 for shadow ID {a1eef71e-247e-4580-99bc-ee62c42221d6} set as environment variable.
Alias VSS_SHADOW_SET for shadow set ID {cc9fab4d-3e7d-44a5-9a4d-0df11dd7219c} set as environment variable.

Querying all shadow copies with the shadow copy set ID {cc9fab4d-3e7d-44a5-9a4d-0df11dd7219c}

        * Shadow copy ID = {a1eef71e-247e-4580-99bc-ee62c42221d6}               %VSS_SHADOW_1%
                - Shadow copy set: {cc9fab4d-3e7d-44a5-9a4d-0df11dd7219c}       %VSS_SHADOW_SET%
                - Original count of shadow copies = 1
                - Original volume name: \\?\Volume{7fd0c79d-0000-0000-0000-602200000000}\ [C:\]
                - Creation time: 17.05.2021 19:19:45
                - Shadow copy device name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
                - Originating machine: veeam.university.veeam.local
                - Service machine: veeam.university.veeam.local
                - Not exposed
                - Provider ID: {b5946137-7b9f-4925-af80-51abd60b20d5}
                - Attributes:  Auto_Release Differential

Number of shadow copies listed: 1

Здесь мы видим, что успешно создался снапшот со своим Shadow copy ID, и для удобства ему сразу присвоили алиас VSS_SHADOW_1. Этими данными вполне можно оперировать, если возникает такое желание. Однако не будем уходить в сторону и попробуем прочитать содержимое этого снимка. Для чего подмонтируем его в качестве диска.

DISKSHADOW> expose {a1eef71e-247e-4580-99bc-ee62c42221d6} Z:
The shadow copy is a non-persistent shadow copy. Only persistent shadow copies can be exposed.

Однако на такое, казалось бы, простое и законное желание мы получили не менее законный отлуп, ибо сделали non-persistent снимок, а, значит, единственное, на что он годится — это записать его поверх родного, удалив на нём всю информацию, которая появилась после создания этого снимка. Но такая история нас не устраивает, поэтому стираем всё безжалостно.

DISKSHADOW> delete shadows all # или только нужный ID
Deleting shadow copy {a1eef71e-247e-4580-99bc-ee62c42221d6} on volume \\?\Volume{7fd0c79d-0000-0000-0000-602200000000}\ from provider {b5946137-7b9f-4925-af80-51abd60b20d5} [Attributes: 0x00420000]...

Number of shadow copies deleted: 1

И начинаем всё заново, только теперь укажем, что нам нужна персистентная копия, чтобы мы могли использовать её как полноценный диск.

DISKSHADOW> add volume C:

DISKSHADOW> set context persistent # вот этот момент

DISKSHADOW> create
Alias VSS_SHADOW_1 for shadow ID {346d896b-8722-4c01-bf01-0f38b9abe20a} set as environment variable.
Alias VSS_SHADOW_SET for shadow set ID {785983be-e09d-4d2a-b8b7-a4f722899896} set as environment variable.

Querying all shadow copies with the shadow copy set ID {785983be-e09d-4d2a-b8b7-a4f722899896}

        * Shadow copy ID = {346d896b-8722-4c01-bf01-0f38b9abe20a}               %VSS_SHADOW_1%
                - Shadow copy set: {785983be-e09d-4d2a-b8b7-a4f722899896}       %VSS_SHADOW_SET%
                - Original count of shadow copies = 1
                - Original volume name: \\?\Volume{7fd0c79d-0000-0000-0000-602200000000}\ [C:\]
                - Creation time: 17.05.2021 19:38:45
                - Shadow copy device name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3
                - Originating machine: veeam.university.veeam.local
                - Service machine: veeam.university.veeam.local
                - Not exposed
                - Provider ID: {b5946137-7b9f-4925-af80-51abd60b20d5}
                - Attributes:  No_Auto_Release Persistent Differential

Number of shadow copies listed: 1

Как мы видим: Attributes:  No_Auto_Release Persistent Differential. Поэтому если теперь вы сделаете expose, то снапшот примаунтится как полноценный диск, по которому можно перемещаться и копировать с него файлы. Диск, само собой, виртуальный и состоит из блоков оригинального диска, плюс блоки изменившихся данных, читая которые, мы можем видеть состояние оригинального диска на момент снапшота. Всё просто.

Только учтите, пожалуйста, такой момент, если вдруг решите, что нашли святой грааль: в таком режиме нельзя занимать данными больше 50% места на диске. Один блок свыше — и всё, диск переполнился.

Что тут хочется ещё сказать, а вернее, спросить: если всё так просто, то почему же я говорю, что всё так сложно? Проблема в том, что, отдавая на боевом сервере команду vssadmin create shadow, мы, конечно, создаём какой-то снимок, но как себя будут чувствовать приложения после отката на этот снимок, мы предсказать не можем. Это не шутка: команда create признаёт наличие ошибок при выполнении как вариант нормы. Райтер не вернул вовремя Ок от приложения? Да кому это надо, го делать снапшот, я создал. 

Поэтому когда за дело берётся настоящее бекапное приложение вроде Veeam Backup & Replication, то речь идёт не об одной команде, а о целой россыпи предварительных запросов, в результате которых формируется огромнейшая команда (это не метафора для красного словца, а реальность), в которой учитываются состояния райтеров и приложений на целевой системе, с жестким требованием соответствия всех статусов необходимым. Словом, количество мест, где что-то может пойти не так, вырастает на порядок. Ведь нам главное — не снапшот создать, закрыв глаза на сопутствующие потери, а гарантировать консистентность данных внутри него.

Как лечить VSS

Сразу, не отходя от кассы, открою вам тайну самого лучшего метода лечения большинства проблем с VSS — перезагрузка. Понимаю, что это кощунство и кошмар наяву для всех свидетелей аптайма, но суровая правда жизни такова, то можно сколь угодно долго биться с пациентом, чтобы потом всё починилось само от перезагрузки. Да, именно так. Это тот случай, когда само сломалось и само починилось. 

Другая проблема — это железо. Помните про временные рамки для райтеров? Про десять секунд на снапшот? Для многих это ограничение становится проблемой из-за того, что СХД физически не успевает сделать требуемые действия за отведённое время. Как это лечится? А вот никак. Или покупаем более мощное железо, или ищем пути снижения нагрузки, чтобы операция была проведена за выделенный промежуток времени.

Если посмотрите одно из самых популярных KB1680: VSS Timeout when backing up Exchange VM, то легко обнаружите, что первые три шага для решения всех проблем с VSS — сделайте снапшот вручную и посмотрите чтобы это заняло менее 20 секунд, перезагрузитесь и попробуйте снизить нагрузку. Вот так и живём, да. 

И что же делать, если VSS падает, в ивентах ничего нет, а понять, что происходит надо? Тут я могу порекомендовать три хороших статьи:

  • КВ от Veeam, посвящённое анализу поведения VSS с помощью diskshadow.

  • Другое KB от Veeam, посвящённое сбору информации с помощью vsstrace из Windows SDK. Но скажу сразу, это уже не для слабых духом.

  • И видео от моего коллеги, где он наглядно показывает, как работать с информацией из первых двух пунктов =) Рассказывает он действительно хорошо, но с непривычки голова у вас от объёма информации заболит, это я вам обещаю.

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

А на сегодня всё. Я и так хотел кратенько, но получилось больше десяти страниц текста. Поэтому самое время закругляться. Если хочется раскрытия какой-то другой темы или углубиться в детали VSS, то обязательно пишите об этом в комментариях.

Раздел: Windows
Написано: 6.09.2019

Автор: Antonio

Для начала, чтобы не было заблуждений, отмечу.
Теневая копия — это не Средство восстановления системы из раздела Защиты системы Windows 10 — это более нужный инструмент для тех кто «в теме».

Windows 10


Из Википедии
Служба теневого копирования тома (англ. Volume Shadow Copy Service, VSS) — служба операционной системы Windows, позволяющая копировать файлы, с которыми в данный момент времени ведётся работа, и даже с системными и заблокированными файлами. Служба необходима для работы следующих программ: восстановление системы, программ архивации (Paragon Drive Backup, Acronis True Image, Leo Backup, R Drive Image и другие). Обычно служба запускается вручную.

В серверных версиях Windows теневое копирование обычно настраивается через графический интерфейс, задается размер диска под копии, какой диск и с какой периодичностью делать. В Windows 10 такого интерфейса нет, есть лишь Средство восстановления системы.

Расскажу как сделать теневую копию в Windows 10 и как настроить ее автоматическую работу.

Для создания теневых копий в Windows 10 используется команда, которую нужно выполнять с правами Администратора:

wmic shadowcopy call create Volume=c:\

После удачного завершения команды, обычно это несколько секунд, будет создана теневая копия диска С.

Проверить можно так:
Мой компьютер — в свойствах диска СПредыдущие версии

shadow copy disk C, теневая копия Windows 10

Аналогично можно делать теневые копии других дисков меняя букву диска в команде.

Хорошо, работает.
Теперь нужно автоматизировать создание теневой копии в Windows 10.

Тоже не сложно! Используем для этого планировщик задач.

Создаем новое задание, указываем название.

автоматизация создания теневой копии в Windows 10

Указываем периодичность создания теневой копии.

Когда выполнять задачу?

Время создания копии.
Я обычно создаю раз в день, на рабочих серверах 2 раза в день, утром до работы и вечером после окончания дня, можно еще немного раньше обеда. В общем время на ваш выбор.

Расписание задачи

Действие для задачи — Запустить программу

создаем задачу

Указываем команду

wmic

и ее аргументы

shadowcopy call create Volume=c:\

wmic shadowcopy call create Volume

Ставим галочку открыть окно «Свойства»

открыть Свойства задачи

Ставим галочку «Выполнить с наивысшими правами»
Так как теневые копии без прав администратора создать и удалить нельзя.

Выполнить с наивысшими правами

Задача Автоматического создания теневых копий настроена, можно запустить ее из планировщика и проверить что копия необходимого диска создана.

Удалить все теневые копии можно командой:

wmic shadowcopy delete

Эту команду можно установить в планировщик, например раз в месяц, до создания копии, тогда все копии будут удаляться и сразу создаваться новая. Это не очень удобно, так как лучше бы стирать например 25 старых, а 5 оставлять самых свежих.

Такой функции я не нашел, нашел удаление всех, кроме последней — это делается через Очистку диска и удаление конкретных копий по их кодам. Сами теневые копии занимают не много, на серверах я обычно оставлял по пол года копий, конечно зависит от размеров дисков, от интенсивности изменения информации на них.

Теневая копия штука нужная и является хорошим дополнением к резервному копированию, однако это не замена резервной копии!

Фразы: Ошибка: Недопустимая команда. vssadmin.exe Create Shadow Windows 10, удаление теневых копий, создание в командной строке

Home » Shadow Copies in Windows 10 and 11

What are Shadow Copies?

Shadow copies are basically snapshots of a drive in your computer. For example you can configure shadow copies to be made every day at 9am, 12pm and 4pm.

If you deleted a file or made modifications to an existing file throughout the day, you are able to restore that file from a shadow copy.

For example you accidentally deleted a file you were working on at 2pm, you simply open the shadow copy of the dive taken at 12pm. The downside is that you lose everything you worked on the file since 12pm (so essentially the last two hours in this example) but at least you have the original file back, even if it’s a slightly older version.

Shadow Copies in Windows 10 and 11

Enable Shadow Copies

To enable shadow copies do the following. This will allocate a certain amount of disk space on your drive(s). We set it to 10%, that means on a 1TB drive 100GB storage space will be allocated to save versions of your deleted and altered files.

Once that allocated quota is reached, older shadow copies will be overwritten by newer copies.

1. Open the Start Menu. Click on Settings

Shadow Copies in Windows 10 and 11

2. Select System

Shadow Copies in Windows 10 and 11

3. Scroll down in the left side menu until you reach About. Locate the System protection option there.

Shadow Copies in Windows 10 and 11

4. All of the volumes in your computer are listed here. In our case we only have our C: drive, and protection (shadow copies) are turned off.

Click on Configure …

Shadow Copies in Windows 10 and 11

5. Turn on system protection and use the slider below to set the allocated disk space for the copies.

Shadow Copies in Windows 10 and 11

Create Shadow Copy Schedule

At this point shadow copies are enabled but they are still not created. In Windows 10 and 11 we need to create scheduled tasks manually so shadow copies are taken in regular intervals automatically without our intervention.

1. Open the Run text box: [Win key] + R. Alternatively right-click on the Start menu and  select Run.

Type in taskschd.msc and hit Enter.

Shadow Copies in Windows 10 and 11

2. Click on Create Task.

Name: ShadowCopy_C
Select Run whether user is logged on or not (this makes sure you get no annoying popups when the task is run)
Check the box: Run with highest privileges.

On the top jump to the Triggers tab.

Shadow Copies in Windows 10 and 11

3. Click on New and add a daily schedule for 9am, 12pm and 4pm.

Shadow Copies in Windows 10 and 11

4. On the Actions tab select New, and add the following:

Action: Start a program
Program: wmic
Add arguments: shadowcopy call create Volume=C:\

Shadow Copies in Windows 10 and 11

5. If you use a laptop make sure you uncheck the Start the task only on AP power option on the Conditions tab.

Shadow Copies in Windows 10 and 11

Test

You can test the task by running it manually. Right-click on the task and hit Run

Now if you open File Explorer, right-click on a folder or file, under the Previous versions tab you should see a copy appear.

Shadow Copies in Windows 10 and 11

Reader Interactions

Обновлено: 08.11.2022 15:57:12

Теневое копирование предназначено для создания точек восстановления и выполняется операционной системой в фоновом режиме. В Windows 10 функция включается автоматически при установке обновлений, но только тогда, когда размер системного тома превышает 128 Гб. Во всех остальных случаях служба VSS не запускается. Наши эксперты рассказывают, как настроить теневое копирование и автоматизировать процесс создания контрольных точек восстановления.

Свойства системы

Вызываем диалоговое окно «Выполнить» сочетанием клавиш «Win+R». Набираем в подсвеченном маркером поле «sysdm.cpl». Жмем клавишу Enter или обозначенную рамкой кнопку «ОК» запуская классический апплет «Свойства системы».

Переключаемся на отмеченную единицей вкладку «Защита». Текущее состояние теневого копирования для системного тома «С» приведено в указанном стрелкой окне. Жмем обозначенную двойкой кнопку вызывая диалог настройки параметров.

В открывшемся окне переносим отмеченную цифрой «1» радиокнопку в положение «Включить». Используем ползунок, указанный двойкой, чтобы определить размер дискового пространства, отводимый под хранение резервных копий. По мере его смещения в правую сторону в подсвеченной маркером позиции показывается объем выделенной области диска в процентах и его абсолютное значение в гигабайтах. Записываем заданные параметры кнопкой «Применить». Жмем «ОК» закрывая диалог настройки.

Вернувшись в основное окно апплета, видим, что текущий статус функции теневого копирования изменился на «Включено». Жмем кнопку, обозначенную цифрой «2», чтобы создать первую точку восстановления в ручном режиме.

В подсвеченном маркером поле всплывающего диалогового окна набираем название резервной копии. Жмем обведенную рамкой кнопку «Создать», запуская процедуру теневого копирования.

Получив уведомление об успешном выполнении операции закрываем его. В дальнейшем система выполняет создание точек восстановления в фоновом режиме, без вмешательства пользователя.

Командная строка

Вызываем расширенное меню «Пуск» комбинацией клавиш «Win+X». Кликаем по обозначенной рамкой строке запуская оболочку PowerShell в режиме повышенных привилегий.

В строке-приглашении набираем «Enable-Computerrestore -drive «C:\»» и нажимаем Enter. Команда включает функцию «Защита системы» для диска «С».

Задаем максимальный размер дискового пространства, которое будет использоваться для хранения теневых копий. Набираем в строке-приглашении или копируем в нее команду: «VSSAdmin —% Resize ShadowStorage /For=C: /On=C: /MaxSize=5%». В приведенном примере наши эксперты определили максимальный размер в 5% от общего объема диска. Выполнение команды сопровождается рапортом о ее успешном завершении.

Создаем контрольную точку в ручном режиме. Вводим команду Checkpoint-Computer -Description ‘Point_name’. Заменяем в ней «Point_name» на желаемое имя. В приведенном на скриншоте примере это «Restore point 1».

Нажимаем Enter и дожидаемся завершения операции. Ход выполнения задачи отображается в окне консоли псевдографическим прогресс-баром и процентным индикатором.

Проверить состояние хранилища резервных копий можно при помощи команды: «VSSAdmin list ShadowStorage». В отмеченной двойкой области выводится максимальный объем и занятое точками восстановления пространство.

Планировщик заданий

При включенной функции «Защита системы» автоматическое создание контрольных точек происходит при установке драйверов или обновлений. Если эти действия не выполнялись в течение семи дней, Windows создает резервную копию используя расписание, заложенное в планировщике заданий. При необходимости предустановленный интервал теневого копирования можно сократить создав для него новый триггер.

Вызвав диалоговое окно «Выполнить», набираем в текстовом поле «taskschd.msc». Нажимаем виртуальную кнопку «ОК» или клавишу Enter на физической клавиатуре запуская планировщик заданий.

Заходим в библиотеку и последовательно раскрываем подсвеченные зеленым маркером директории. Выделяем мышкой конечную папку «SystemRestore». В верхней части правой половины окна планировщика отобразится содержащееся в ней задание с именем «SR». Двойным щелчком по строке с описанием раскрываем диалог редактирования параметров.

Заходим на вкладку, обозначенную единицей. Жмем кнопку «Создать» для задания нового управляющего триггера.

Переносим указанную единицей радиокнопку в показанное на скриншоте положение. При необходимости корректируем время запуска задания в подсвеченном зеленым маркером поле. Закрываем диалог создания триггера кнопкой «ОК», одновременно записывая заданные значения.

Вернувшись в основное окно, переключаемся на вкладку «Условия». Снимаем галочки в зачеркнутых крестиками позициях. Записываем измененную задачу кнопкой «ОК».

В заключение

Пошаговые инструкции, приведенные нашими экспертами, позволят вам самостоятельно запустить и настроить теневое копирование в Windows 10. Выполнить операцию вы можете в графическом интерфейсе или при помощи оболочки PowerShell.

Оцените статью

 

Всего голосов: 0, рейтинг: 0

  • Темы ярлыков для windows 10
  • Темы со звуком для windows 10 скачать бесплатно
  • Темы зомби для windows 10
  • Темы для темы windows media player
  • Темы для рабочего стола windows 10 скачать бесплатно с автоматической установкой