8. Практическая работа №8 «Выполнение резервного копирования в облачной среде Windows Server 2012».

1. Бэкап изнутри виртуальных машин


1.1. Бэкап сегодняшнего дня

Насколько мы знаем, любой Windows умеет делать бэкап. Причем, любые настройки бэкапаWindows через интерфейс сводятся, в конечном счете, к фоновому использованию утилиты wbadmin. А что, собственно, умеет wbadmin? А умеет она делать как бэкап образа с системным разделом, так и бэкап отдельных папок. В данной части статьи нас интересует только бэкап образ (системного раздела). Остальное — это специфичные данные виртуальных машин и бэкапить нужно отдельно. Отсюда вывод: Не храните на системном разделе виртуальных машин (и на обычных компьютерах тоже) никакой ценной информации и баз данных, отдельных приложений. MSSQLServer / MSExchange / «Сервер приложений 1С» и другое ставим только на не системные разделы или на отдельные диски.

Итак, что же нужно, чтобы бэкап отработал? А нужна всего лишь одна команда:

wbadmin. exestartbackup - backupTarget:\\СерверБэкапа\ПапкаДляБэкапаВнутреннего - allCritical - quiet


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

1.2. Бэкап с историей предыдущих снимков

На данный момент, мы сделали бэкап образов виртуальных машин. Но это же у нас бэкап снимков только сегодняшнего дня. Завтра он будет совершенно другой… Но что будет, если бэкапить бэкапы? Да и ещё по-настоящему инкрементально. Так и поступим.

НЕ нашли? Не то? Что вы ищете?

wbadmin. exe startbackup - backupTarget:e: - allCritical –include:d: - quiet

#где диск D - бэкапы на сегодня, а диск E - бэкапы с историей


Но мне было этого недостаточно и я сделал так:

(

echoselectvdiskfile="\\СерверБэкапа2\ПапкаДляБэкапа2\ИмяБэкапаДляЭтогоСервера2.vhdx"

echo attach vdisk

) | diskpart


Скрипт подключает виртуальный диск из сети. После бэкапа подобный же скрипт отключает диск. ОС помнит, что у диска определена буква E. Но не дай бог подсунуть чужой диск с той же буквой E, бэкап отработает уже по полной (не инкрементально и на чужой диск). Имейте это в виду и используйте, букву, ближе к концу алфавита (X, Y, Z)…

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

Чтобы достать бэкап предыдущих дней можно воспользоваться интерфейсом (GUI) сервера, на котором производятся бэкапы с историей. Более того, все запуски команды wbadmin в консоли Windows знает и помнит. Служба восстановления даст возможность вам выбрать нужный архив в бэкапах с историей.

2. Бэкап файлов vhdx виртуальных машин


Производится легко и непринужденно:

wbadmin startbackup - backupTarget:$BackupPath - hyperv:$VMList - Quiet


Но с некоторыми особенностями. Эта команда должна выполняться в PowerShell и с предварительным получением списка виртуальных машин в переменную. За подробным примером обращаемся в Google.

Бэкап виртуальных машин в WindowsServer  2012R2 идет с помощью моментальных снимков Hyper-V. Также замечу, что происходят приостановка работы виртуальных машин, если на них ядро Linux или отсутствуют Hyper-Vдрайвера. Я лично отказался бэкапить виртуальные машины таким способом. Причина в том, что на WindowsServer 2012 (не R2) требовалось останавливать виртуальные машины до бекапа. После очередного обновления в WindowsServer 2012 R2 бэкап любых виртуальных машин проходит без приостановок. ОС Linux также можно бэкапить «изнутри» с помощь Dump (CentOS, Ubuntu), но это отдельная тема с puppet'ами и другим ПО в моем случае.

3. Восстановление бэкапа и WDS.

