Меню Закрыть

Hyper v копирование виртуальной машины

Содержание

Администрируем и настраиваем Windows, Linux.

Windows Server 2008 Hyper-V не имеет опции для создания клона существующей виртуальной машины. Однако, это не ознаечает что это невозможно или что это сложно сделать. В действительности такая возможность есть и она довольно проста в применении.

Существуют два способа клонировать виртуальную машину в Hyper-V.

1. Использовать функцию эскпорта/импорта виртуальных машин
2. Скопировать виртуальный жесткий диск и создать новую виртуальную машину с этим диском.

1. Используем функцию эспорта/импорта в Hyper-V

Данный способ наиболее простой и доступный путь клонировать виртуальную машину.

Экспорт виртуальной машины

Находясь Hyper-V Manager, нажмите правой кнопкой на нужную виртуальную машину и выберите Export. Укажите куда будет импортирована виртуальная машина. При этом важно знать, что когда вы будете импортировать виртуальную машину обратно, само местоположение виртуальной машины и её виртуального диска будут указывать на данное место.

Во время экпорта вы можете выбрать что экспортировать: целиком виртуальную машину или только конфигурацию виртуальной машины.

Импорт виртуальной машины

Для импорта виртуальной машины нажмите “Import Virtual Machine” из меню Action . Укажите директорию с экспортированной виртуальной машиной и нажмите Import.

Вадно указать именно директорию экспортированной машины, а не одну из её поддиректорий.

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

2. Копируем VHD и создаем новую виртуальную машину

Просто скопируйте VHD файл оригинальной виртуальной машины и потом создайте новую виртуальную машину, но в качестве жесткого диска укажите скопированный файл. В меню, когды вы дойдете до окна “Connect Virtual Hard Disk” , выберите опцию “Use an existing virtual Hard Disk” и укажите его местоположение.

Постовой

Китайское — не всегда значит плохое. Здесь продаются китайские фронтальные погрузчики по ценам завода-производителя.

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

В процессе развертывания тестового стенда возникла потребность клонирования виртуальных машин. У меня есть одна виртуальная машина с предустановленной на ней Windows Server 2012 R2. Задача заключается в том, чтобы скопировать виртуальную машину. При этом, соответвтенно, в новой копии должен быть свой уникальный UID и MAC адрес для сетевой карты. Клонирование виртуальных машин в Hyper-V происходит через процедуру экспорта-импорта. Данная задача может быть выполнена как через GUI оснастки «Hyper-V manager» так и с помощью командлетов PowerShell.

Клонирование виртуальных машин Hyper-V из оснастки «Hyper-V Manager»

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

Далее будет предложено выбрать каталог в который будет осуществлять экспортирование. И, собственно, это все действия, которые потребуется предпринять ля экспорта виртуальной машины. Состояние процесса экспорта будет отражено в графе «Status» выбранной виртуальной машины.

По факту, при экспорте копируется .vhdx файл виртуального жесткого диска и .xml файл конфигурации виртуальной машины, в который вносятся некоторые изменения.

Второй этап, как логично предположить — это импорт. Данный процесс чуть более богат параметрами и даже имеется мастер импорта. Запуск процедуры импорта возможен из меню «Action» — «Import virtual Machine» или же аналогичной командой из панели «Actions».

В открывшемся мастере «Import virtual machine» сперва необходимо выбрать каталог из которого будет осуществлен импорт а затем виртуальную машину, которую будем импортировать. Самое основное, что нас интересует в данном мастере — это выбор опций импорта, представленный на третьем шаге.

Здесь доступны три опции:

  • Register the virtual machine in-place (use the existing unique ID).
  • Restore the virtual machine (use the existing unique ID)
  • Copy the virtual machine (create a new unique ID)

Так как виртуальная машина будет скопирована на тот же хост Hyper-V, а на одном хосте может быть только одна машина с уникальным ID, то подходит только третья опция «Copy the virtual machine (create a new unique ID). Первые же две опции могут быть использованы, например, для копирования виртуальной машины на другой хост Hyper-V.

