Эта статья посвящена особенностям организации резервного копирования виртуальных машин, запущенных в среде Microsoft Hyper-V. Мы рассмотрим требования к средствам резервного копирования Hyper-V, стратегии резервного копирования и основные бесплатные и коммерческие продукты в этой нише.
Несмотря на то, что в среде Hyper-V доступно большое количество технологий обеспечения высокой доступности и отказоустойчивости ВМ (кластера, Live Migration , репликация, и т.д.), системному администратору необходимо не забывать о классическом резервном копировании виртуальных машин.
Как работает резервное копирование виртуальных машин Hyper-V?
Рассмотрим упрощенно схему работы любого современного средства для бэкапа виртуальных машин Hyper-V.
Есть два подхода к резервному копированию ВМ:
- Резервное копирование ВМ с хоста Hyper-V (host-level VM backup) – администратор управляет инструментом резевного копирования на уровне всего хоста Hyper-V;
- Резервное копирование с помощью агента, установленного в гостевой ОС (guest-level VM backup) – используются довольно редко. В основном для приложений, которые не позволяют корректно создать бэкап через VSS.
В основе всех современных средств резервного копирования ВМ Hyper-V лежит технология снапшотов (снимков). Снимок содержит состояние ВМ на определенный момент времени и содержит как содержимое виртуальных жестких дисков, так содержимое памяти и настройки виртуальной машины.
Вот как упрощенно выглядит типовой процесс резервного копирования в Hyper-V:
- Средство резервного копирования (СРК) отдает команду хосту Hyper-V на создание снимка ВМ;
- Гипервизор создает новые файлы (дельта-файлы) и ВМ продолжает свою работу, сохраняя изменения в этих файлах;
- СРК копирует оригинальные файлы ВМ (изменения в них не пишутся) на носитель резервных копий (внешний диск, папку, ленту) и после отдает команду на удаления снапшота ВМ;
- Hyper-V удаляет снапшот и производит консолидацию (слияние) исходных и дельта файлов (работа ВМ при этом не прерывается)
Export-VM -Name win10 -Path '\fs01backupwin10' -CaptureLiveState CaptureSavedState
Основные требования к средствам резервного копирования ВМ 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 только в тестовых и лабораторных средах, или для бэкапа остановленных виртуальных машин); Для работы Production Checkpoints в гостевой ОС средств должны быть установлены компоненты интеграции Hyper-V, и включена служба Volume Shadow Copy (Windows) или заморозки файловой системы fsfreeze (Linux). Однако состоянии памяти при этом не копируется. Т.е. Hyper-V уведомляет гостевую ОС о создании снимка, приложение с поддержкой VSS корректно завершает текущие транзакции, переходит в консистентное состояние и создает снимок ВМ. При восстановлении из такого снимка гостевая ОС выключена (т.к. состояние памяти не сохранялось), после включения она считает, что просто произошло аварийное отключение по питанию. Приложение (если оно поддерживает VSS) при этом начинает работу с сохранённого согласованного состояния.
- Для экономии места на устройстве хранении резервной копий рекомендуется использовать дедупликацию. Если вы используете дифференциальные диски , нужно чтобы средство резервного копирования поддерживало эту технологию. Иначе вы можете хранить одинаковые данные ВМ несколько раз.
- При большой плотности виртуальных машин на хосте желательно иметь возможность планирования времени резервного копирования ВМ, чтобы избежать чрезвычайно нагрузки на продуктивные системы в производственное время.
- Если вам нужно хранить несколько копий виртуальной машины, нужно обеспечить управление количеством хранимых копий ВМ.
- Настройте мониторинг СРК и устройства хранения резервных копий. Не хочется в определенных момент узнать, то резервное копирование не работает, т.к. на СХД под бэкапы закончилось место. Здесь же нужно вспомнить про средство верификации резервных копий.
- Некоторые СРК поддерживают гранулярное восстановление отдельных файлов/папок без необходимости развёртывания целиком ВМ или ее виртуального диска.Примечание. Многие СРК позволяют, например, восстановления конкретные хранилища, ящики и даже отдельных писем из резервной копии ВМ с Exchange Server.
- СРК должна позволять настраивать права доступа к системе за счет ролевой модели управления резервным копированием.
- Реализуйте классическую стратегию резервного копирования 3-2-1 (три копии, на двух разных носителях, один из которых на другой площадке).
Далее мы рассмотрим несколько популярных решений по организации резервного копирования ВМ на Hyper-V с точки зрения рассмотренных возможностей.
Резервное копирование Hyper-V с помощью встроенного Windows Server Backup
Вы можете бесплатно реализовать резервное копирование виртуальных машин Hyper-V с помощью встроенного Windows Server Backup (WSB). WSB позволяет настроить резервное копирование ВМ из графического интерфейса или с помощью утилиты командной строки wbadmin.
Windows Server Backup доступен как в полноценных версиях Windows Server Standard/Enterpriser так и в бесплатном Hyper-V Server .
Вы можете установить Windows Server Backup из консоли Server Manager или с помощью команды:
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
Чтобы настроить задание резервного копирования ВМ из графического интерфейса, запустите оснастку wbadmin.msc
.
- Разверните раздел Local Backup и выберите Backup Schedule ;
- Выберите тип резервного копирования Custom -> и нажмите Add Items ;
- Разверните Hyper-V и выберите виртуальные машины, которые вы хотите бэкапить;
- Далее вы можете настроить расписание резервного копирования ВМ;
- Выбрать хотите ли вы сохранять резервную копию на отдельный диск или в сетевую папку (UNC путь);
- Если вы не используете других средств резевного копирования нажмите кнпоку Advanced Settings и включите опцию VSS full Backup .
Основной недостаток графического интерфейса Windows Server Backup – вы можете создать только одно задание резервного копирования, которое будет перезатирать предыдущие копии.
Поэтому администраторы Hyper-V для настройки резервного копирования виртуальных машин предпочитают использовать утилиту командной строки wbadmin.
Выведите список ВМ на хосте Hyper-V PowerShell командой :
Get-VM
Чтобы создать резервную копию ВМ с именем "Server 1"
на локальный диск D:
, выполните команду:
wbadmin start backup –backupTarget:D: –hyperv:"Server 1"
WSB создаст снапшот для ВМ, и скопирует виртуальные диски и состояние ВМ в каталог D:WindowsImageBackupимявашегохостаHyper
.
Вы можете выполнить резервное копирование сразу нескольких ВМ. В этом примере вы сохраним их в сетевую папку:
wbadmin start backup -backuptarget:\192.168.1.100VMbackup: -hyperv:"TestVM01,TestVM02" -allowDeleteOldBackups -quiet
При резервном копировании виртуальных машин с VSS-aware application (такими как контроллер домена AD, Exchange Server или MSSQL) можно сообщить приложению в ВМ о том, что нужно обновить данные в журнале архивации.
wbadmin start backup -backuptarget:\192.168.1.100VMbackup: -hyperv:MSK-DC1 -vssFull
Вы можете создать в планировщике Windows задание с командной wbadmin для автоматического резервного копирования виртуальных машин по настроенному. Чтобы резервная копия создавалась без запроса пользователю, добавьте в команду wbadmin параметр -quiet
.
Чтобы получить список зарегистрированных в WSB резервных копий, выполните команду:
wbadmin get versions
Удалить самую старую резевную копию:
wbadmin delete backup -backupTarget:c: -deleteOldest
Либо вы можете удалить одну из старых резервных копий ВМ по имени версии (Version identifier):
wbadmin delete backup -backupTarget:c: -version:11/08/2023-10:13
Чтобы восстановить ВМ из резервной копии Windows Server Backup, нужно получить ее идентификатор в архиве. Вывести список элементов в резервной копии.
wbadmin get items -version:11/08/2023-09:33
Скопируйте VM identifier и подставьте его в следующую команду:
wbadmin start recovery -itemtype:hyperv -version:11/08/2023-09:33 -items:7B415605-0C7B-4349-AB80-9156BCB79E44
С помощью опций AlternateLocation
и RecoveryTarget: path
вы можете восстановить ВМ в альтернативный каталог.
Windows Server Backup позволяет восстановить только ВМ целиком. Нельзя восстановить отдельный диск, файл или папку. Однако вы можете вручную смонтировать к вашей ВМ VHDX диск с резервной копией и самостоятельно скопировать файл, которые нужно восстановить.
При всей своей простоте WSB достаточно надежное решение для резервного копирования Hyper-V, работает довольно быстро и позволяет управлять расписанием резервного копирования. Недостатки Windows Server Backup:
- Нет средств мониторинга выполнения бэкапов, проверки целостности резервных копий ВМ;
- Сложно управлять резервным копированием в средних и крупных инсталляциях Hyper-V (подходит для небольших сред с 1-2 хостами Hyper-V);
- Нельзя автоматически восстановить конкретный файл или состояние приложения;
- При большой плотности и размерах виртуальных машин на хосте вам придется с помощью планировщика Windows настраивать порядок создания резервных копий, чтобы не вызвать перегрузки сервера, а также высокой нагрузки на сети LAN/SAN/ iSCSI в рабочие часы (если вы храните бэкапы на другом хранилище).
Сторонние средства резервного копирования Hyper-V
При большом количестве хостов Hyper-V и виртуальных машин, использовать встроенный Windows Server Backup очень сложно. Вам в любом случае придется выбирать одно из сторонних коммерческих решений. Однозначно говорить, что тот или иной продукт будет идеальным решением для резервного копирования Hyper-V нельзя, слишком много нюансов нужно учесть. Это и количество хостов, лицензионные ограничения, необходимый функционал, архитектура сети и т.д.
На рынке представлено большое количество коммерческих и бесплатных продуктов для резервного копирования, и запутаться в них очень сложно. Обычно для оценки лидеров ниши используется магический квадрант Gartner. Я нашел такую картинку, характеризующие основных игроков и лидеров на рынке резервного копирования для дата-центров.
Как вы видите, Гартнер среди лидеров решений по резервному копированию выделяет компании и продукты:
- Commvault
- Dell Technologies
- Cohesity
- Veeam (в бесплатной редакции Veeam Backup Free Edition позволяет бэкапить до 10 ВМ)
- Rubrik
- Veeam
- Veritas Technologies (Symantec — Veritas Backup Exec)
- Microfocus (HPE Data Protector)
В рамках одной статьи оценить и сравнить все продукты довольно сложно, поэтому попробуем рассмотреть возможности нескольких программ – лидеров рынка по резервному копированию 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, список имеющегося оборудования и необходимый функционал. У большинства известных продуктов резервного копирования есть бесплатные версии с некоторыми ограничениями, обычно их достаточно для оценки функционала.