Где хранятся теневые копии windows server 2008 r2

Обновлено: 04.07.2024

Windows Server. Настраиваем теневые копии для общих папок.

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

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

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

Теневое копирование поддерживают серверные ОС начиная с Windows Server 2003, клиентское ПО для работы с теневыми копиями доступно начиная с Windows XP SP2.

При использовании теневых копий следует учитывать следующие ограничения:

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

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

Для включения теневых копий перейдите в оснастку Управление компьютером в меню Администрирование.

windows-server-shadow-copies-001.jpg

В левой части окна найдите пункт Общие папки и, щелкнув правой кнопкой мыши, выберите Все задачи - Настроить теневые копии.

windows-server-shadow-copies-002.jpg

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

windows-server-shadow-copies-003.jpg

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

Следующим шагом задайте расписание.

windows-server-shadow-copies-005.jpg

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

Самая распространенная и труднорешаемая проблема - файл перезаписали.

windows-server-shadow-copies-006.jpg

Открываем свойства файла, переходим на закладку Предыдущие версии и выбираем одну из доступных теневых копий (в нашем случае только одна).

Мы можем открыть, восстановить или скопировать файл. Для начала просто откроем.

Убедившись, что перед нами необходимая версия файла, мы можем ее восстановить или скопировать, если нам нужны оба варианта файлов.

windows-server-shadow-copies-009.jpg

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

windows-server-shadow-copies-010.jpg

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

общих папок теневое копирование

Windows Server

Задался я тут после одного инцидента как сделать быстрый бекап удаленного файла или папки с сетевой папки на сервере и заодно посмотреть кто это сделал.

Ну вопрос, кто это сделал нашли сразу через аудит (это рассмотрит в другой статье)

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

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

Поднимаем теневое копирование на Windows Server Standart 2008 R2

Для начала надо включить теневое копирование на диске, для это проделываем следующую операцию:

теневое копирование

2) Теперь выбираем диск на котором будем делать Теневые копии и нажимаем Параметры. Тут мы задаем место где будут хранится теневые копии и расписание их создания.

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

Для работы с теневыми копиями и восстановлением файлов будет пользоваться по другому.

Ситуация 1

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

tenevoe-kopirovanie_2

Ситуация 2

К Вам вбегаю манагеры и кричат что кто то удалил их файл или папку с важными документами, а шеф уже ее ждет. 🙂

2) смотрим последние версии нашего бекапа и восстаналиваем файл или папку

Порой сталкиваешься на рабочем месте, что к тебе как к системному администратору обращается пользователь с просьбой восстановить файл который он редактировал весь день, а потом вернулся к рабочему месту, но весь его труд утерян. Да, на его совести тот момент если он отошел от своего компьютера и не заблокировал вручную экран (приучаю нажимать сочетание клавиш: Win + L), а таймаут выставленный групповой политикой еще не активировался. Использовать такую отговорку, что можно восстановить файл(ы) только из вчерашнего бекапа — ну это не профессионализм. Вот в этом случае каждый системный администратор должен совершенствоваться и знать, что система Windows имеет такую важную настройку как использование «Теневых копий».

За основу функции/настройки теневого копирования отвечает служба теневого копирования (Volume Shadow Copies, VSS). Служба VSS применяется ко всему логическому диску и создаем снимок всех находящихся на нем файлов. После через запланированные промежутки времени отслеживает изменения и снова создает снимок.

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

Есть файловый сервер под управлением Windows Server 2016 Standard (на заметку: настройка «Теневые копии» работает и на Server 2008 R2,Server 2012/R2).

На заметку: логический диск с общими папками должен располагаться не на системном диске и не на диске с бекапами — это мое мнение.

На заметку: при использовании настройки «Теневые копии» следует под общие папки (файловый ресурс) заложить большой логический диск для хранения снимков. Если используется система виртуализации Hyper-V или ESXi то проблем с его расширением быть не должно и отрепетирована процедура его расширения.

На логическом диске D: создана папка с именем fileserver и настроена как общая с отключенным наследованием.

Запускаю оснастку «Управление компьютером»:

В данных настройках задается максимальный размер использования теневой копии, но не менее 300 МБ. По умолчанию хранилище теневых копий занимает 10 % от размера диска, а в снимках хранятся только изменения, а не сами изменившиеся файлы. Если места не достаточно, то при создании нового снимка старые снимки удаляют.

Как выбрать какой размер задать, прикинем, всего файлов под файловый ресурс 50 Gb, то я бы выбрал 50% от размера диска или: Максимальный размер: => не ограничен.

После нажимаю «Расписание» чтобы указать как часто будут делаться теневые копии. Если обратить внимание на рекомендацию, то не следует указывать создание одной теневой копии в час, вот только здесь уже каждый системный администратор должен все правильно взвесить как отразится потеря данных на продуктивной работе организации. Т.к. у меня жесткий диск под 2Tb, а данных всего 500Gb, то я делаю под себя следующее расписание:

  • Дата начала: текущая дата
  • Повторять задание: отмечаю галочкой
  • Каждые: 2 часа
  • Выполнять: в течение: 10 час

и получается расписание: Каждые 2 часа с 09.00 по 10 час начиная с текущей даты и каждый день.