Далее мастер предложит выбрать в каком каталоге будет размещен конфигурационный файл копируемой виртуальной машины. По умолчанию, будут использованы каталоги заданные в настройках хоста Hyper-V. На следующем шаге выбираем каталог для сохранения вирутального жесткого диска, при копировании машины на тот же хост необходимо создать новый каталог, так как жесткий диск копируется с тем же именем.

После окончания процесса импорта мы получаем новую виртуальную машину с тем же именем, но новым идентификатором. Казалось бы все хорошо, но есть ряд нюансов. Во первых, имя виртуального сервера и его IP адрес будут такими же как и у сервера, который мы клонировали. Во-вторых, имя виртуальной машины и имя виртуального жесткого диска будут дублированы, хотя это и не критично (ведь ID разные), но наличие большого числа виртуальных машин с одним именем вызывает когнитивный диссонанс. В-третьих, если в настройках виртуальной машины было указано статическое назначение MAC адреса, то мы получим еще и дублирование MAС. Все эти нюансы стоит учесть при клонировании виртуальных машин в производственной среде. Исправить все эти недоработки лучше через PowerShell, об этом ниже.

Читайте также:  Установка mysql на windows server 2012 r2

Клонирование виртуальных машин Hyper-V с использованием PowerShell

1. Экспорт виртуальной машины.

Export-VM -Name SYD-DC -Path ‘D:VMMExport’

2. Импорт виртуальной машины.

Import-VM -Path ‘D:VMMExportSYD-DCVirtual Machines4E9FC690-E871-47A1-A783-786A0B604CB4.XML’ -VhdDestinationPath ‘D:VMMVHDSRV2′ -Copy -GenerateNewId

3. Переименовываем виртуальную машину.

Для начала узнаем ID клонированной машины.

get-vm | select VMNAME,VMId

Нас интересуют две машины с одинаковым именем, но разными ID. Переименовывать будем машину ID которой отличается от ID импортируемой на шаге 2 машины. Следующий набор команд выполнит переименование. 5F3E5C8D-1280-43ED-8F1E-7274AB3B9643 — это полученный при выполнении предыдущей команды идентификатор.

4. Переименовываем виртуальный жесткий диск.

Get-VHD -VMId 5f3e5c8d-1280-43ed-8f1e-7274ab3b9643 | Select Path | Rename-Item -NewName SRV2.vhdx

Remove-VMHardDiskDrive -VMName SRV2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0

Add-VMHardDiskDrive -VMName SRV2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path «D:VMMVHDSRV2SRV2.vhdx»

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

Set-VMNetworkAdapter -VMName SRV2 -DynamicMacAddress

Set-VMNetworkAdapter -VMName SRV2 -StaticMacAddress ’00-15-5D-80-55-01’

Start-VM -Name SRV2

6. Меняем IP адрес и имя виртуального сервера. К сожалению, у меня не получилось реализовать данные задачи без запуска виртуальной машины. Следующие команды необходимо выполнить непосредственно в консоли powershell виртуального сервера.

Remove-NetIPAddress -InterfaceAlias «Ethernet» -AddressFamily IPV4

New-NetIPAddress -IPAddress 192.168.0.20 -InterfaceAlias «Ethernet» -AddressFamily IPv4 -PrefixLength 24

Несмотря на то, что среда Hyper-V предоставляет довольно много технологий обеспечения высокой доступности и отказоустойчивости виртуальных машин (таких как кластера, Live Migration, репликация, и т.д.), администратору необходимо думать о классическом резервном копировании виртуальных машин. Все эти технологии позволяют минимизировать время недоступности ВМ в различных сценариях, но не обеспечивают возможность восстановления в случаях различных форс мажоров, таких как природные катаклизмы, ошибки персонала, хакерские или вирусные атаки, атаки конкурентов и подобные сценарии. В этой статье я постараюсь рассмотреть основные требования, которые предъявляются к системам резервного копирования Hyper-V, стратегии резервного копирования и возможности бесплатных и коммерческих продуктов резервного копирования.

