Экспорт и импорт виртуальных машин в Hyper-V 2019
Еще в августе 2019 года мы написали четыре статьи, в которых объясняется процедура установки Hyper-V 2019, настройки и развертывания виртуальной машины. Если вы пропустили эти статьи, вы можете прочитать их по ссылкам ниже:
Часть 1. Как установить серверное ядро Hyper-V 2019?
Часть 2. Базовый сервер Hyper-V 2019 — начальная настройка
Часть 3. Удаленное управление ядром Hyper-V 2019
Часть 4. Создание первой виртуальной машины в Hyper-V 2019
В этой статье мы поговорим об экспорте и импорте виртуальной машины с одного сервера Hyper-V 2019 на другой. Мы будем экспортировать и импортировать виртуальную машину, файлы конфигурации, контрольные точки и файл интеллектуальной подкачки.
Чтобы показать, как это сделать, мы используем два экземпляра Hyper-V 2019, которые размещены на разных моделях физических серверов и разных конфигурациях оборудования. Но это не проблема, как только импортированная виртуальная машина имеет достаточно ресурсов для запуска операционной системы, приложений и служб.
Существует два способа подключения к хосту Hyper-V 2019. Мы можем сделать это удаленно с компьютера с Windows 10 Pro или Enterprise или напрямую подключиться к серверу Hyper-V 2019 (если вы не используете Core Server). Если вы хотите подключиться к серверу Hyper-V с компьютера под управлением Windows 10 Pro или Enterprise, следуйте инструкциям из статьи Часть 3. Удаленное управление ядром Hyper-V 2019. В нашем случае мы будем подключаться к Hyper-V удаленно с компьютера с Windows 10 Pro.
Эта статья состоит из двух частей. Первая часть включает в себя экспорт виртуальной машины, а вторая часть включает в себя импорт виртуальной машины. Итак, начнем с первой части.
На втором этапе мы импортируем виртуальную машину на пустой сервер Hyper-V. Если вы экспортировали виртуальную машину на локальный диск или внешний диск, вам нужно будет сделать ее доступной на конечном сервере. Поскольку мы экспортировали виртуальные машины в общее сетевое хранилище, нам не нужно ничего делать, кроме как добавить правильный сетевой путь. Пожалуйста, следуйте инструкциям ниже.
В нашем случае мы импортируем виртуальную машину, создав новый уникальный идентификатор.
По умолчанию Microsoft хранит все данные в C: ProgramData Microsoft Microsoft Hyper-V, но вы можете изменить их, если вам это нужно. Если вы хотите изменить места хранения, выберите Сохранить виртуальную машину в другом месте, а затем измените пути к хранилищам.
В нашем случае мы выберем расположение по умолчанию и затем нажмите «Далее».
Экспорт и импорт виртуальной машины Hyper-V
Экспорт и импорт виртуальной машины Hyper-V
Мини-приложения для 11
Как отключить мини-приложения в 11
Как вернуть старое контекстное меню в 11
Не запускается PC Health Check на 11
Не могу обновиться до 11
Механизм экспорта-импорта в гипервизоре Hyper-V предназначен для перемещения виртуальных машин с одного компьютера или сервера на другой. Экспорт – это, по сути, копирование виртуальной машины с полным сохранением ее конфигурации. При экспорте копируется виртуальный жесткий диск, настройки оборудования, сохраненный момент работы гостевой ОС, созданные контрольные точки (снапшоты).
Механизм экспорта-импорта Hyper-V также можно использовать для создания на том же сервере или на том же компьютере виртуальной машины-клона для тестирования и взаимодействия с виртуальной машиной-оригиналом. Машина-клон может получить другой ID (идентификатор), другой внутренний IP-адрес в сети Hyper-V, вследствие чего, по сути, не будет ничем отличаться от виртуальных машин, созданных с нуля.
Ниже рассмотрим процесс экспорта-импорта виртуальной машины на примере Hyper-V, входящего в состав Windows 10, детальнее.
Рассматриваемые вопросы:
1. Экспорт виртуальной машины
Одним из преимуществ новой версии Hyper-V, вошедшей в состав Windows Server 2012 R2, клиентских систем Windows 8.1 и 10, является способность осуществлять некоторые ресурсоемкие задачи, в частности, экспорт на лету, в процессе работы виртуальной машины, без ее остановки, даже без приостановки. Экспорт осуществляется в фоновом режиме, он проходит не быстро, поскольку задействует небольшое количество системных ресурсов, оставляя пользователю возможность работать с виртуальной машиной дальше.
Как осуществляется экспорт виртуальной машины? Выбираем в диспетчере Hyper-V нужную виртуальную машину, вызываем контекстное меню. Нам нужна команда «Экспорт».
Далее используем кнопку обзора и указываем путь хранения файлов экспорта. Жмем «Экспорт».
2. Экспорт снимка виртуальной машины
Еще одна относительно новая функция Hyper-V, которой не было в старых серверных версиях Windows – возможность экспорта отдельной контрольной точки, то есть, виртуальной машины в состоянии на момент создания этой контрольной точки. Ранее гипервизор Microsoft предусматривал только экспорт-импорт всей виртуальной машины. И в случае, если нужно было состояние какой-то отдельной контрольной точки, приходилось экспортировать виртуальную машину со всеми ее контрольными точками, а после импорта делать откат к нужной. Сейчас Hyper-V позволяет экспортировать каждую отдельную контрольную точку. Экспортировав отдельный снапшот, его можно затем импортировать как новую виртуальную машину, в частности, со своим уникальным идентификатором на том же сервере или компьютере.
Чтобы осуществить экспорт виртуальной машины из контрольной точки, выбираем в диспетчере Hyper-V и машину, и контрольную точку. На последней вызываем контекстное меню и выбираем «Экспорт».
3. Надежность формата экспорта Hyper-V
Экспорт виртуальной машины Hyper-V осуществляется не в какой-нибудь отдельный сжатый формат файла, куда помещаются и виртуальный жесткий диск, и файлы конфигурации, и сохраненное состояние гостевой ОС, как, например, это предлагается механизмом экспорта-импорта в программе VirtualBox. В случае с виртуальными машинами VirtualBox экспорт-импорт возможен при участии посредника – файла формата OVA. При повреждении этого файла импорт виртуальной машины VirtualBox может не состояться. А вот в случае с Hyper-V экспорт виртуальной машины означает полное копирование виртуального жесткого диска в исходном его формате – VHDX (или VHD).
Таким образом, если прочие данные экспорта повредятся, виртуальную машину все равно можно будет воссоздать. Нужно будет средствами Hyper-V создать новую виртуальную машину, использовав существующий файл VHDX (VHD).
4. Импорт виртуальной машины
Экспортированную виртуальную машину в дальнейшем можно импортировать в совместимой версии Hyper-V в составе серверных редакций Windows и клиентских Windows 8.1 и 10.
Для импорта виртуальной машины выбираем соответствующую функцию в диспетчере Hyper-V.
Жмем «Далее» в окне приветствия мастера.
В следующем окне используем кнопку обзора и указываем путь к папке с экспортированной виртуальной машиной. Жмем «Далее».
Выбираем нужную виртуальную машину, если в указанной папке их несколько. Жмем «Далее».
Затем нужно сделать выбор, как будет импортирована виртуальная машина. Если таковая перенесена с другого сервера или компьютера, можно использовать первый тип импорта, предусматривающий ее регистрацию с использованием исходного идентификатора. Этот вариант регистрирует виртуальную машину в той же папке, где хранятся файлы ее экспорта, следовательно, не будет затрачено время на копирование файлов.
Второй тип импорта также подойдет для случаев переноса виртуальной машины с другого сервера или компьютера, но при его использовании экспортированные файлы будут перенесены в указанную папку. Идентификатор виртуальной машины при этом останется прежним.
Если виртуальная машина перемещается в рамках одного сервера или компьютера, следует использовать третий тип импорта, предусматривающий генерирование нового идентификатора. Ведь на одном физическом компьютере не может быть виртуальных машин Hyper-V с одинаковым идентификатором.
В нашем случае имеет место быть копирование виртуальной машины, это третий тип импорта. Жмем «Далее».
Путь хранения файлов конфигурации, контрольных точек и прочих данных импортируемой виртуальной машины, указанный Hyper-V по умолчанию, можно сменить. Необходимо установить галочку смены места хранения и вручную указать нужные пути.
В нашем случае просто допишем в пути (через слеш) создание отдельной папки «Копия». Жмем «Далее».
Этот же путь укажем и для файла VHDX, чтобы все находилось в одном месте. Жмем «Далее».
Завершающий этап мастера – сводка данных импорта. Жмем «Готово».
Теперь в нашем случае в диспетчере Hyper-V имеется две одинаковые виртуальные машины. Они с разными идентификаторами, но у них одно и то же название. Сменим название только что импортированной виртуальной машины.
Все – процесс импорта осуществлен. Импортированную виртуальную машину можно запускать и тестировать.
Клонирование, импорт и экспорт виртуальных машин в Hyper-V
В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через импорт/экспорт через графический интерфейс Hyper-V Manager, PowerShell и Windows Admin Center (WAC).
%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe
ВМ будет выключена и при следующей загрузке как оригинальной ВМ, так и ее клона для Windows будет сгенерирован новый SID. Также нежелательно клонировать ВМ, включенные в домен Active Directory.
Экспорт/импорт ВМ из консоли Hyper-V Manager
Сначала нужно экспортировать ВМ в отдельный каталог.
Запустите консоль Hyper-V manager, выберите ВМ и в контекстном меню выберите Export.
Укажите каталог, в который нужно экспортировать виртуальную машину.
Статус экспорта ВМ будет отображен в строке состояния ВМ в консоли Hyper-V.
Чтобы импортировать ВМ щелкните в консоли Hyper-V Manager по имени хоста и выберите Import Virtual Machine.
Затем нужно указать путь к каталогу, в котором находятся папки с файлами импортируемой ВМ. При импорте ВМ в Hyper-V предлагается 3 варианта регистрации ВМ на хосте:
Если вы попробуете импортировать ВМ с дублирующим ID, появится ошибка:
Чтобы создать клон ВМ с новым ID мы выбрали 3 вариант. Мастер предложит указать в каких каталогах нужно разместить файлы ВМ. По умолчанию, используются каталоги, заданные в настройках хоста Hyper-V.
Затем укажите каталог для хранения виртуальных дисков vhdx ВМ.
После этого новая клонированная виртуальная машина появится в консоли Hyper-V.
Клонирование ВМ через экспорт/импорт в Hyper-V с помощью PowerShell
Рассмотрим, как клонировать виртуальную машину Hyper-V через импорт/экспорт из консоли PowerShell.
Для экспорта ВМ воспользуйтесь такой командой:
Если вы хотите экспортировать запущенную ВМ, вы можете использовать параметр CaptuteLiveState, в котором определяется как нужно копировать оперативную память ВМ. Доступны три опции
Если вы хотите экспортировать состояние ВМ в определеном снимке, нужно указать его имя.
Сначала выведите список снимков для указанной ВМ:
Затем выполните экспорт нужного снимка по его имени:
После завершения экспорта ВМ вы можете импортировать ее. Если нужно зарегистрировать ВМ по месту хранения файлов, выполните команду:
В параметре Path указываем расположение vmcx файла конфигурации ВМ (формат vmcx заменил XML формат конфигурационных файлов ВМ в Hyper-V Server 2016). Для копирования ВМ в другой каталог с тем же ID используйте параметр Copy. Чтобы сгенерировать нового идентификатор ВМ, используйте параметр GenerateNewId:
В параметре VhdDestinationPath указывается каталог, куда нужно скопировать VHDX файлы ВМ, а в параметре VirtualMachinePath — каталог конфигурационных файлов ВМ. Если эти параметры не задать, файлы ВМ будут скопированы в дефолтный каталог, указанный в настройках хоста Hyper-V (C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\).
Обратите внимание, что клонированная ВМ появилась в консоли Hyper-V с оригинальным именем. Переименуем новую ВМ, но сначала нужно получить ее ID:
get-vm | select VMNAME,VMId
Как вы видите в консоли есть две ВМ с одинаковым именем и разными ID. Нужно переименовать ВМ с ID, который отличается от ID импортируемой ВМ. Скопируйте ID новой ВМ и переименуйте ее:
Затем для удобства можно переименовать виртуальный жесткий диск.
Изменим MAC адрес виртуального адаптера (можно указать новый статический MAC или настроить динамическое получение MAC адреса).
Прежде, чем подключить новую ВМ в сеть, желательно переименовать ее и изменить IP адрес на новый (если используется DHCP адресация, этот шаг можно пропустить). В данном случае мы можем подключиться к новой ВМ через PowerShell Direct с помощью командлета Invoke-Command или Enter-PSSession:
Клонирование виртуальных машин Hyper-V через Windows Admin Center
Возможно клонировать ВМ Hyper-V напрямую без промежуточного экспорта/импорта появилась в Windows Admin Center v2009.
Затем нужно указать имя новой ВМ и каталог, в который нужно поместить ее файлы.
Обратите внимание, что мастере клонирования есть опция “I have already run sysprep on my VM”. Если вы не выполнили генерализацию образа с помощью Sysprep, и не включили эту опцию, Hyper-V создаст снапшот исходной ВМ, выполните ее Sysprep и склонирует в новую (исходная ВМ будет несколько раз перезагружена и не доступна для работы). После этого исходная ВМ будет возвращена в первоначальное состояние, а снапшот удален.
Дождитесь окончания клонирования ВМ. Новой ВМ автоматически будет присвоен новый ID.
А какие есть бесплатные способы сделать клон ВМ из ESXi в Hyper-V?
Из приличных был StarWind V2V Converter, вроде это функционал там бесплатные. можно еще тулзой disk2vhd
«зарегистрировать ВМ по хранения файлов» — что это?
Отсуствие грамотного редактора для вычитки 🙂
речь про «по месту хранения файлов»
Очень интересует последний способ, спасибо за него! Я поставил Windows Admin Center, она отлично встала на Windows Server 2022, я попробовал клонировать Windows 10 (заведено 2 юзера, оба админы).
Вот какую ошибку получаю:
Подробная информация об уведомлении
Ошибка
Не удалось клонировать виртуальную машину
00:43:25
Источник
Перейти в Виртуальные машины
Тип
Ошибка
Экспорт и импорт виртуальных машин Hyper-V
Функция «Поделиться» Hyper-V в Windows 10
Прогресс создания этого файла будем наблюдать внизу окна подключения.
Функция экспорта-импорта машин Hyper-V
Классическая функция экспорта машин Hyper-V, в отличие от рассмотренной функции «Поделиться» и механизмов экспорта машин других гипервизоров, не предусматривает сжатие файлов машины в некий посредничающий файл-архив. Экспорт машин в гипервизоре от Microsoft – это обычное копирование файлов машины.
Т.е. содержимое экспорта – это точные копии файлов машины, разложенные по папкам, как и её исходные файлы.
А классический импорт машин – это не извлечение данных из посредничающего файла-архива, а добавление машины по пути хранения её файлов в окно диспетчера Hyper-V. При этом функция импорта является универсальным решением и для переноса машин, и для их копирования, и для их перерегистрации в диспетчере после удаления оттуда или переустановки хостовой Windows. Рассмотрим эти операции.
Перенос машин Hyper-V
Если необходимо перенести машину Hyper-V в другое место на диске, можем просто удалить машину из окна диспетчера Hyper-V и с помощью обычного проводника Windows перенести файлы машины куда нам надо. Ну а если машину перенести надо на другой компьютер, можем упаковать её файлы в обычный архив и извлечь его на другом компьютере. А вот если мы захотим перенести или скопировать машину не в её текущем состоянии, а в состоянии, запечатлённом в снимке контрольной точки, мы это сможем сделать только путём экспорта контрольной точки в диспетчере Hyper-V.
После запуска операции экспорта указываем путь, куда будут сохранены файлы машины, и жмём «Экспорт».
Переместив в нужное место файлы оригинальной виртуальной машины или экспортировав снимок её контрольной точки, запускаем функцию импорта на панели операций диспетчера Hyper-V.
Жмём «Далее».
Указываем путь хранения перемещённых или экспортированных файлов машины.
Если мы указали путь общей папки хранения машин, то выбираем какую-то конкретную машину.
Жмём «Готово».
Всё – машина импортирована.
Перерегистрация машин Hyper-V
Копирование машин Hyper-V
Жмём «Далее».
На этапе выбора типа импорта выбираем копирование машины.
Создаём на диске папку для файлов клона и прописываем эти пути на следующем этапе мастера импорта.
Далее указывать путь хранения диска машины-клона. Для него можно создать по пути хранения файлов клона специальную подпапку.
Жмём «Готово».
По завершении копирования будем наблюдать клон в окне диспетчера Hyper-V.
А чтобы не путать его с оригиналом, можем переименовать машину.