WDS — это WindowsDeploymentServices (службы развертывания Windows) и часть функционала WindowsServer 2012R2. Раньше эта служба называлась RIS. Вообщем, суть WDS проста. Прописались в DHCP (автоматически для DHCP WindowsServer) в виде отдельных параметров и далее загружаем на компьютер по сети (такая настройка BIOS компьютера для загрузки по сети) через TFTP загрузчик WDS. Далее загрузчик WDS позволяет выбрать из доступных на ней образов «загрузчиков» Windows. Загрузчики бывают разные — это и образы загрузчиков установщика, и PE, и RE образы. Для загрузчика установщика ещё нужны образы самих Windows в WDS, но это в случае, если нужно установить Windows по сети. Нас интересуют RE образы, которые позволяют поднять машину из бэкапа.

Как и что работает в WDS подробно объяснять не буду. Но вот важные заметки:

Если у вас загрузчик RE загружается на Hyper-V виртуальной машине по сети, но не работает клавиатура в ней. Поздравляю, ваш RE образ для WinXP или древнее и не знает о существовании Hyper-V драйверов. Если у вас система начинает восстанавливать бэкап, но останавливается. Удалите все разделы на жестком (на котором восстанавливается бэкап) и попробуйте заново. Только не забывайте, что бэкап может быть битый и после удаления всех разделов на жестком у вас может ничего не остаться от старой информации. Если бэкап с загрузкой UEFI, а вы хотите восстановить на комп без UEFI, то не стоит тратить время. Скорее всего развернуть бэкап не получится. Бэкап с загрузкой UEFI и разделами GPT можно восстанавливать на машины с другим процессором / материнкой, а вот с разделами MBR формата и с загрузкой обычного BIOS на другой машине развернуть вряд ли получится. Ну у меня точно не получалось. Если бэкап пытаться развернуть на диск с меньшим объемом, то сделать это не получится. Даже если диск в бэкапе был почти пуст. В этом случае помогает восстановление на виртуальную машину с динамическим диском. Далее уменьшение этого диска и создание нового бэкапа. Но такое можно только с загрузчиком UEFI в бэкапе (почему, читаем предыдущий пункт). Стоит перед восстановлением бэкапа отключить лишние диски, чтобы не затереть информацию на них.

4. Особенности дедупликации

Дедупликация (также дедубликация; от лат. deduplicatio — устранение дубликатов) — специализированный метод сжатия массива данных, использующий в качестве алгоритма сжатия исключение дублирующих копий повторяющихся данных.


Можно дедуплицировать работающие виртуальные машины. Можно дедуплицировать бэкапы сегодняшнего дня и можно дедуплицировать бэкапы с историей. Все это дает большой положительный плюс к объему жестких дисков (как для HDD, так и SSD). Но не стоит забывать о некоторых вещах:

Если дедупликация будет работать с дисками с объемом более чем 1 ТБ, то оптимизатор дедупликации будет использовать очень много памяти. Если дедупликация будет работать с сжатыми данными, но с объемом сжатого более чем 10 ТБ, то длительность работы оптимизатора дедупликации будет слишком большим. Такое может получиться, если просто копировать данные ежедневно на дедуплицированный диск в разные папки. Бэкапы на HDD хранить можно и даже нужно, а вот рабочие виртуальные машины хранить на HDD в количестве больше 5-10 не стоит. К дедупликации это относиться с той лишь стороны, что дедупликация таких рабочих виртуальных машин сведет производительность HDD в ноль.

Создайте контрольную точку виртуальной машины (это тоже способ бекапа VM).

Чтобы создать контрольную точку с помощью PowerShell, выберите нужную виртуальную машину, используя команду Get-VM, и передайте ее в команду Checkpoint-VM. В заключение присвойте контрольной точке имя, используя команду - SnapshotName. Полностью команда выглядит так:

Get-VM - Name<VM Name> | Checkpoint-VM - SnapshotName<name for snapshot>

Убедитесь что снашпот выполнен

    Get-VMsnapshot

Команда Get-VMsnapshot показывает все снапшоты сделанные на вашем Hyper-V сервере. Для управления снапшотами вы можете дополнительно использовать команды Update-VMsnapshot, New-VMsnapshot, Apply-VMsnapshot, Get-VMsnapshotTree, иChoose-VMsnapshot.

Контрольные вопросы:

Что из себя представляет служба WDS? Что из себя представляют снапшоты? Что понимается под дедупликацией? Что из себя представляет полный бекап? Что из себя представляет инкрементальный бекап?