Вы можете создавать резервные копии виртуальных машин, запущенных на хосте Hyper-V, с помощью встроенного Windows Server Backup (или скриптов на его основе, запускаемых через wbadmin), бесплатных или коммерческих продуктов. Всех эти способ объединяет то, что в основе резервного копирования виртуальных машин Hyper-V лежит технология снапшотов (или снимков). В снимке хранится как состояние виртуальных дисков, так и содержимое памяти и настройки виртуальной машины. Т.е. снапшот представляет собой состояние виртуальной машин на какой-то момент времени.

Как работает резервное копирование виртуальных машин Hyper-V?

Рассмотрим упрощенно схему работы любого современного средства для бэкапа виртуальных машин Hyper-V.

Средство резервного копирования отдает команду хосту Hyper-V на создание снимка. После получения команды на создание снапшота гипервизор создает новые файлы (дельта-файлы) и ВМ продолжает свою работу, сохраняя изменения в этих файлах них. Теперь задача средства резервного копирования скопировать оригинальные файлы ВМ (изменения в них не пишутся) на носитель резервных копий и после этого удалить снапшот. При удалении снимка Hyper-V производит консолидацию (слияние) исходных и дельта файлов, работа ВМ при этом также не прерывается. В случае потери продуктивной ВМ, вы можете восстановить ее состояние на момент даты создания резервной копии.

Основные требования к средствам резервного копирования ВМ Hyper-V

Это в общих чертах о резервном копировании Hyper-V, но на деле возникает куча нюансов и проблем. Попробую перечислить наиболее распространены проблемы:

  1. Чем дольше средство резервного копирования забирает снапшот (бэкап) к себе, тем больше изменений накапливается в дельта файлах. При достаточно большом количестве изменений внутри ВМ за время копирования файлов, процесс слияния файлов при удалении снапшота может вызывать высокую нагрузку на диски, Hyper-V хост и саму ВМ. Т.е. желательно максимально быстро забрать снимок. В Hyper-V Server 2016 для ускорения процесса резервного копирования используется технологий Resilient Changed Tracking, которая позволяет средству резевного копирования копировать только блоки данных, измененные с момент последнего бэкапа. При этом не нужно «забирать» ВМ целиком.
  2. При копировании данных снимка ВМ по LAN сети с хоста Hyper-V на хранилище резервных копий возможно вызвать высокую нагрузку на сеть. Поэтому для трафика резервного копировании желательно использовать отдельный интерфейс сервера, или же копировать данные через SAN сеть.
  3. Исходя из вышестоящих пунктов при использовании внешних систем хранения для хранения файлов ВМ, вы можете воспользоваться возможностями СХД по интеграции со средствами резервного копирования (аппаратные снапшоты).
  4. Изначально гостевая ОС не подозревает о том, что создается ее резервная копия. Соответственно при попытке восстановить ВМ из такого бэкапа, ОС пытается продолжить свою работу с момента создания снимка. В некоторых случаях это может вызвать проблемы как с самой ОС, так и с потерей данных в запущенными внутри нее приложениях (особенно в транзакционных, таких как Exchange, SQL, ADDS и т.п.). Для преодоления этой проблемы в Hyper-V 2016 появился новый тип снимков — Production Checkpoints (Microsoft рекомендуется применять обычные снимки — Standard Checkpoint только в тестовых и лабораторных средах, или для бэкапа остановленных виртуальных машин). Производственные снимки работают за счет наличия в гостевой ОС средств интеграции Hyper-V и основываются на технологии Volume Shadow Copy (Windows) или заморозки файловой системы fsfreeze (Linux). Однако состоянии памяти при этом не копируется. Т.е. Hyper-V уведомляет гостевую ОС о создании снимка, приложение с поддержкой VSS корректор завершает текущие транзакции, переходит в консистентное состояние и создается снимок ВМ. При восстановлении из такого снимка гостевая ОС выключена (т.к. состояние памяти не сохранялось), после включения она считает, что просто произошло аварийное отключение по питанию. Приложение (если оно поддерживает VSS) при этом начинает работу с сохранённого согласованного состояния.
  5. Для хранения бэкапов виртуальных машин нужно достаточно много места. Чем чаще вы делаете снимки и чем дольше должны хранится бэкапы, тем больше места вам нужно в хранилище резервных копий. Как правило вам на помощь может прийти технология дедупликации данных (встроенная в Windows Server) или собственная технология от вендора средства резервного копирования. Если вы используете дифференциальные диски, нужно чтобы средство резервного копирования поддерживало эту технологию. Иначе вы можете хранить одинаковые данные ВМ несколько раз.
  6. При большой плотности виртуальных машин на хосте желательно иметь возможность планирования времени резервного копирования ВМ, чтобы избежать чрезвычайно нагрузки на продуктивные системы в производственное время.
  7. Если вам нужно хранить несколько копий виртуальной машины на несколько дат несколько дней, нужно обеспечить управление количеством хранимых копий ВМ, автоматизировав управление резервными копиями скриптами или средствами программы резервного копирования.
  8. Также важны средства мониторинга создания резервных копий. Не хочется в определенных момент узнать, то резервное копирование не работает, т.к. на СХД под бэкапы уже давно кончилось место. Здесь же нужно вспомнить про средство верификации резервных копий.
  9. Довольно часто нужно восстановить из резервной копии виртуальной машины конкретный файл. Некоторые средства резервного копирования / восстановления позволяют выполнять гранулярное восстановление файлов / папок без необходимости развёртывания целиком ВМ или ее виртуального диска.