В процессе эксплуатации я подкорректирую данное расписание.

Если сымитировать добавление файлов и последующее нажатие создания снимка можно будет видеть как изменяется размер и количество теневые копий в оснастке тома:

Пример количества снимков на томе

Итак копии имеются, объясняю пользователю что он может сделать сам на своем рабочем месте если что-то у него пропало.

Под Windows 10 Pro:

Шаг №1: Перейти на файловый ресурс

Шаг №2: По каталогу (или по файлу) внутри которого располагаются его файлы нажать на нем через правый клик мышью перейти на меню «Восстановить прежнюю версию» после чего на вкладку «Предыдущие версии».

Шаг №3: Тут он увидит сделанные снимки и открывая последний ориентируясь на дату и время будут открываться экраны с файлами/или файл за указанный временной промежуток при нажатии на кнопку «Открыть» или через правый клик мышью по нему «Изменить» ту версию где результаты его работы самые последние.

Шаг №5: Пользователь возвращается к редактированию на том месте файл(ы) которого были восстановлены.

Шаг №6: После этого момента пользователь становится чуть счастливее от того что теперь он сам может это делать и ему не надо писать заявку на helpdesk или подходить к Вам лично.

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

На заметку: если выключить «Теневое копирование тома» в свойства диска, то все снимки будут удалены, а файлы будут оставлены как есть.

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

Итого, я для себя оформил те моменты с которыми сталкиваешься когда задействуешь «Теневые копии» для тома и что пользователь может сам сделать в случае проблемы с потерей файла(ов).

На этом я прощаюсь, если что будет интересного я дополню данную заметку, а пока собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.

Когда процесс бэкапа закончится, можно посмотреть его статус:

Здесь вы увидите основные сведения о результатах бэкапа. Свойство LastBackupResultHR содержит код возврата. Если это 0, то всё хорошо. Если это не 0, то бэкап не был выполнен удачно. А вот свойство NumberOfVersions показывает сколько уже копий бэкапа содержится в текущем архиве. Более подробно этот момент будет рассмотрен ниже.

При выполнении бэкапа происходит несколько вещей:

В корне диска назначения бэкапа создаётся структура папок: <путь до диска или сетевой папки>\WindowsImageBackup\<имя компьютера> После окончания бэкапа система делает теневую копию этого тома (кроме сетевых папок) тома, на котором хранится бэкап.

Команда Get-WBBackupSet показывает историю бэкапов системы и ID номер теневой копии, которая содержит файлы архива на момет выполнения конкретного задания бэкапа. При восстановлении из бэкапа консоль MMC считывает эти копии и позволяет восстановить файлы на любой момент времени выполнения бэкапа. Чтобы дать более понятное представление об этом, покажу простой пример:

  1. Выполняется первый бэкап №1.
  2. В BackupTarget создаётся папка с архивом и в VHD файл записываются данные, которые мы архивируем;
  3. В BackupTarget создаётся теневая копия, которая так же содержит эти файлы и закрепляется за этим бэкапом;
  4. Время бэкапа и ID теневой копии записывается в каталог бэкапа;
  5. Выполняется следующий бэкап этого же задания под № 2.
  6. В BackupTarget уже ничего не создаётся, а новые данные добавляются в VHD файл, скрывая данные из бэкапа №1;
  7. В BackupTarget создаётся теневая копия, которая так же содержит новые данные и закрепляется за этим бэкапом (№2);
  8. Время бэкапа и ID теневой копии записывается в каталог бэкапа.
  9. повторяются пункты 5-8.

Несмотря на то, что при непосредственном просмотре 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 , где GUID — ID теневой копии, которая закреплена за конкретным бэкапом и его можно получить из вывода Get-WBBackupSet (свойство SnapshotID)

Вот таким образом можно удалять старые теневые копии архивов по одиночке. При удалении теневой копии при следующей операции бэкапа будет обновлён каталог бэкапов. Чтобы удалить все предыдущие архивы кроме текущего внутри 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 файл для каталогизации теневых копий. Вот как это примерно выглядит:

В принципе, это только один вариант реализации подобной задачи и не обвешена никакими проверками. Однако, учитывая, что данный код публикуется на правах ТЗ (ТЗ — Тайное Знание), поэтому может использоваться как шаблон алгоритма такой кастомной ротации. Данный скрипт только демонстрирует логику, которой вы можете воспользоваться и подпилить под свои условия самостоятельно.

Categories: PowerShell | Server Backup
Posted at: 14.10.2009 23:29 (GMT+2) by Vadims Podāns | Permalink | Comments (18)

Comments:

На сколько я знаю — нет, нельзя использовать сторонние провайдеры 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 <<<< Windows.Serverbackup Scheduler::GetRegisteredTaskInfo failed due to error: Object is not connected to server, (0x800401fd). . At :line:4 char:24 + $profiles = New-WBPolicy <<<<

ну это значит, что оснастка уже добавлена заранее. Не вижу в этом криминала.

А вторая ошибка ? Scheduler::GetRegisteredTaskInfo failed due to error: Object is not connected to server, (0x800401fd). . At :line:4 char:24 + $profiles = New-WBPolicy <<<<

об этой ошибке ничего сказать не могу.

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

Читайте также: