Несмотря на то, что среда Hyper-V предоставляет довольно много технологий обеспечения высокой доступности и отказоустойчивости виртуальных машин (таких как кластера, Live Migration, репликация, и т.д.), администратору необходимо думать о классическом резервном копировании виртуальных машин. Все эти технологии позволяют минимизировать время недоступности ВМ в различных сценариях, но не обеспечивают возможность восстановления в случаях различных форс мажоров, таких как природные катаклизмы, ошибки персонала, хакерские или вирусные атаки, атаки конкурентов и подобные сценарии. В этой статье я постараюсь рассмотреть основные требования, которые предъявляются к системам резервного копирования Hyper-V, стратегии резервного копирования и возможности бесплатных и коммерческих продуктов резервного копирования.
Вы можете создавать резервные копии виртуальных машин, запущенных на хосте Hyper-V, с помощью встроенного Windows Server Backup (или скриптов на его основе, запускаемых через wbadmin), бесплатных или коммерческих продуктов. Всех эти способ объединяет то, что в основе резервного копирования виртуальных машин Hyper-V лежит технология снапшотов (или снимков). В снимке хранится как состояние виртуальных дисков, так и содержимое памяти и настройки виртуальной машины. Т.е. снапшот представляет собой состояние виртуальной машин на какой-то момент времени.
Содержание:
- Как работает резервное копирование виртуальных машин Hyper-V?
- Основные требования к средствам резервного копирования ВМ Hyper-V
- Резервное копирование Hyper-V с помощью встроенного Windows Server Backup
- Сторонние средства резервного копирования Hyper-V
Как работает резервное копирование виртуальных машин Hyper-V?
Рассмотрим упрощенно схему работы любого современного средства для бэкапа виртуальных машин Hyper-V.
Примечание. Ранее резервное копирование серверов выполнялось за счет установки агента резервного копирования на каждый хост. В эпоху виртуализации точка создания бэкапа сместилась из гостевой ОС на сам Hyper-V хост, на котором запущены ВМ. Агентные сценарии резервного копирования применяются довольно редко, в основном для конкретных приложений, которые не поддерживают VSS.
Средство резервного копирования отдает команду хосту Hyper-V на создание снимка. После получения команды на создание снапшота гипервизор создает новые файлы (дельта-файлы) и ВМ продолжает свою работу, сохраняя изменения в этих файлах них. Теперь задача средства резервного копирования скопировать оригинальные файлы ВМ (изменения в них не пишутся) на носитель резервных копий и после этого удалить снапшот. При удалении снимка Hyper-V производит консолидацию (слияние) исходных и дельта файлов, работа ВМ при этом также не прерывается. В случае потери продуктивной ВМ, вы можете восстановить ее состояние на момент даты создания резервной копии.
Основные требования к средствам резервного копирования ВМ Hyper-V
Это в общих чертах о резервном копировании Hyper-V, но на деле возникает куча нюансов и проблем. Попробую перечислить наиболее распространены проблемы:
- Чем дольше средство резервного копирования забирает снапшот (бэкап) к себе, тем больше изменений накапливается в дельта файлах. При достаточно большом количестве изменений внутри ВМ за время копирования файлов, процесс слияния файлов при удалении снапшота может вызывать высокую нагрузку на диски, Hyper-V хост и саму ВМ. Т.е. желательно максимально быстро забрать снимок. В Hyper-V Server 2016 для ускорения процесса резервного копирования используется технологий Resilient Changed Tracking, которая позволяет средству резевного копирования копировать только блоки данных, измененные с момент последнего бэкапа. При этом не нужно «забирать» ВМ целиком.
- При копировании данных снимка ВМ по LAN сети с хоста Hyper-V на хранилище резервных копий возможно вызвать высокую нагрузку на сеть. Поэтому для трафика резервного копировании желательно использовать отдельный интерфейс сервера, или же копировать данные через SAN сеть.
- Исходя из вышестоящих пунктов при использовании внешних систем хранения для хранения файлов ВМ, вы можете воспользоваться возможностями СХД по интеграции со средствами резервного копирования (аппаратные снапшоты).
- Изначально гостевая ОС не подозревает о том, что создается ее резервная копия. Соответственно при попытке восстановить ВМ из такого бэкапа, ОС пытается продолжить свою работу с момента создания снимка. В некоторых случаях это может вызвать проблемы как с самой ОС, так и с потерей данных в запущенными внутри нее приложениях (особенно в транзакционных, таких как Exchange, SQL, ADDS и т.п.). Для преодоления этой проблемы в Hyper-V 2016 появился новый тип снимков — Production Checkpoints (Microsoft рекомендуется применять обычные снимки — Standard Checkpoint только в тестовых и лабораторных средах, или для бэкапа остановленных виртуальных машин). Производственные снимки работают за счет наличия в гостевой ОС средств интеграции Hyper-V и основываются на технологии Volume Shadow Copy (Windows) или заморозки файловой системы fsfreeze (Linux). Однако состоянии памяти при этом не копируется. Т.е. Hyper-V уведомляет гостевую ОС о создании снимка, приложение с поддержкой VSS корректор завершает текущие транзакции, переходит в консистентное состояние и создается снимок ВМ. При восстановлении из такого снимка гостевая ОС выключена (т.к. состояние памяти не сохранялось), после включения она считает, что просто произошло аварийное отключение по питанию. Приложение (если оно поддерживает VSS) при этом начинает работу с сохранённого согласованного состояния.
- Для хранения бэкапов виртуальных машин нужно достаточно много места. Чем чаще вы делаете снимки и чем дольше должны хранится бэкапы, тем больше места вам нужно в хранилище резервных копий. Как правило вам на помощь может прийти технология дедупликации данных (встроенная в Windows Server) или собственная технология от вендора средства резервного копирования. Если вы используете дифференциальные диски, нужно чтобы средство резервного копирования поддерживало эту технологию. Иначе вы можете хранить одинаковые данные ВМ несколько раз.
- При большой плотности виртуальных машин на хосте желательно иметь возможность планирования времени резервного копирования ВМ, чтобы избежать чрезвычайно нагрузки на продуктивные системы в производственное время.
- Если вам нужно хранить несколько копий виртуальной машины на несколько дат несколько дней, нужно обеспечить управление количеством хранимых копий ВМ, автоматизировав управление резервными копиями скриптами или средствами программы резервного копирования.
- Также важны средства мониторинга создания резервных копий. Не хочется в определенных момент узнать, то резервное копирование не работает, т.к. на СХД под бэкапы уже давно кончилось место. Здесь же нужно вспомнить про средство верификации резервных копий.
- Довольно часто нужно восстановить из резервной копии виртуальной машины конкретный файл. Некоторые средства резервного копирования / восстановления позволяют выполнять гранулярное восстановление файлов / папок без необходимости развёртывания целиком ВМ или ее виртуального диска.
Примечание. Есть даже средства восстановления конкретных хранилищ, ящиков и даже отдельных писем из резервной копии ВМ с Exchange.
- Возможность разделения прав доступа к системе за счет ролевой модели управления резервным копированием (актуально для администраторов, отвечающих за разные группы систем или устройств).
- Не забывайте про необходимость реализации классической стратегии резервного копирования 3-2-1 (три копии, на двух разных носителях, один из которых на другой площадке).
Далее мы рассмотрим несколько популярных решений по организации резервного копирования ВМ на Hyper-V с точки зрения рассмотренных возможностей.
Резервное копирование Hyper-V с помощью встроенного Windows Server Backup
Бесплатный способ организации системы резервного копирования ВМ на Hyper-V предполагает использование встроенного Windows Server Backup через графический мастер резервного копирования/восстановления или утилитой wbadmin (входит в состав WSB). Windows Server Backup поддерживает VSS и инкрементальное копирование, эта фича доступна как в полноценной редакции Windows Server 2012 и выше, так и в Hyper-V. Для установки данного компонента нужно воспользоваться консолью Server Manager или командой:
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
У WSB есть графическая консоль wbadmin.msc, которая позволяет создавать и управлять резервным копированием Hyper-V, создавать расписание резервного копирования и т.д. Для бэкапа ВМ достаточно запустить простой мастер, в котором нужно выбрать какие ВМ с сервера Hyper-V нужно бэкапить, куда, и указать расписание резервного копирования.
Совет. В предыдущих версиях Hyper-V до 2012 с помощью встроенных средств резервного копирования было нельзя создать резервную копию одной ВМ – бэкапились все виртуальные машины сразу.
Но обычно проще воспользоваться утилитой командной строки wbadmin для бэкапа ВМ Hyper-V. Тем более из графического интерфейса нельзя создать более одного задания резервного копирования ВМ, причем это задание всегда будет перезатирать предыдущие резервные копии.
Чтобы создать резервную копию ВМ с именем Server 1 в локальную папку на диске C: (не самая правильная, идея не так, ли), просто выполните команду:
wbadmin start backup –backupTarget:C: –hyperv:"Server 1"
Например, чтобы создать резервную копию двух ВМ и сохранить их в сетевую папку (допустим это внешнее NAS хранилище), достаточно выполнить команду:
wbadmin start backup -backuptarget:\\192.168.1.100\VMbackup: -hyperv:"TestVM01,TestVM 02" -allowDeleteOldBackups -quiet
Вы можете добавить эту команду в планировщик Windows (с помощью того же PowerShell) и тем самым настроить регулярное создание бэкапов ВМ (старые бэкапы при этом удаляются).
Например, при бэкапе ВМ с контроллером домена AD, вы можете по окончании бэкап сбросить транзакционные логи AD, чтобы база ADDS в резервной копии была в консистентном состоянии (аналогично можно сделать бэкап ВМ с Exchange или SQL Server:
wbadmin start backup -backuptarget:\\192.168.1.100\VMbackup: -hyperv:MSK-DC1 -vssFull
Чтобы получить список зарегистрированных в системе резервных копий, выполните команду:
wbadmin get versions
Совет. Обратите внимание, что при резервном копировании ВМ Hyper-V на хосте с Windows 2012 и выше, ВМ не переводится в режим приостановки, если на ней установлены компоненты интеграции Hyper-V.
С восстановлением ВМ из такого бэкапа все также достаточно просто. Однако вы не можете восстановить из бэкапа один конкретный файл или папку, вам придется вручную смонтировать vhdx файл с резервной копией и также вручную скопировать нужный файл.
При всей своей простоте WSB достаточно надежное решение для резервного копирования ВМ Hyper-V, работает довольно быстро и позволяет управлять расписанием резервного копирования. Но конечно, у Windows Server Backup есть свои недостатки:
- Нет средств мониторинга выполнения бэкапов, проверки консистентности резервных копий ВМ и приложений в них;
- Сложно управлять резервным копированием в средних и крупных инсталляциях Hyper-V (подходит для небольших сред с 1-2 хостами Hyper-V);
- Нельзя автоматически восстановить конкретный файл или состояние приложения (вам придется вручную смонтировать vhdx файл с резервной копией и вручную скопировать нужный файл);
- При большой плотности и размерах виртуальных машин на хосте вам придется с помощью планировщика Windows настраивать порядок создания резервных копий, чтобы не вызвать перегрузки сервера, а также высокой нагрузки на сети LAN/SAN/ iSCSI в рабочие часы (если вы храните бэкапы на другом хранилище).
Сторонние средства резервного копирования Hyper-V
МАТЕРИАЛ ПОДГОТОВЛЕН ПРИ СОДЕЙСТВИИ BACKUPSOLUTION.RU
Специализированный поставщик решений для резервного копирования и восстановления данных
При большом количестве хостов Hyper-V и виртуальных машин, использовать встроенный Windows Server Backup нереально. Вам в любом случае придется выбирать одно из сторонних решений. Однозначно говорить, что тот или иной продукт будет идеальным решением для резервного копирования Hyper-V нельзя, слишком много нюансов нужно учесть. Это и количество хостов, лицензионные ограничения, необходимый функционал, архитектура сети и т.д.
На рынке представлено большое количество коммерческих и бесплатных продуктов для резервного копирования, и запутаться в них очень сложно. Обычно для оценки лидеров ниши используется магический квадрант Gartner. Я нашел такую картинку, характеризующие основных игроков и лидеров на рынке резервного копирования для дата-центров.
Как вы видите, Гартнер среди лидеров решений по резервному копированию выделяет компании и продукты:
- Actifio
- Commvault
- Dell EMC
- IBM
- Rubrik
- Veeam
- Veritas Technologies (Symantec — Veritas Backup Exec)
- Acronis (Veritas Backup Exec)
- Symantec (Veritas Backup Exec)
В рамках одной статьи оценить и сравнить все продукты довольно сложно, поэтому попробуем рассмотреть возможности нескольких программ – лидеров рынка по резервному копированию Hyper-V.
- Veritas Backup Exec
- Commvault Backup
- Veeam Backup
- Acronis Backup
Я составил небольшую сравнительную таблицу с интересными мне возможностями этих средств резервного копирования (рассматривается функционал версий, актуальных на момент написания статьи).
Функционал/ Продукт | Veritas Backup Exec 20.2 | Commvault Backup and Recovery 11 | Veeam Backup & Replication 9.5 | Acronis Backup 12.5 |
Резервное копирование файловых систем | Windows / Linux | Windows / Linux / IBM AIX / HP-UX | Windows / Linux / IBM AIX / HP-UX. Агенты для физических систем автономны, не поддерживают совместное использование хранилищ групповые политики | Windows / Linux |
Передача резервных копий дисковых массивов по NDMP | + Поддержка NDMP v4+. Список поддерживаемых хранилищ есть на сайте veritas. Не поддерживается инкрементальное и дифференциально копирование, бэкап только LUN целиком и нельзя восстановить отдельные файлы. |
+ Поддержка прямого резервного копирования данных с файловых устройств NAS. На сайте Commvault есть список поддерживаемых версий файловых систем разных производителей. При использовании этого типа резервного копирования данные отправляются напрямую с NAS через MediaAgent (прокси сервер) на устройство хранения, минуя управляющий сервер CommServe. Поддержка бэкапов отдельных vmdk файлов. |
+ Поддержка NDMP (v4 и выше) появилась относительно недавно. Поддерживается бэкап только LUN целиком. Поддерживается до 10 точек восстановления (на NetApp до 30). |
— |
Передача моментальных снимков ВМ по SAN | + На сайте Veritas в секции Hardware Compatibility List представлен список совместимых HBA адаптеров, SAN свичей |
+ Поддерживается бэкап по SAN как для ESXi так и для Hyper-V хостов |
+ Необходимо дополнительная физическая машина с ролью выделенного прокси сервера Veeam, подключенного к той же сети SAN и презентованными LUN |
Поддержка моментальных снимков только в VMware vSphere для хранилищ NetApp с Data ONTAP |
Репликация резервных копий в несколько хранилищ (в том числе на удаленную площадку) | + | + | + | + |
Поддержка гранулярного восстановления приложений и БД | Microsoft SQL / Exchange / AD | Microsoft SQL / Exchange / AD / Domino / DB2 / MySQL / Oracle | Microsoft SQL / Exchange / AD / Oracle (только для виртуализированных приложений, не поддерживается на физических системах) |
Microsoft SQL / Exchange / AD |
Управление аппаратными снимками СХД | + | + (IntelliSnap) | + (список поддерживаемых вендоров и моделей СХД ест ь на сайте, для некоторых необходима установка отдельного модуля интеграции) | + |
Лицензирование для сред виртуализации | Хост / сокет / Объем данных | Сокет / Объем данных | На сокет (процессор) | На хост |
Стоимость 1 лицензии (ориентировано) | От 85 тыс. р. | 190 тыс. р. | 70 тыс. р. (редакция Standard), 200 тыс. р. (редакция Enterprise Plus) |
45 тыс. р. (редакция Standard), 95 тыс. р. (редакция Advanced) |
Как вы видите, функционал и стоимость лицензий для каждого продукта довольно сильно отличается. Поэтому перед принятием решений о выборе того или иного решения стоит составить список требований к продукту резервного копирования Hyper-V, список имеющегося оборудования и необходимый функционал. У большинства известных продуктов резервного копирования есть бесплатные версии с некоторыми ограничениями, обычно их достаточно для оценки функционала.
Время на прочтение
6 мин
Количество просмотров 105K
Хочу поделиться с вами опытом о том, что у меня отняло море времени — о бэкапах виртуальных машин и обычных компьютеров. Как сделать дешево и красиво.
Пожалуй, начну с того, что если вы хотите бэкапы на VMWare, то готовьтесь платить. Бесплатный VMWare — это бесплатно до тех, пока речь не идет о миграциях, бэкапах и тому подобное. На этом месте можно начать бесконечный холивар, но без моего участия. Мои повествования будут только о Hyper-V на Windows Server 2012R2. Хотя часть статьи можно применить и к VMWare, но, вероятно, будут подводные камни.
Бэкапить на Hyper-V мы можем бесплатно, а точнее, теми средствами Windows, за которые мы уже заплатили, приобретая лицензии Windows Server. Для удобства работы с нашими бэкапами (к тому же за это мы тоже заплатили) будем использовать WDS и дедупликацию (может и групповые политики).
1. Бэкап изнутри виртуальных машин
1.1. Бэкап сегодняшнего дня
Насколько мы знаем, любой Windows умеет делать бэкап. Причем, любые настройки бэкапа Windows через интерфейс сводятся, в конечном счете, к фоновому использованию утилиты wbadmin. А что, собственно, умеет wbadmin? А умеет она делать как бэкап образа с системным разделом, так и бэкап отдельных папок. В данной части статьи нас интересует только бэкап образ (системного раздела). Остальное — это специфичные данные виртуальных машин и бэкапить нужно отдельно. Отсюда вывод: Не храните на системном разделе виртуальных машин (и на обычных компьютерах тоже) никакой ценной информации и баз данных, отдельных приложений. MS SQL Server / MS Exchange / «Сервер приложений 1С» и другое ставим только на не системные разделы или на отдельные диски.
Итак, что же нужно, чтобы бэкап отработал? А нужна всего лишь одна команда:
wbadmin.exe start backup -backupTarget:\\СерверБэкапа\ПапкаДляБэкапаВнутреннего -allCritical -quiet
На самом деле, для этой команды нужны особые права, но о них позже. Сейчас важно понять одну вещь. Данная команда делает не просто бэкап. Она делает инкрементальный бэкап.
Причем, для серверных и настольных (клиентских) Windows бэкапы формируются разные. И разница заключается в том, что для серверных ОС у нас получатся снимки каждого бэкапа, а вот для настольных — снимок останется всегда только последний. Спросите, а что это за такой инкрементальный бэкап? А «инкрементальный» он остается, потому что
бэкапим мы не весь образ, а только изменившуюся часть со времени последнего бэкапа (а значит и меньше трафика и быстрее создается бэкап).
Те, кто сталкивался с аналогичной ситуацией заметят, что бэкап всегда будет «инкрементальный» (полный). Так как бэкап происходит в нашем случае на сетевой диск.
То есть для серверной Windows снимки остаются тоже только последние.Позже, выявил, что нет никакой разницы в работе wbadmin на серверной и клиентской ОС. Разве, что разница есть в интерфейсе. wbadmin производит инкрементальный бэкап (кроме первого бэкапа), если указан жесткий диск в ключе -backupTarget (команда использует ключ по умолчанию -vssСopy). Или производит полный бэкап, если добавить ключ -vssFull.
1.2. Бэкап с историей предыдущих снимков
На данный момент, мы сделали бэкап образов виртуальных машин. Но это же у нас бэкап снимков только сегодняшнего дня. Завтра он будет совершенно другой… Но что будет, если бэкапить бэкапы? Да и ещё по-настоящему инкрементально. Так и поступим.
wbadmin.exe start backup -backupTarget:e: -allCritical -include:d: -quiet
#где диск D - бэкапы на сегодня, а диск E - бэкапы с историей
Но мне было этого недостаточно и я сделал так:
(
echo select vdisk file="\\СерверБэкапа2\ПапкаДляБэкапа2\ИмяБэкапаДляЭтогоСервера2.vhdx"
echo attach vdisk
) | diskpart
Скрипт подключает виртуальный диск из сети. После бэкапа подобный же скрипт отключает диск. ОС помнит, что у диска определена буква E. Но не дай бог подсунуть чужой диск с той же буквой E, бэкап отработает уже по полной (не инкрементально и на чужой диск). Имейте это в виду и используйте, букву, ближе к концу алфавита (X, Y, Z)…
Замечу сразу, если бэкап сегодняшний будет производиться параллельно с бэкапом с историей, то получим в итоге бэкап, который невозможно поднять.
Чтобы достать бэкап предыдущих дней можно воспользоваться интерфейсом (GUI) сервера, на котором производятся бэкапы с историей. Более того, все запуски команды wbadmin в консоли Windows знает и помнит. Служба восстановления даст возможность вам выбрать нужный архив в бэкапах с историей.
2. Бэкап файлов vhdx виртуальных машин
Производится легко и непринужденно:
wbadmin start backup -backupTarget:$BackupPath -hyperv:$VMList -Quiet
Но с некоторыми особенностями. Эта команда должна выполняться в PowerShell и с предварительным получением списка виртуальных машин в переменную. За подробным примером обращаемся в Google.
Бэкап виртуальных машин в Windows Server 2012 R2 идет с помощью моментальных снимков Hyper-V. Также замечу, что происходят приостановка работы виртуальных машин, если на них ядро Linux или отсутствуют Hyper-V драйвера. Я лично отказался бэкапить виртуальные машины таким способом. Причина в том, что на Windows Server 2012 (не R2) требовалось останавливать виртуальные машины до бекапа.
Да и сейчас на Windows Server 2012 R2 приостановки Linux меня не устраивают, когда есть первый неплохой способ бэкапа.
(в комментариях к данной статье есть замечание). После очередного обновления в Windows Server 2012 R2 бэкап любых виртуальных машин проходит без приостановок. ОС Linux также можно бэкапить «изнутри» с помощь Dump (CentOS, Ubuntu), но это отдельная тема с puppet’ами и другим ПО в моем случае.
3. Восстановление бэкапа и WDS
А теперь, по-моему мнению, самая полезная часть этой статьи про бэкапы.
WDS — это Windows Deployment Services (службы развертывания Windows) и часть функционала Windows Server 2012R2. Раньше эта служба называлась RIS, но я с ней не сталкивался. Вообщем, суть WDS проста. Прописались в DHCP (автоматически для DHCP Windows Server) в виде отдельных параметров и далее загружаем на компьютер по сети (такая настройка 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. Особенности дедупликации
Можно дедуплицировать работающие виртуальные машины. Можно дедуплицировать бэкапы сегодняшнего дня и можно дедуплицировать бэкапы с историей. Все это дает большой положительный плюс к объему жестких дисков (как для HDD, так и SSD). Но не стоит забывать о некоторых вещах:
- Если дедупликация будет работать с дисками с объемом более чем 1 ТБ, то оптимизатор дедупликации будет использовать очень много памяти.
- Если дедупликация будет работать с сжатыми данными, но с объемом сжатого более чем 10 ТБ, то длительность работы оптимизатора дедупликации будет слишком большим. Такое может получиться, если просто копировать данные ежедневно на дедуплицированный диск в разные папки.
- Бэкапы на HDD хранить можно и даже нужно, а вот рабочие виртуальные машины хранить на HDD в количестве больше 5-10 не стоит. К дедупликации это относиться с той лишь стороны, что дедупликация таких рабочих виртуальных машин сведет производительность HDD в ноль.
5. Групповые политики
Вот тут можно долго и по-разному реализовывать установку скрипта бэкапа с помощью GPO. Но хотелось бы обратить внимание на важные моменты:
- Бэкап проводить только от имени отдельной учетной записи пользователя.
- Не хранить скрипты с паролям в групповых политиках.
- Запускать скрипт с особыми правами на чтение всей информации системы.
Ну и, собственно, вывод: Бекап с помощью средств wbadmin возможен, вполне реализуем и главное жизнеспособен. Но только, если у вас есть время и много терпения на всякие мелочи. Так, например, в статье ничего не сказано, как проводить мониторинг успешно созданных бэкапов. Мне удалось сделать мониторинг на Zabbix, но об этом можно написать ещё пару статей… Надеюсь, статья будет вам полезна и сэкономит море бесценного времени.
Although the Hyper-V environment provides quite a lot of technologies of high availability and fault tolerance for running virtual machines (such as failover clusters, Live Migration, replication, etc.), an administrator must implement traditional ways to back up virtual machine instances. All these technologies can minimize the VMs downtime in various scenarios, but do not provide any disaster recovery options due to human errors, hacker or virus attacks, competitor attacks or similar circumstances. In this article I will try to review the basic requirements for Hyper-V backup solutions, backup strategies and the features of free and commercial backup products.
You can backup virtual machines running on the Hyper-V host using the built-in Windows Server Backup features (or wbadmin scripts based on it), as well as other free or commercial products. All of them are using snapshot (checkpoint) technology to backup running Hyper-V VMs. A checkpoint is a state of a virtual machine at some point of time. The checkpoint stores the state of virtual disks, the contents of RAM, as well as the settings of a VM.
Contents:
- How Does the Hyper-V Virtual Machine Backup Work?
- Hyper-V VM Backup Best Practices and Requirements
- Backup Hyper-V VMs Using Windows Server Backup
- Top Third-Party Hyper-V Backup Products
How Does the Hyper-V Virtual Machine Backup Work?
Let’s consider the operation scheme of any modern Hyper-V virtual machine backup solution.
Note. Previously, server backup was performed by a backup agent installed on each host. In the virtualization era the backup creation point has moved from the guest OS to the Hyper-V host, on which VMs are running. Currently, agent backup scenarios are rare, and are mostly used for the specific apps that do not support VSS.
The backup tool instructs the Hyper-V host to create a checkpoint. After receiving the command, the hypervisor creates some new files (delta files) and the VM goes on working and starts saving changes in the files. Now the backup tool must copy the original VM files (no changes are written to them) to the backup media and then delete the checkpoint. When deleting the checkpoint, Hyper-V consolidates (merges) the original and delta files, in the meantime the VM goes on working. If you lose the productive VM, you will be able to recover its state at the point of time when the backup was created.
Hyper-V VM Backup Best Practices and Requirements
This is general information about the Hyper-V backup, but actually, there are a ton of nuances and issues. I will try to list the most common problems:
- The longer the backup tool is copying the checkpoint (backup), the more changes are logged in the delta files. If there are many changes in the VM while the checkpoint is being copied, merging files after deleting the checkpoint may high load the storage subsystem, the Hyper-V host, and the VM itself. It means that it is better to copy the checkpoint as quickly as possible. In Hyper-V Server 2016, the Resilient Changed Tracking (RCT) technology is used to make backup faster due to copying only the blocks of data changed since the last backup. Thus, you do not need to copy the VM as a whole.
- When copying the VM checkpoint data over LAN from the Hyper-V host to the backup storage, the network may be highly loaded. So it is better to use a separate server network or HBA interface for the backup traffic or copy the data over SAN.
- Based on the points described above, when using external data storage to store VM files, you can use the features of data storage integration with the backup product (such a hardware snapshots).
- Originally, the guest OS does not know that it is backed up. So when trying to restore a VM from that backup, the OS tries to continue its operation since the moment the checkpoint has been created. In some cases, it may result in some issues in the OS itself and losing data in the running apps (especially in transaction ones, like Exchange, SQL, ADDS, etc.). To solve this problem, a new checkpoint type — Production Checkpoints appeared in Hyper-V 2016. (Microsoft recommends using Standard Checkpoints only in test or laboratory environments or to backup stopped VMs.) The production checkpoints are working due to Hyper-V integration tools in the guest OS and are based on Volume Shadow Copy (Windows) or file system freezing daemon on Linux (fsfreeze). However, the state of the memory is not copied. It means that Hyper-V notifies the guest OS of creating a checkpoint, the app supporting VSS consolidation ends up the current transactions, goes into a consistent state and the VM checkpoint is created. When recovering from a checkpoint, the guest OS is powered off (since the memory state has not been saved), and after being turned on it thinks that an emergency shutdown has occurred. The app (if it supports VSS) starts working from the saved consistent state.
- To store virtual machine backups you need quite a lot of space. The more often you make checkpoints, the more place you need in the backup storage. Typically, you can use the Data Deduplication technology (integrated into Windows Server) or the deduplication solution from the backup provider. If you are using differential disks, choose the backup tool that supports this technology. Otherwise, you can store the same VM data several times.
- If the density of VMs on the host is high, it is worth to plan the backup time to prevent high load on the productive systems in the working hours.
- If you have to store multiple VM copies for several days, you will have to manage the number of the stored VM copies (you can automatize backup management using scripts or your backup tool features).
- Backup monitoring tools are also important. It would be frustrating to learn that you cannot back up something due to the lack of free space in the data storage. The backup verification tool is also recommended.
- Quite often you have to recover a certain file from a VM backup. Some backup/recovery products allow fine-grained recovery of files/folders without the need to restore the whole VM or its virtual disk.
Note. Also, there are some tools that can recover specific mailbox databases, mailboxes, and even the specific emails from a VM backup with Exchange installed.
.
- You can split the access privileges with the role-based backup management model (it is relevant for administrators responsible for different system or device groups).
- Don’t forget about implementing the traditional backup strategy 3-2-1 (three copies on two different media with one of them being stored on a remote site).
Next, we’ll consider some common solutions for Hyper-V VM backup based on the features described above.
Backup Hyper-V VMs Using Windows Server Backup
A free way to organize VM backup on Hyper-V suggests using the built-in Windows Server Backup feature. You can use WSB via the graphic backup/restore wizard or the wbadmin command-line tool (it is a part of WSB). Windows Server Backup supports VSS and incremental backup. This feature is available both on Windows Server 2012 (and newer) and on Hyper-V Server. To install WSB component, go to the Server Manager console or run this command:
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
Windows Server Backup has the GUI console (wbadmin.msc) that allows to create and manage Hyper-V backups, create backup schedule, etc. To backup a VM, just start a simple wizard, select which VMs from your Hyper-V server have to be backed up and where the backups are to be saved, and specify the backup schedule.
Tip. In Hyper-V Server versions before 2012 you could not create a backup of a single VM using the built-in backup tool – all VMs were backed up at once.
Usually, it is easier to use the command prompt to backup a Hyper-V VM. Moreover, you cannot create more than one VM backup task in the graphic interface, and the task will overwrite all previous backup tasks.
To back up a VM named “Server 1” to a local folder on disk C: (it is not the best idea, is it?), just run this command:
wbadmin start backup –backupTarget:C: –hyperv:"Server 1"
For example, to back up two VMs and save them to a network shared folder (suppose, it is the external NAS storage), it is enough to run the following command:
wbadmin start backup -backuptarget:\\192.168.2.15\HVMback: -hyperv:"TestVM01,TestVM02" -allowDeleteOldBackups -quiet
You can add this command to the Windows Task Scheduler using PowerShell and thus schedule regular VM backups (older backups will be removed in this case).
For example, to backup a VM with the AD domain controller, you can reset the AD transaction logs after the backup is over in order for the ADDS database in the backup to be consistent (in the same way you can back up a VM with Exchange or SQL Server):
wbadmin start backup -backuptarget:\\192.168.2.15\HVMback: -hyperv:PAR-DC1 -vssFull
To get the list of backups registered in the system, run this command:
wbadmin get versions
Tip. Please note that when you backup a VM on the Hyper-V host running Windows 2012 or newer, the VM is not paused (suspended) if it has Hyper-V integration components installed.
WSB is a simple, but reliable solution for Hyper-V VM backup. It is quite fast and allows to manage the backup schedule. However, Windows Server Backup has its drawbacks:
- There are no tools to monitor backup process, to verify the consistency of VM backups or apps in them.
- It is hard to manage backup in medium and large Hyper-V installations (it is suitable only for small environments with 1-3 Hyper-V hosts).
- You cannot automatically recover the specific file or the app state. (You will have to manually mount a .vhdx file of a backup and manually copy the file you need).
- With high density and large sizes of VMs on a host, you will have to schedule backups using Windows Task Scheduler to prevent server overloads , as well as high load on LAN/SAN/iSCSI network during the business hours (if you store your backups on an external storage).
Top Third-Party Hyper-V Backup Products
It is impossible to use the Windows Server Backup if there are a lot of Hyper-V hosts and virtual machines. In this case you will have to choose one of the third-party solutions. You cannot say for sure that this or that product would be an ideal solution for Hyper-V backup since there are a lot of things to be considered. They include the number of hosts, licensing limitations, necessary features, network architecture, etc.
There are many commercial and free backup products in the market, and it is hard to choose the right one. Usually, Gartner magic quadrant is used to determine the niche leaders. I have found this image that shows the main players and leaders in the market of backup solutions for data centers in 2019.
As you can see, Gartner names the following companies and products among the leading providers of backup solutions:
- Commvault
- Dell EMC
- IBM
- Veeam
- Veritas Technologies (Symantec — Veritas Backup Exec)
- Actifio
- MIcroFocus (HPE Data Protector)
APPLIES TO
- Windows Server 2008 Enterprise
- Windows Server 2008 Datacenter
- Windows Server 2008 Standard
- Windows Web Server 2008
- Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Enterprise
- Windows Server 2008 R2 Standard
- Windows Web Server 2008 R2
KB958662 lists the procedures, and includes a FixIt script, can you help expand this article with additional information, screenshots, demonstrations?
Use the FixIt on the KB page
to register the Microsoft Hyper-V VSS writer.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For
added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft
Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/ )
How to back up and restore the registry in Windows.
NOTE:
- Virtual machines not running Windows Server 2003 or Windows Server 2008 are put into a saved state before backup. The VM down time for these VMs is dependent on the time to save the state.
- The VSS Writer treats all VMs the same, regardless of what workload is running within it. This may or may not be the behavior you want, for example if your VM is running as a Domain Controller. Plan accordingly.
- The Hyper-V VSS Writer does not work on passthrough disks.
-
The steps in this article are for all VMs on the host. To back up only specified VMs on the host use your enterprise backup software of choice.
To register the Hyper-V VSS writer with Windows Server Backup, follow these steps:
- Click Start, click Run, type
regedit, and then click OK. - Locate the following registry key:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
- Right-click CurrentVersion, point to
New, and then click Key. - Type WindowsServerBackup, and then press ENTER.
- Right-click WindowsServerBackup, point to
New, and then click Key. - Type Application Support, and then press ENTER.
- Right-click Application Support, point to
New, and then click Key. - Type {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}, and then press ENTER.
- Right-click {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}, point to
New, and then click String Value. - Type Application Identifier, and then press ENTER.
- Right-click Application Identifier, and then click
Modify. - In the Value data box, type
Hyper-V, and then click OK. - On the File menu, click
Exit.
Check whether the problem is fixed. If the problem is fixed, you are finished with this article. If the problem is not fixed, you can
contact support (http://support.microsoft.com/contactus)
.
Back up the virtual machines by using Windows Server Backup
- When you perform a backup of the virtual machines, you must back up all volumes that host files for the virtual machine. For example, if the virtual machine configuration files are stored on the D: volume, and the virtual machine virtual hard disk (VHD)
files are stored on the E: volume, you must back up both the D: and E: volumes. - Virtual machines that do not have Integration Services installed will be put in a saved state while the VSS snapshot is created.
- Virtual machines that are running operating systems that do not support VSS, such as Microsoft Windows 2000 or Windows XP, will be put in a saved state while the VSS snapshot is created.
- Virtual machines that contain dynamic disks must be backed up offline.
Note: Windows Server Backup does not support backing up Hyper-V virtual machines on Cluster Shared Volumes (CSV volumes).
Restore virtual machines by using Windows Server Backup
To restore the virtual machines, follow these steps:
- Start Windows Server Backup in Administrative Tools.
- On the Actions menu, click
Recover. - Select the server that you want to recover data from, and then click
Next. - Select the date and time that you want to restore from, and then click
Next. - Select the Applications recovery type, and then click
Next. - Select Hyper-V, and then click
Next. - Select the restore location, and then click Next.
- Click Recover to start the restore process.
Note All volumes that host files for the virtual machine will be restored. Individual virtual machines cannot be restored by using Windows Server Backup.
Virtual machines that contain two or more snapshots will not be restored. To work around this issue, follow these steps:
- Start Hyper-V Manager in Administrative Tools.
- Delete the virtual machine that was not restored.
- Start Windows Server Backup in Administrative Tools.
- On the Actions menu, click
Recover. - Select the server that you want to recover data from, and then click
Next. - Select the date and time that you want to restore from, and then click
Next. - Select the Files and folders recovery type, and then click
Next. - Select the directory where the snapshots are stored, and then click
Next.Note By default, the snapshots are located in the following directory:
C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots
- Select the location where the snapshots should be restored, and then click
Next. - Click Recover to start the restore process.
- After the restore has finished, perform another restore. However, use the
Applications recovery type, and select Hyper-V to correctly restore the virtual machines.
You should test that your backups are good.
Tore Lervik gives a PowerShell script to monitor your backups on his blog. His script below checks the last successful backup, and script sends email if the last successful backup is older a designated time period (24 hours by default). It will also send
a «backup succeeded» mail.
$maxHours = 24 $email = "your@mail.net" $smtpServer = "stmp.mail.net" $sendSuccess = $true ## Script ------------------------------------------------------------ Add-Pssnapin Windows.serverbackup $summary = Get-WBSummary $timeBetween = [DateTime]::Now - $summary.LastSuccessfulBackupTime $computerName = get-content env:computername if ($summary -eq $null) { $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($email, $email, "BackupCheck.ps1 failed on $computerName", "BackupCheck.ps1 failed with unknown error.") } elseif ($timeBetween.TotalHours -gt $maxHours) { $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($email, $email, "Windows Server Backup on $computerName failed", "Last successful backup on $computerName was at " + $summary.LastSuccessfulBackupTime) } elseif ($sendSuccess) { $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($email, $email, "Windows Server Backup on $computerName was successful", "Last backup on $computerName was successful at " + $summary.LastSuccessfulBackupTime) }
Resources:
Blog:
DPM for data backup/recovery of virtualized apps and environments
TN Library:
Protecting Hyper-V with DPM 2007 SP1
Although the Hyper-V environment provides quite a lot of technologies it is always best to implement traditional ways to backup Hyper-V Virtual Machines
At Bobcares, we often get requests to configure backup on Hyper-V Virtual Machines for our customers.
Today, let’s see how our Support Engineers set this up for our customers as part of our Server Management Services.
How Does the Hyper-V Virtual Machine Backup Work?
The backup creation is on the Hyper-V host rather than the guest OS, on which VMs are running.
The backup tool instructs the Hyper-V host to create a checkpoint.
After receiving the command, the hypervisor creates some data files, and VM starts saving changes in the files.
Then the backup tool copies the original VM files (no changes are written to them) to the backup media and then deletes the checkpoint.
While deleting the checkpoint, Hyper-V merges the original and delta files, in the meantime, the VM goes on working. And we will be able to recover its state at the point of time we started to backup.
[Need assistance to backup your VM? We are here for you!]
Backup Hyper-V Virtual Machines Using Windows Server Backup
One of the easiest ways to VM backup on Hyper-V is to use the built-in Windows Server Backup(WSB) feature.
We can use WSB via the graphic backup/restore wizard or the wbadmin command-line tool. Windows Server Backup supports VSS and incremental backup.
To install WSB component
Run the following command to install WSB component.
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
Windows Server Backup has the GUI console (wbadmin.msc) that allows to create and manage Hyper-V backups.
To backup a Virtual Machine
1. Start a simple wizard.
2. Then select the VMs which we want to backup from the Hyper-V server.
3. And specify where the backups are to be saved.
4. Also, we have to specify the backup schedule.
To backup a Hyper-V VM using the command prompt
We can backup a VM named “Server 1” to a local folder on disk C (or any other disk preferred) by giving the following command:
wbadmin start backup –backupTarget:C: –hyperv:"Server 1"
Example to back up two VMs and save them to a network shared folder:
If it is an external NAS storage we can run the following command:
wbadmin start backup -backuptarget:\\192.168.2.15\HVMback: -hyperv:"TestVM01,TestVM02" -allowDeleteOldBackups -quiet
To get the list of backups
We can use the following command to get the list of backups registered in the system:
wbadmin get versions
It should always be kept in mind that when we backup a VM on the Hyper-V host running Windows 2012 or newer versions the VM is not paused (suspended).
[Need further assistance? We are here for you!]
Conclusion
In short, we’ve seen how the Hyper-V Virtual Machine Backup works. Also, we saw the method that our Support Engineers use to backup Hyper-V Virtual Machines.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;