Читайте также:  Сохранение видео с экрана монитора

Далее мы рассмотрим несколько популярных решений по организации резервного копирования ВМ на 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 нужно бэкапить, куда, и указать расписание резервного копирования.

Но обычно проще воспользоваться утилитой командной строки wbadmin для бэкапа ВМ Hyper-V. Тем более из графического интерфейса нельзя создать более одного задания резервного копирования ВМ, причем это задание всегда будет перезатирать предыдущие резервные копии.

Чтобы создать резервную копию ВМ с именем Server 1 в локальную папку на диске C: (не самая правильная, идея не так, ли), просто выполните команду:

wbadmin start backup –backupTarget:C: –hyperv:"Server 1"

Например, чтобы создать резервную копию двух ВМ и сохранить их в сетевую папку (допустим это внешнее NAS хранилище), достаточно выполнить команду:

wbadmin start backup -backuptarget:\192.168.1.100VMbackup: -hyperv:"TestVM01,TestVM 02" -allowDeleteOldBackups -quiet

Вы можете добавить эту команду в планировщик Windows (с помощью того же PowerShell) и тем самым настроить регулярное создание бэкапов ВМ (старые бэкапы при этом удаляются).

Например, при бэкапе ВМ с контроллером домена AD, вы можете по окончании бэкап сбросить транзакционные логи AD, чтобы база ADDS в резервной копии была в консистентном состоянии (аналогично можно сделать бэкап ВМ с Exchange или SQL Server:

wbadmin start backup -backuptarget:\192.168.1.100VMbackup: -hyperv:MSK-DC1 -vssFull

Чтобы получить список зарегистрированных в системе резервных копий, выполните команду:

wbadmin get versions

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

Читайте также:  Что такое фьюзер xerox

При всей своей простоте WSB достаточно надежное решение для резервного копирования ВМ Hyper-V, работает довольно быстро и позволяет управлять расписанием резервного копирования. Но конечно, у Windows Server Backup есть свои недостатки:

  • Нет средств мониторинга выполнения бэкапов, проверки консистентности резервных копий ВМ и приложений в них;
  • Сложно управлять резервным копированием в средних и крупных инсталляциях Hyper-V (подходит для небольших сред с 1-2 хостами Hyper-V);
  • Нельзя автоматически восстановить конкретный файл или состояние приложения (вам придется вручную смонтировать vhdx файл с резервной копией и вручную скопировать нужный файл);
  • При большой плотности и размерах виртуальных машин на хосте вам придется с помощью планировщика Windows настраивать порядок создания резервных копий, чтобы не вызвать перегрузки сервера, а также высокой нагрузки на сети LAN/SAN/ iSCSI в рабочие часы (если вы храните бэкапы на другом хранилище).

Сторонние средства резервного копирования Hyper-V

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.