Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Windows Server. Настраиваем теневые копии для общих папок.
Теневые копии могут быть использованы для восстановления случайно удаленных и случайно перезаписанных файлов, а также позволяет сравнить несколько версий одного файла. Следует помнить, что теневые копии не могут служить заменой резервному копированию в силу ряда ограничений и особенностей о которых мы поговорим ниже.
Теневое копирование поддерживают серверные ОС начиная с Windows Server 2003, клиентское ПО для работы с теневыми копиями доступно начиная с Windows XP SP2.
При использовании теневых копий следует учитывать следующие ограничения:
Перед тем, как настраивать теневое копирование, следует продумать расписание. Для этого нужно проанализировать активность пользователей и критичность данных, найдя компромисс между частотой создания теневых копий и промежутком времени который должно охватывать теневое копирование. При этом следует отталкиваться от того, потерю какого промежутка рабочего времени можно считать допустимым, после чего рассчитать за какой промежуток времени будет достигнут предел, составляющий 64 копии. Не рекомендуется делать теневые копии чаще чем раз в час. Также продумайте расписание таким образом, чтобы копии делались только в рабочее время.
Для включения теневых копий перейдите в оснастку Управление компьютером в меню Администрирование.
В открывшемся окне выберите том, на котором вы будете включать теневое копирование для общих папок и нажмите Включить, первая теневая копия будет создана немедленно.
Затем нажмите на кнопку Параметры и укажите размер дискового пространства, выделяемый для хранения теневых копий.
Следующим шагом задайте расписание.
Теперь самое время проверить работу теневых копий в действии. В обучающих целях мы установили небольшой промежуток между созданием теневых копий и провели несколько типовых действий с файлами в общей папке.
Открываем свойства файла, переходим на закладку Предыдущие версии и выбираем одну из доступных теневых копий (в нашем случае только одна).
Мы можем открыть, восстановить или скопировать файл. Для начала просто откроем.
Убедившись, что перед нами необходимая версия файла, мы можем ее восстановить или скопировать, если нам нужны оба варианта файлов.
Для восстановления удаленных файлов откройте свойства папки и выберите одну из ее теневых копий, затем вы можете просмотреть содержащиеся в ней файлы и восстановить нужные. Помните, что из теневой копии файлы можно открыть только на чтение.
Как видим, теневое копирование дает пользователям и администратору богатые возможности по работе предыдущими версиями файлов и папок. Данная технология, в сочетании с правильно настроенным резервным копированием, позволяет обеспечить высокую доступность данных и свести риск их потери к разумному минимуму.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Как использовать Теневые копии
Порой сталкиваешься на рабочем месте, что к тебе как к системному администратору обращается пользователь с просьбой восстановить файл который он редактировал весь день, а потом вернулся к рабочему месту, но весь его труд утерян. Да, на его совести тот момент если он отошел от своего компьютера и не заблокировал вручную экран (приучаю нажимать сочетание клавиш: Win + L), а таймаут выставленный групповой политикой еще не активировался. Использовать такую отговорку, что можно восстановить файл(ы) только из вчерашнего бекапа — ну это не профессионализм. Вот в этом случае каждый системный администратор должен совершенствоваться и знать, что система Windows имеет такую важную настройку как использование «Теневых копий».
За основу функции/настройки теневого копирования отвечает служба теневого копирования (Volume Shadow Copies, VSS). Служба VSS применяется ко всему логическому диску и создаем снимок всех находящихся на нем файлов. После через запланированные промежутки времени отслеживает изменения и снова создает снимок.
Покажу на примере, как такая настройка «Теневые копии» включается и что она дает обычному пользователю.
Есть файловый сервер под управлением Windows Server 2016 Standard (на заметку: настройка «Теневые копии» работает и на Server 2008 R2,Server 2012/R2).
На заметку: логический диск с общими папками должен располагаться не на системном диске и не на диске с бекапами — это мое мнение.
На заметку: при использовании настройки «Теневые копии» следует под общие папки (файловый ресурс) заложить большой логический диск для хранения снимков. Если используется система виртуализации Hyper-V или ESXi то проблем с его расширением быть не должно и отрепетирована процедура его расширения.
На логическом диске D: создана папка с именем fileserver и настроена как общая с отключенным наследованием.
Запускаю оснастку «Управление компьютером»:
Win + R → control.exe — Просмотр: Категория — Мелкие значки — «Администрирование» — «Управление компьютером» — «Служебные программы» — и на «Общие папки» через правый клик мышью выбираю «Все задачи» — «Настроить теневые копии», выделяю том, в моем случае том D:\ и нажимаю «Настроить».
В данных настройках задается максимальный размер использования теневой копии, но не менее 300 МБ. По умолчанию хранилище теневых копий занимает 10 % от размера диска, а в снимках хранятся только изменения, а не сами изменившиеся файлы. Если места не достаточно, то при создании нового снимка старые снимки удаляют.
Как выбрать какой размер задать, прикинем, всего файлов под файловый ресурс 50 Gb, то я бы выбрал 50% от размера диска или: Максимальный размер: => не ограничен.
После нажимаю «Расписание» чтобы указать как часто будут делаться теневые копии. Если обратить внимание на рекомендацию, то не следует указывать создание одной теневой копии в час, вот только здесь уже каждый системный администратор должен все правильно взвесить как отразится потеря данных на продуктивной работе организации. Т.к. у меня жесткий диск под 2Tb, а данных всего 500Gb, то я делаю под себя следующее расписание:
Нажимаю «Дополнительно…»
и получается расписание: Каждые 2 часа с 09.00 по 10 час начиная с текущей даты и каждый день.
В процессе эксплуатации я подкорректирую данное расписание.
и нажимаю кнопку Ok окна настройки расписания для тома D:\ — кнопку OK окна «Параметры» и выделив том D:\ нажимаю «Создать» тем самым создаю теневую копию текущего диска.
Из представленного выше скриншота видно, что текущий снимок занимаем целых 2.5G, так что об выделяемом размере под теневые копии каждый должен смотреть самостоятельно.
Также функцию теневые копии можно включить если перейти из оснастки «Управление компьютером» — «Запоминающие устройства» — «Управление дисками» — через правый клик по тому D: вызвать «Свойства» и перейдя во вкладку «Теневые копии».
Если сымитировать добавление файлов и последующее нажатие создания снимка можно будет видеть как изменяется размер и количество теневые копий в оснастке тома:
Итак копии имеются, объясняю пользователю что он может сделать сам на своем рабочем месте если что-то у него пропало.
Под Windows 10 Pro:
Шаг №1: Перейти на файловый ресурс
Шаг №2: По каталогу (или по файлу) внутри которого располагаются его файлы нажать на нем через правый клик мышью перейти на меню «Восстановить прежнюю версию» после чего на вкладку «Предыдущие версии».
Шаг №3: Тут он увидит сделанные снимки и открывая последний ориентируясь на дату и время будут открываться экраны с файлами/или файл за указанный временной промежуток при нажатии на кнопку «Открыть» или через правый клик мышью по нему «Изменить» ту версию где результаты его работы самые последние.
Шаг №4: После чтобы его восстановить нужно либо когда файл найден и открыт сделать «Файл» — «Сохранить как» и сохранить в ту директорию где он был затерев не актуальный или же нажать кнопку «Восстановить» и воспользоваться мастером восстановления:
Нажимаю «Восстановить» и получаю сообщение «Файл был успешно переведен в предыдущее состояние».
Шаг №5: Пользователь возвращается к редактированию на том месте файл(ы) которого были восстановлены.
Шаг №6: После этого момента пользователь становится чуть счастливее от того что теперь он сам может это делать и ему не надо писать заявку на helpdesk или подходить к Вам лично.
На заметку: Не советую включать теневые копии на системном диске, т. к. обновления, логирование и многое другое будет все заполоняется никому не нужными снимками и расходуемым местом. Возьмите за правило, один логический диск под систему, другой под данные.
На заметку: если выключить «Теневое копирование тома» в свойства диска, то все снимки будут удалены, а файлы будут оставлены как есть.
На заметку: Теневые копии — это не то же самое что и резервная копия, так что не советую полностью на них надеяться, ведь это всего лишь дельта изменения от первого и последующих снимков, а бекап — это наше все.
Итого, я для себя оформил те моменты с которыми сталкиваешься когда задействуешь «Теневые копии» для тома и что пользователь может сам сделать в случае проблемы с потерей файла(ов).
На этом я прощаюсь, если что будет интересного я дополню данную заметку, а пока собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.
Проверка успешности бэкапа
Когда процесс бэкапа закончится, можно посмотреть его статус:
Здесь вы увидите основные сведения о результатах бэкапа. Свойство LastBackupResultHR содержит код возврата. Если это 0, то всё хорошо. Если это не 0, то бэкап не был выполнен удачно. А вот свойство NumberOfVersions показывает сколько уже копий бэкапа содержится в текущем архиве. Более подробно этот момент будет рассмотрен ниже.
Процесс создания и хранения бэкапа
При выполнении бэкапа происходит несколько вещей:
Если это сетевая папка, то в пути \\Server\BackupShare\WindowsImageBackup создаст папку для каждого компьютера и в ней будет хранить бэкап соответствующего компьютера. При этом последующие операции бэкапа будут копировать архив в эту же папку. Во времена ntbackup.exe мы могли выбирать метод выполнения бэкапа — с использованием VSS или без (это не относилось к SystemState бэкапам), а теперь этот вопрос решён однозначно — VSS используется всегда. Это обусловлено ещё тем, что Server Backup использует VSS для ведения истории бэкапов, что исключает путаницу в архивных копиях. Внимательные читатели могут заметить, что внутри папки бэкапа есть VHD файл (по одному VHD на каждый архивируемый том), который содержит актуальное состояние бэкапа. И тут появляется интересная вещь: каждый новый бэкап копируется в один VHD файл — а куда же деваются предыдущие копии? На самом деле все они хранятся в этом VHD файле, но скрыты за теневыми копиями, которые создаются при каждой операции бэкапа и закрепляются за архивом:
Команда Get-WBBackupSet показывает историю бэкапов системы и ID номер теневой копии, которая содержит файлы архива на момет выполнения конкретного задания бэкапа. При восстановлении из бэкапа консоль MMC считывает эти копии и позволяет восстановить файлы на любой момент времени выполнения бэкапа. Чтобы дать более понятное представление об этом, покажу простой пример:
Несмотря на то, что при непосредственном просмотре VHD файла мы видим только данные сохранённые после последней операции бэкапа, в нём по прежнему хранятся и все предыдущие копии, которые система различает по теневым копиям, которые закреплены за каждым бэкапом. Именно здесь теневые копии играют огромную роль в хранении истории бэкапа. И пока эти теневые копии живы, мы имеем доступ к предыдущим версиям файлов внутри VHD архива. Это даёт следующие преимущества:
В большинстве случаев это решение будет являться достаточным для любых операций восстановления. Единственное критичное место здесь будет наличие этих теневых копий. Это может вызвать трудности только при повреждении теневых копий на архивном томе. Но обычно это уже будет означать потерю всех бэкапов. Такие дела.
Как долго хранятся бэкапы на архивном томе?
Хранятся они там сколь угодно долго, пока есть свободное место. Когда свободное место заканчивается, то Server Backup автоматически пытается отыскать себе место. Если у нас выполняются только полные бэкапы, то наиболее старые версии архивов просто удаляются. Если у нас комбинируются полные бэкапы с инкрементальными/дифференциальными, то берётся наиболее старый архив и в него вписываются инкрементальные/дифференциальные архивы, которые были выполнены в промежутках между полными бэкапами до тех пор, пока не освободится достаточно для нового бэкапа места. Таким образом обеспечивается сохранность наиболее новых архивов с удалением более старых. Такая схема автоматической ротации так же будет востребована в большинстве случаев. Для экономии места Server Backup для запланированного задания автоматически делает комбинирование полных и инкрементальных бэкапов. Каждые 2 недели выполняется полный бэкап и ежедневно в промежутках между полными будет выполняться только инкрементальное архивирование.
Такая автонастройка режимов для запланированных бэкапов и авторотация будет достаточно эффективна и проста в сегменте SOHO/SMB, не отвлекая на себя слишком много внимания администратора. От администратора потребуется только создание задания и организация отказоустойчивости тома с архивами.
Совмещение нескольких заданий и индивидуальная ротация архивов
Разработчики Server Backup сделали всё, чтобы упростить процесс выполнения бэкапа в стандартных случаях SOHO/SMB. Но когда появляются особые условия, то тут начинаются свои сложности, хотя это всё относительно преодолимо. Например, вы создали несколько заданий бэкапов, которые отдельно что-то архивируют в одну и ту же точку. Но к каждому заданию предъявляются свои требования по сроку хранения бэкапа.
Пример: это файл-сервер и вы архивируете папку с документами пользователей ежедневно и следует хранить только 7 последние копии. Другое задание архивирует инсталляционные файлы вашей сети раз в неделю и требуется наличие только 4 последних копий. Так же все копии должны копироваться в сетевую папку или на съёмный диск на случай катастрофы и/или ада и Израиля. В такой ситуации мы потеряем возможность использования авторотации архивов и прочих плюшек. Давайте посмотрим, как будет выглядеть примерный скрипт:
И уже этот файл отдельно зашедулить в Task Scheduler. В такой ситуации дополнительных шагов не требуется, т.к. пока живы теневые копии, вы можете восстанавливать файлы из них (наличие самого архива не требуется). А если теневых копий уже не осталось (например, том с архивами был отформатирован), то для восстановления данных просто копируете папку с архивом в корень любого тома с именем WindowsImageBackup и тогда этот архив будет определён системой как пригодный для восстановления. Так вы можете делать несколько раздельных заданий с индивидуальным расписанием бэкапа и ротацией.
Если ротация архивов в сетевой папке достаточно проста и укладывается в одну строчку, то с локальными архивами придётся подключать утилиты CMD, а именно — diskshadow.exe! Вам нужно внутри diskshadow выполнить Delete Shadows ID
Вот таким образом можно удалять старые теневые копии архивов по одиночке. При удалении теневой копии при следующей операции бэкапа будет обновлён каталог бэкапов. Чтобы удалить все предыдущие архивы кроме текущего внутри diskshadow нужно выполнить:
где E: — путь к тому с архивами.
Сами данные из VHD файла будут удалены только при следующей операции бэкапа. Однако, это не относится к архивам, которые содержат SystemState. Для ротации архивов SystemState придётся воспользоваться уже другой утилитой — wbadmin.exe:
wbadmin delete systemstatebackup –version: datetime
где datetime — дата и время выполнения бэкапа. Эту дату можно получить так же из вывода командлета Get-WBBackupSet (свойство VersionID). Чтобы удалить все бэкапы SystemState, кроме текущего следует выполнить:
wbadmin delete systemstatebackup –backuptarget:E: –deleteoldest
и для удаления всех наиболее старых архивов SystemState с сохранением N копий выполнить:
wbadmin delete systemstatebackup –keepversions:N
где N — количество копий SystemState, которые должны быть сохранены.
Исходя из изученного нами материала можно сделать такую вещь: локально хранить стандартный архив с несколькими заданиями бэкапа, а в сетевой папке каждый тип архива отдельно и применять к ним раздельную ротацию. Единственное, что мне пришло на ум — использовать CSV файл для каталогизации теневых копий. Вот как это примерно выглядит:
В принципе, это только один вариант реализации подобной задачи и не обвешена никакими проверками. Однако, учитывая, что данный код публикуется на правах ТЗ (ТЗ — Тайное Знание), поэтому может использоваться как шаблон алгоритма такой кастомной ротации. Данный скрипт только демонстрирует логику, которой вы можете воспользоваться и подпилить под свои условия самостоятельно.
Вот и всё, наверное, что я хотел рассказать про бэкап в Windows Server 2008 R2. В Windows 7 нет командлетов для бэкапа, поэтому свои хотелки придётся реализовывать только средствами CMD (wbadmin, vssadmin, diskshadow). И это будет значительно сложнее, чем вариант с командлетами повершела.
Comments:
Здравствуйте! Возможно ли выбрать провайдера VSS перед бэкапом. На сервере w2k8 R2 установлен Aronis True Image Agent. Во время бэкапа с помощъю wbadmin в журнале событий появляется такая ошибка 22 и 12292 Ошибка службы теневого копирования томов: не зарегистрирован критический компонент, необходимый для службы теневого копирования томов. Это может быть следствием ошибки при установке Windows или при установке поставщика теневого копирования. Ошибка возвращена функцией CoCreateInstance для класса с CLSID <5fc845eb-f299-40f0-9725-34045f7ea8ba>и именем HWPRV: [0x80004002, Интерфейс не поддерживается ]. Операция: Создание экземпляра поставщика оборудования Получение интерфейса с возможностью вызова для данного поставщика Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст Получение свойств теневой копии Контекст: Код поставщика:
На сколько я знаю — нет, нельзя использовать сторонние провайдеры VSS. Во всяком случае нет интерфейса, чтобы это можно было сделать.
Вот такая ошибка вываливается : Cannot add Windows PowerShell snap-in Windows.Serverbackup because it is already added. Verify the name of the snap-in and try again. At :line:2 char:12 + Add-PSSnapin
ну это значит, что оснастка уже добавлена заранее. Не вижу в этом криминала.
об этой ошибке ничего сказать не могу.
Здраствуйте у меня проблемма после установки Акроника для доп резервного копирования Перестал работать VSS выдает кучу ошибок 12292 и 22. выдает когда стартует бэкап выдает 4 пары таких ошибок: Ошибка теневого копирования тома: Ошибка при создании класса поставщика теневого копирования COM с CLSID <79079d5c-ef20-4952-b9fc-cfd443b38641>[0x80040154]. Операция: Получение интерфейса с возможностью вызова для данного поставщика Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст Удаление теневых копий Контекст: Код поставщика:
С подобными вопросами лучше обращаться к тех.поддержку Акрониса, тем более, я с их продуктами не работаю.
Видео
Как восстановить данные Windows Server, настроить архивацию данных и создать резервную копию 💽🖥️🗄️Скачать
Backup в Windows Server 2008 R2Скачать
Теневая копия файлов (VSS) в Windows 10Скачать
Резервное копирование (backup) [Администрирования Windows Server]Скачать
Миграция ролей AD и DNS с ОС Windows Server 2003 на Windows Server 2008 R2Скачать
Установка и настройка DNS сервера в Windows Server 2008 R2Скачать