Перенос windows на виртуальную машину hyper v

В данной заметке мы поговорим о том, как перенести работающую физическую систему Windows, будь то серверная или десктопная, на виртуальный сервер Hyper-V 🔎 Server & Desktop Virtualization

В данной заметке мы поговорим о том, как перенести работающую физическую систему Windows, будь то серверная или десктопная, на виртуальный сервер Hyper-V при помощи утилиты Disk2VHD. Данная программ является частью набора ПО для диагностики и администрирования ОС на базе MS Windows от Sysinternals, о чем  говорится в данной статье. Эти утилиты доступны как для загрузки, так и в качестве live-версии.

Перенос физической Windows системы в виртуальную среду с помощью Disk2VHD

Очень удобно, когда есть возможность освободить физический сервер или рабочую станцию, перенеся ее содержимое в целости и сохранности в виртуальную среду. Данная операция называется Physical-to-Virtual, P2V. Таким образом, повысится отказоустойчивость, гибкость развертывания и обслуживания сервисов.

Используя Disk2VHD, мы создаем образ работающей системы (без ее остановки), записанный в виртуальный жесткий диск формата VHD. Подключив его к гипервизору, в нашем случае Hyper-V, мы получим полную копию работающей физической системы (со всеми установленными приложениями, настройками и ролями) в виртуальной среде.

Стоит отметить — программа Disk2VHD бесплатна, проста в использовании, не требует установки, поддерживает запуск из командной строки и обслуживает большинство современных ОС MS Windows.

Создание образа происходит следующим образом:

create_vhdx

Сейчас лучше выбирать формат .VHDX, т.к. он в полной мере поддерживается всеми версиями Hyper-V. Если на системном диске есть скрытый раздел — его нужно обязательно скопировать.

Работа данной утилиты в командной строке:

 disk2vhd C: C:DistrImage.vhd

Выполнится конвертация диска С, а таким образом — все диска на сервере:

disk2vhd * C:DistrImage.vhd

Подключение образа, как было сказано, ранее доступно в Hyper-V. Выполняется следующим образом — подключаемся в Hyper-V Manager, создаем новую виртуальную машину, указываем нужные характеристики (CPU, RAM, LAN), а в качестве жесткого диска — созданный нами диск в формате .VHDX.

add in hyper-v_1

Далее запускаем виртуальную машину. Необходимо выполнить установку драйверов. В Windows Server 2012 это выполняется автоматически. В нашем случае используется более ранняя версия серверной ОС (Win SRV 2003), поэтому необходимо запустить вручную интеграцию драйверов:

add in hyper-v_2

После этого потребуется перезагрузка.

add in hyper-v_3

По завершению которой мы получим полноценный работающий сервер. Единственное, что потребуется сделать (в некоторых случаях) — настройка сетевых адаптеров.

Как видим, процесс миграции физических серверов в виртуальную среду с помощью Disk2VHD не вызывает никаких трудностей и рекомендован к использованию.

Содержание

  1. Как перенести ОС Windows на виртуальную машину
  2. Перенос физической Windows системы в виртуальную среду Hyper-V
  3. Перенос физической Windows системы в виртуальную среду с помощью Disk2VHD
  4. Экспорт и импорт виртуальных машин
  5. Экспорт виртуальной машины
  6. Использование диспетчера Hyper-V
  7. Использование PowerShell
  8. Импорт виртуальной машины
  9. Импорт с помощью диспетчера Hyper-V
  10. Импорт с помощью PowerShell
  11. Регистрация на месте
  12. Восстановить
  13. Импортировать как копию
  14. Типы импорта
  15. Сайт ARNY.RU
  16. Миграция физического сервера в виртуальную среду с помощью Disk2VHD
  17. Создание образа
  18. Подключение образа
  19. Заключение

Как перенести ОС Windows на виртуальную машину

Существует несколько способов преобразования установленной ОС Windows в образ для виртуальной машины. Созданный образ можно использовать, например, для тестирования, для проверки стабильности системы после установки какого-либо обновления, или для того, чтобы зафиксировать состояние старой машины перед внесением изменений.

Большинство программ виртуализации поддерживают функцию преобразования установленной ОС Windows в образы виртуальной машины. Некоторые решения уже поставляются со встроенными функциями, но в ряде случаев для этой же цели может понадобится использование сторонних продуктов.

В этом руководстве собраны инструкции по преобразованию установок Windows в виртуальные образы Microsoft Hyper-V, VirtualBox и VMware.

2017 11 03 1308

Перенос ОС Windows в виртуальную машину Microsoft Hyper-V выполняется очень просто благодаря программе Disk2vhd от Sysinternals.

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

Примечание: программу можно запустить в режиме командной строки, используя формат:

Пользователь должен выбрать целевой путь и имя файла (с расширением vhdx), а также тома, которые следует включить в виртуальный образ.

Вы можете выбрать только раздел Windows или даже преобразовать несистемные разделы в образы VHD, не выбирая раздел Windows.

Disk2VHD поставляется с двумя дополнительными параметрами, которые указываются при запуске. Первый устанавливает выходной формат VHDX. Вы можете отключить данный параметр, чтобы использовать VHD.

VHDX имеет несколько преимуществ, такие как поддержка более крупных виртуальных дисков (64 ТБ против 2 ТБ), лучшая защита от повреждений, дистанционное онлайн изменение размера и др. VHD необходим в основном для целей совместимости, например, когда продукт не поддерживает VHDX, а также когда вы хотите преобразовать образ в Virtualbox.

Второй параметр позволяет использовать теневую копию тома.

Disk2VHD обрабатывает выбранные тома и превращает их в образы виртуальных дисков, которые сохраняются в выбранном месте.

2017 11 03 1343

VirtualBox поставляется без встроенного инструмента конвертации установок Windows в образы виртуальной машины.

Однако, вы можете использовать альтернативное решение. Прежде всего, вам нужно создать образ VHD (как показано в разделе Microsoft Hyper-V выше).

После того, как вы получили образ VHD, можете использовать инструмент командной строки vboxmanage, который поставляется с VirtualBox, для клонирования носителя и сохранения его в другом формате.

Преобразование может занять некоторое время в зависимости от размера изображения и доступных ресурсов вашего компьютера.

2017 11 03 1351

Вы можете создавать виртуальные образы машин Windows для VMware с помощью VMware vCenter Converter. Вы можете загрузить программу с официального сайта VMware, но для этого требуется учетная запись. На нашем сайте утилита доступна для загрузки без регистрации.

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

Размер установщика равен примерно 170 мегабайт. Во время установки вам будет предложено присоединиться к программе улучшения качества обслуживания клиентов.

Чтобы преобразовать запущенную систему Windows в виртуальный образ для VMware, выберите опцию “Конвертировать машину” в главном интерфейсе программы, чтобы начать работу.

После загрузки мастера, убедитесь, что для типа источника установлено значение “включено” и выбран “этот локальный компьютер”. Вы также можете создавать виртуальные образы удаленных компьютеров, но для этого необходимо указать имя или IP-адрес устройства, а также учетные данные.

Выберите виртуальную машину VMware в разделе тип цели на следующей странице и выберите целевую папку для сохранения образа.

Создание образа может занять некоторое время, в зависимости от количества томов, их размеров и ресурсов устройства.

Источник

Перенос физической Windows системы в виртуальную среду Hyper-V

В данной заметке мы поговорим о том, как перенести работающую физическую систему Windows, будь то серверная или десктопная, на виртуальный сервер Hyper-V при помощи утилиты Disk2VHD. Данная программ является частью набора ПО для диагностики и администрирования ОС на базе MS Windows от Sysinternals, о чем говорится в данной статье. Эти утилиты доступны как для загрузки, так и в качестве live-версии.

Перенос физической Windows системы в виртуальную среду с помощью Disk2VHD

Очень удобно, когда есть возможность освободить физический сервер или рабочую станцию, перенеся ее содержимое в целости и сохранности в виртуальную среду. Данная операция называется Physical-to-Virtual, P2V. Таким образом, повысится отказоустойчивость, гибкость развертывания и обслуживания сервисов.

Используя Disk2VHD, мы создаем образ работающей системы (без ее остановки), записанный в виртуальный жесткий диск формата VHD. Подключив его к гипервизору, в нашем случае Hyper-V, мы получим полную копию работающей физической системы (со всеми установленными приложениями, настройками и ролями) в виртуальной среде.

Стоит отметить – программа Disk2VHD бесплатна, проста в использовании, не требует установки, поддерживает запуск из командной строки и обслуживает большинство современных ОС MS Windows.

Создание образа происходит следующим образом:

blank

Сейчас лучше выбирать формат .VHDX, т.к. он в полной мере поддерживается всеми версиями Hyper-V. Если на системном диске есть скрытый раздел – его нужно обязательно скопировать.

Работа данной утилиты в командной строке:

Выполнится конвертация диска С, а таким образом – все диска на сервере:

add in hyper v 1

Далее запускаем виртуальную машину. Необходимо выполнить установку драйверов. В Windows Server 2012 это выполняется автоматически. В нашем случае используется более ранняя версия серверной ОС (Win SRV 2003), поэтому необходимо запустить вручную интеграцию драйверов:

add in hyper v 2

После этого потребуется перезагрузка.

add in hyper v 3

По завершению которой мы получим полноценный работающий сервер. Единственное, что потребуется сделать (в некоторых случаях) – настройка сетевых адаптеров.

Как видим, процесс миграции физических серверов в виртуальную среду с помощью Disk2VHD не вызывает никаких трудностей и рекомендован к использованию.

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

Источник

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

применимо к: Windows Server 2022, Windows 10, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows server 2019, Microsoft Hyper-V server 2019

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

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

Экспорт собирает все необходимые файлы в одну единицу — файлы виртуального жесткого диска, файлы конфигурации виртуальной машины и файлы контрольных точек. Это можно сделать на виртуальной машине, которая находится в запущенном или остановленном состоянии.

Использование диспетчера Hyper-V

Чтобы экспортировать виртуальную машину:

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

Выберите место хранения экспортируемых файлов и нажмите кнопку Экспорт.

После завершения экспорта можно просмотреть все экспортированные файлы в расположении экспорта.

Использование PowerShell

Откройте сеанс от имени администратора и выполните команду, как показано ниже, после замены и

Дополнительные сведения см. в разделе Export-VM.

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

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

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

Импорт с помощью диспетчера Hyper-V

Чтобы импортировать виртуальную машину, выполните следующие действия.

В меню действия в диспетчере Hyper-V щелкните Импорт виртуальной машины.

Щелкните Далее.

Выберите папку, содержащую экспортированные файлы, и нажмите кнопку Далее.

Выберите виртуальную машину для импорта.

Выберите тип импорта и нажмите кнопку Далее. (Описание см. в разделе типы импортаниже.)

Нажмите кнопку Готово.

Импорт с помощью PowerShell

Регистрация на месте

Этот тип импорта использует файлы, где они хранятся во время импорта, и хранит идентификатор виртуальной машины. Следующая команда показывает пример файла импорта. Выполните аналогичную команду со своими собственными значениями.

Восстановить

Чтобы импортировать виртуальную машину, указав собственный путь к файлам виртуальной машины, выполните команду, подобную следующей, заменив примеры значениями.

Импортировать как копию

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

Дополнительные сведения см. в статье Импорт-виртуальная машина.

Типы импорта

Hyper-V предлагает три типа импорта:

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

Копировать виртуальную машину — аналогично типу восстановления в, в котором выбирается расположение для файлов. Разница заключается в том, что импортированная виртуальная машина имеет новый уникальный идентификатор. Это означает, что виртуальную машину можно импортировать на один узел несколько раз.

Источник

Сайт ARNY.RU

Хочу поделиться своим опытом переноса. Нужно было перенести Windows 2008 Enterprise в среду Hyper-V.

Сначала предполагал использовать утилиту Disk2vhd, но потом был установлен Acronis Backup Advanced и я воспользовался его встроенной возможностью при создании бекапа конвертировать бекап в виртуальную машину. Для этого достаточно при настройке свойств задания резервного копирования для пункта «Преобразование в виртуальную машину» выбрать Преобразовать, затем выбрать тип машины и месторасположение, где будут созданы файлы.

419

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

Между Hyper-V 2012 R2/2016 и обратно ещё пока импортировать VM не пробовал.

Проблемы

420

421

422

Выводы

При соблюдении этих условий перенос пройдем максимально гладко.

Следующим этапом планирую опробовать для архивирования виртуальных машин прекрасный по отзывам Veem Backup Free Edition.

Источник

Миграция физического сервера в виртуальную среду с помощью Disk2VHD

Перенос физических серверов в виртуальную среду (Physical-to-Virtual, P2V) может преследовать различные цели. Например, выведя из эксплуатации устаревшие сервера и смигрировав их в виртуальную среду можно оптимизировать загрузку оборудования, не говоря о том что виртуальными машинами гораздо легче управлять. Способов P2V-миграции достаточно много, и сегодня я опишу один из них.

Переходим к конкретной задаче. Имеется одинокий 🙂 сервер с установленной на нем Windows Server 2003 R2. На сервере крутятся несколько важных сервисов, остановка которых более чем на несколько минут недопустима. Физический доступ к серверу ограничен, так как он стоит в датацентре. Задача — смигрировать его на Hyper-V, при этом минимизировав время недоступности сервисов.

Для решения этой задачи я решил воспользоваться программой Disk2VHD от Sysinternals. Disk2VHD умеет конвертировать физические жесткие диски в виртуальные диски формата VHD. Подключив созданные программой VHD-файлы к виртуальной машине, мы получаем полную копию физического сервера со всеми установленными ролями, приложениями и настройками.

При создании VHD программа использует службу теневого копирования (Volume Shadow Copy Service, VSS), что позволяет создавать образ диска прямо на работающей машине, без необходимости ее остановки. Более того, образ можно создать на том же диске, который вы конвертируете, правда скорость работы при этом будет несколько ниже, чем при использовании другого диска.

Создание образа

Одним из достоинств Disk2VHD является простота использования. Для того чтобы создать образ, просто загружаем программу на сервер и запускаем ее. В окне программы будут показаны все логические диски, имеющиеся в системе. Отмечаем те из них, которые нужно включить в образ, вводим имя VHD-файла и путь для сохранения, жмем «Create» и ждем, пока образ будет создан.

Если в системе несколько дисков, то для каждого физического диска, содержащего выбранные разделы, создается отдельный VHD-файл. Логическая структура диска при этом не изменится, если он был разбит на несколько логических разделов, то все они будут скопированы и помещены в один VHD-файл. Впрочем, при необходимости отдельные разделы можно исключить из образа. В этом случае разбиение на разделы сохранится, но скопируются только данные, относящиеся к выбранным разделам. Такой подход позволяет, например, включить в образ только системный раздел диска, исключив разделы с данными.

ptv1

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

Disk2VHD может работать как в графическом режиме, так и из командной строки. Например, сконвертировать диск C: можно командой:

disk2vhd C: C:DistrImage.vhd

А так сконвертируются все диски, имеющиеся на сервере:

Подключение образа

Получившийся образ переносим на сервер Hyper-V. Открываем Hyper-V Manager и запускаем процесс создания новой виртуальной машины. Параметры машины (процессор, память, сеть) устанавливаем в соответствии с характеристиками копируемого физического сервера, а в качестве виртуального диска указываем использовать полученный VHD-файл.

ptv2

Запускаем виртуальную машину. При первой загрузке система попытается определить и установить драйвера на новое оборудование. Для новых ОС, таких как Windows Server 2012, этот процесс проходит автоматически, в нашем же случае надо перейти в меню Action — Insert Integration Services Setup Disk, после чего вручную запустить установку сервисов интеграции.

ptv4

По окончании установки сервисов интеграции система потребует перезагрузки.

ptv3

После перезагрузки мы получаем готовый к работе сервер. Единственное что еще может потребоваться — настроить параметры сетевого адаптера, в том случае если вы используете статическую адресацию.

Заключение

Программы от Sysinternals выручали меня в различных ситуациях, не подвели и на этот раз. С помощью Disk2VHD сервер успешно смигрировал в виртуальную среду с минимальными потерями. Допускаю, что мне просто повезло и я не столкнулся с проблемами в процессе перехода, однако у меня использование Disk2VHD вызвало только положительные эмоции 🙂

Источник

Как превратить физический сервер в ВМ на платформе Hyper-V

Уверен, вы уже не раз слышали про виртуализацию. И еще я уверен, что, где бы вы ни работали, вы хотели бы использовать преимущества виртуальной среды. Если вы ищете инструкцию, как превратить свой физический сервер в виртуальную машину на платформе Hyper-V (P2V), просто прочитайте эту статью: я расскажу, как выполнить эту операцию всего за несколько минут!

Для преобразования можно использовать один из нескольких конвертеров. Я расскажу о самом простом и удобном способе создания ВМ для платформы Hyper-V. Для этого вам потребуется установленный и работающий сервер Hyper-V, на котором можно развернуть ВМ. Если вы еще не установили сервер, прочитайте сначала это руководство.

Когда не стоит выполнять преобразование?

Я не рекомендую виртуализовать физический сервер, если он используется как контроллер домена. Вместо этого вам необходимо создать новую ВМ, назначить ее контроллером домена, синхронизировать с основным контроллером, а затем передать ей роль FSMO. На эту тему есть много полезных статей.

Можно также выполнить преобразование с учетом транзакций — этот вариант следует использовать, если на машине работает SQL Server, Exchange, SharePoint и тому подобные приложения. Лучше всего выбрать время для запланированного выключения соответствующего сервера, остановить работу указанных выше служб перед началом преобразования и/или отключить сетевой адаптер.

Никаких других ограничений для преобразования сервера нет. Можно приступать!

Руководство по преобразованию P2V с помощью Disk2VHD

Из всех конвертеров P2V для Hyper-V самым удобным для этой операции мне представляется Disk2VHD. Он создан инженерами Microsoft, имеет размер всего 0,9 МБ, и скачать его можно с официальной страницы Windows Sysinternals. К делу!

Шаг 1. Скачайте программу Disk2vhd

Перейдите на страницу Windows Sysinternals и скачайте программу.

Disk2VHD

Программа Disk2vhd v2.01.

Шаг 2. Запустите Disk2vhd на физическом сервере, который необходимо преобразовать

Просто распакуйте ее и запустите на сервере. Как показано на рисунке, интерфейс программы очень простой. Чтобы создать диск VHDX, поставьте флажок Use Vhdx (Использовать Vhdx).

ПРИМЕЧАНИЕ. VHDX — это формат диска, появившийся в Windows Server 2012. По сравнению с традиционным VHD, в VHDX был внесен ряд изменений: появился специальный внутренний журнал, снижающий вероятность повреждения данных, увеличилась емкость (до 64 ТБ), добавлены некоторые другие функции. Я рекомендую по возможности использовать формат VHDX.

Выберите Use VSS (Использовать VSS), если вы хотите получить копию диска, согласованную на уровне транзакций, а не сбоев. Выберите место, где будет находиться файл VHDX (если оно будет расположено на том же диске, возможно «поглощение», поэтому для хранения образа лучше использовать другой жесткий диск). Выберите любой диск/том, который нужно виртуализовать. Если вы хотите сделать этот диск загрузочным, необходимо включить туда системный диск и область загрузки (поставьте флажок System Reserved (Зарезервировано системой)). Нажмите Create (Создать), чтобы начать преобразование.

Disk2VHD

Запустите Disk2vhd на физическом сервере, который необходимо преобразовать.

Шаг 3. Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V

Во время этой операции вы увидите примерное время, оставшееся до ее завершения.

Disk2VHD

Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V.

После ее завершения вы получите файл/диск VHDX, который можно скопировать на сервер Hyper-V и поместить в папку, где находятся диски ВМ.

Disk2VHD

Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V.

Шаг 4. Создайте новую ВМ на хосте Hyper-V

Чтобы использовать созданный диск, необходимо создать ВМ. Запустите мастер (New → Virtual Machine (Создать → Виртуальная машина)) в Менеджере Hyper-V и настройте ее в соответствии со своими требованиями. Параметры настройки очень просты, за исключением выбора поколения ВМ (появился только в Windows Server 2012 R2).

Disk2VHD

Создайте новую ВМ на хосте Hyper-V.

ПРИМЕЧАНИЕ. Необходимо внимательно подойти к выбору поколения ВМ. Начиная с Windows 2012 R2, в Hyper-V появился новый параметр:
Generation 2 virtual machine (Виртуальная машина 2 поколения). Речь идет о втором поколении встроенного ПО для ВМ с обновленным набором виртуального аппаратного обеспечения и новыми возможностями для пользователей, такими как загрузка с устройства, подключенного по iSCSI.   Но ВМ 2 поколения имеют существенные ограничения, например, они поддерживают гостевые ОС, только начиная с Windows 8, а семейство Unix не поддерживают совсем. Таким образом, на практике этот вариант следует выбирать только для Windows 8/8.1 или Windows Server 2012/2012 R2 и только для 64-разрядных версий.

Поэтому к выбору поколения ВМ нужно отнестись внимательно, и если вы не уверены на 100%, что вам необходимо Поколение 2, выбирайте поколение 1.

Disk2VHD

Создайте новую ВМ на хосте Hyper-V.

Шаг 5. Подключите созданный диск

Дойдя до шага Connect Virtual Hard Disk (Подключение виртуального жесткого диска), необходимо настроить виртуальный жесткий диск. Найдите уже созданный диск и выполните оставшиеся действия с помощью мастера.

Disk2VHD

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

Шаг 6. Запустите ВМ и приступайте к работе

Щелкните правой кнопкой мыши на ВМ, выберите Run (Запустить), затем еще раз щелкните правой кнопкой и подключитесь к ней.

Disk2VHD

Запустите ВМ.

Загрузка ВМ может занять некоторое время, поскольку конфигурация аппаратного обеспечения будет отличаться. Но через несколько минут вы увидите экран приветствия и сможете войти в систему. Готово!

Disk2VHD

Запустите ВМ.

Вот и все!
Наслаждайтесь преимуществами своих ВМ и не забудьте их защитить, используя бэкап виртуальной инфраструктуры с помощью Veeam!

Также вас могут заинтересовать:

  • Скачать пробную версию Veeam Availability Suite v9 бесплатно
  • Бесплатный бэкап виртуальных машин Hyper-V
  • Как выполнить миграцию работающей ВМ в Hyper-V
  • Как защитить виртуальные машины Hyper-V
     

«Любишь Hyper-V – люби и PowerShell»
     Первое правило Сообщества Hyper-V в Телеграм

     «А если любишь VMware ESXi, то люби PowerShell на пару с ESXi CLI и REST API»
     Дополнено мной

Живая миграция (live migration) – популярная функция в Hyper-V. Она позволяет переносить работающие виртуальные машины без видимого простоя. В сети много инструкций по переносу ВМ, но многие из них устарели. Вдобавок не все заглядывают в расширенные настройки и правильно используют возможности Live Migration. 

Я собрал нюансы и неочевидные параметры для быстрого переноса ВМ внутри кластера и между кластерами. Заодно поделюсь маленькими секретами в настройке и проектировании. Надеюсь, статья будет полезна начинающим админам.  

Дисклеймер: Все описанные шаги желательно сделать ДО ввода сервера Hyper-V в прод. Hyper-V никогда не прощает ошибок проектирования и подведет вас при первом удобном случае. То есть уже на следующий день.

Вспоминаем матчасть

Как обычно происходит миграция ВМ с одного узла на другой внутри кластера Hyper-V:

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


    Копирование страниц памяти с одного узла на другой и их синхронизация.

  4. ВМ на исходном хосте выключается, оставшиеся страницы памяти копируются на целевой хост, и виртуальная машина на нем включается. Переключение происходит за доли секунды. Процесс достаточно быстрый, чтобы ни один клиент не заметил простоя.

Это и называется живой миграцией. Схема справедлива для любого гипервизора.

Чем больше оперативной памяти у ВМ и чем интенсивнее она изменяется, тем дольше будет переезд. Поэтому трафик живой миграции требует хорошего канала и тщательной настройки.

По такой схеме работает классическая живая миграция внутри Failover Cluster. Для нее нужен общий том CSV, поданный всем хостам кластера.

 
Помимо этого есть второй вид Live Migration, живая миграция в режиме «ничего общего» (Shared-Nothing Live Migration). Этот сценарий обычно используется для миграции ВМ без простоя между кластерами. Помимо страниц памяти с одного хоста Hyper-V на другой копируется диск VHD(X) с переносом и синхронизацией дельты данных, записанных на него. 

Разберем основные нюансы по настройке интерфейсов.

Задаем настройки протоколов

  1. Для начала зайдем в Hyper-V manager и откроем правым кликом настройки Hyper-V. В настройках Live Migration укажем адреса сетевых интерфейсов, к которым будет обращаться гипервизор: 

  2. Заглянем в Advanced features. Нас интересуют оба пункта: протокол аутентификации и транспорт, который используют наши ВМ.
    • Authentication protocol: по умолчанию установлен протокол CredSSP – Credential Security Support Provider Protocol. Он прост в использовании, но, если в инфраструктуре несколько кластеров, мы не сможем перенести ВМ между кластерами. 

      Мы выберем Kerberos как более безопасный и подходящий для переноса ВМ между различными кластерами.

    • Performance options: здесь выбираем сетевой протокол. Живая миграция у нас будет работать поверх Switch Embedded Team по протоколу SMB (Server Message Block). 

      Возможность использовать этот протокол появилась в Windows Server 2016. SMB по умолчанию отдает трафик в несколько портов (SMB Multi-channel). Также он прекрасно работает с RDMA – адаптером удаленного прямого доступа к памяти. Это полезно для ускорения переноса кластеров. 

  3. Kerberos позволяет переносить ВМ между кластерами, но требует настройки ограниченного делегирования (Kerberos Constrained Delegation) на объектах Computer в Active Directory. 

    Начиная с Windows Server 2016, службы работают в контексте NETWORK SERVICE, который не может имперсонироваться в AD. Так что в этом случае выбираем неограниченное делегирование (Unconstrained Delegation), но учитываем, что это довольно небезопасно:

    Если живая миграция инициируется через System Center Virtual Machine Manager (SC VMM), то дополнительной настройки не нужно. SC VMM является доверенным сервисом для переноса машин по Shared-Nothing Live Migration.

  4. Протокол SMB не требует особой настройки. Если мы находимся в доверенной среде, можно немного ускорить процесс Live Migration и отключить сквозное шифрование данных SMB:
    Set-SmbServerConfiguration -EncryptData $false -RejectUnencryptedAccess $false

    Так мы совершим меньше действий при передаче трафика и не потратим лишнее время на шифрование. В случае с кластерами оно может нам понадобиться. 

    Эти же настройки в более модном Windows Admin Center:

Разбираемся с конфигурацией сети

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

Как было раньше. Старые мануалы по переносу ВМ Hyper-V описывают сценарии с использованием технологии тиминга Load Balancing/Fail Over (LBFO). LBFO позволяла группировать физические сетевые адаптеры и создавать поверх них интерфейсы. Но были и минусы, например: не было поддержки RDMA, нельзя было выяснить, через какой порт тима будет идти трафик. А поскольку трафик живой миграции требует довольно жирного канала, это превращалось в проблему, когда все сетевые ворклоады ломились в один физический порт. 

Как сейчас. В Windows Server 2019 даже нельзя создать виртуальный свитч поверх LBFO Team. Единственным поддерживаемым решением для объединения портов сетевой карты в Hyper-V остался Switch Embedded Team (SET).  

SET агрегирует адаптеры, как и vSwitch у ESXi. Физические сетевые порты становятся патч-кордом для разных типов трафика (в том числе для ВМ), а поверх них нарезаются виртуальные интерфейсы. 

Тут нужно добавить, что в типах гипервизоров есть небольшой рассинхрон. Англоязычные авторы считают, что есть только 2 типа, но на самом деле их 3 (подробно мы с коллегами описывали их в этом посте). Когда-то гипервизоры ESX были гибридного типа (1+). Это был такой модернизированный Red Hat c ролью гипервизора. VMware ушла от этого в vSphere 4.1 и стала честным гипервизором типа 1 (bare-metal). 

Microsoft взяла опыт VMware на вооружение и реализовала Switch Embedded Team в Windows Server 2016. Эта схема показывает большую производительность и гибкость в управлении трафиком в рамках тиминга.

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

Как это влияет на процесс настройки. В Hyper-V, помимо менеджмент-интерфейса, мы обычно создаем интерфейсы для живой миграции и интерфейсы для CSV-трафика кластера. Для этого нам нужно знать количество сетевых портов, входящих в SET, – именно столько виртуальных интерфейсов нужно будет создать. Также учитываем  расположение сетевых портов на PCI-шине, количество сокетов для последующего маппинга интерфейсов по NUMA-нодам и количество физических ядер на каждом процессоре.

Посмотрим на процесс пошагово

  1. Для начала опишем сети, которые будем использовать. Предположим, у нас стандартная двухпортовая on-board сетевая карта и двухсокетная материнская плата.
  2. Создать SET через стандартный интерфейс можно с помощью Virtual Switch в VMM (Virtual Machine Manager). Если VMM нет, выполняем следующий скрипт  PowerShell на каждом хосте Hyper-V: 
    New-VMSwitch -Name "SET" –NetAdapterName "NIC1","NIC2" -EnableEmbeddedTeaming $True -AllowManagementOS $true -MinimumBandwidthMode Weight

    В результате мы создадим свитч с менеджмент-интерфейсом. MinimumBandwidthMode обязательно сразу задаем как weight, иначе после создания SET мы не сможем изменить этот параметр. Так пропускная способность сети будет указана в относительных числах. Это понадобится для настройки Network QoS Policies (а иначе они не будут работать). 

    Если мы настраиваем SET поверх RDMA-адаптеров, то MinimumBandwidthMode работать не будет ни в каком режиме. Следовательно, Network QoS Policies при включенном RDMA тоже работать не будут.

  3. Алгоритм балансировки выставляем в Dynamic вместо дефолтного Hyper-V Port (в Windows Server 2019). Dynamic использует лучшие аспекты режимов Address Hash и Hyper-V Port и хорошо обрабатывает и входящий, и исходящий трафик: 
    Set-VMSwitchTeam "SET" -LoadBalancingAlgorithm Dynamic

    Здесь нужно быть очень внимательным, особенно если мы создаем SET через SC VMМ и оставляем балансировку Host Default. В Windows Server 2016 алгоритмом по умолчанию был Dynamic. В Windows Server 2019 дефолтный алгоритм по непонятным причинам изменили на Hyper-V Port, так что можно и ошибиться.

  4. Когда мы создали свитч, IP-адрес первого физического интерфейса мигрирует на виртуальный интерфейс свитча. 

    После этого мы создаем сетевые интерфейсы по количеству физических портов на сетевой карте и «прибиваем» CSV-трафик и трафик живой миграции к каждому порту: 

    # Создаем виртуальные сетевые адаптеры Live Migration
    Add-VMNetworkAdapter –ManagementOS –Name "LiveMigration01" –SwitchName MGMT-Switch -NumaAwarePlacement $true
    Add-VMNetworkAdapter –ManagementOS –Name "LiveMigration02" –SwitchName MGMT-Switch -NumaAwarePlacement $true
    
    # Задаем VLAN
    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "LiveMigration*" -VlanId 2 -Access
    
    #Задаем IP-адреса для адаптеров
    New-NetIPAddress –InterfaceAlias "vEthernet (LiveMigration01)" -IPAddress 192.168.2.2 -PrefixLength 24 -Confirm:$false
    New-NetIPAddress –InterfaceAlias "vEthernet (LiveMigration02)" -IPAddress 192.168.2.3 -PrefixLength 24 -Confirm:$false
    
    # Создаем виртуальные сетевые адаптеры CSV-трафика
    Add-VMNetworkAdapter –ManagementOS –Name "CSV01" –SwitchName MGMT-Switch -NumaAwarePlacement $true
    Add-VMNetworkAdapter –ManagementOS –Name "CSV02" –SwitchName MGMT-Switch -NumaAwarePlacement $true
    
    # Задаем VLAN
    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "CSV*" -VlanId 3 -Access
    
    # Задаем IP-адреса для адаптеров
    New-NetIPAddress –InterfaceAlias "vEthernet (CSV01)" -IPAddress 192.168.3.2 -PrefixLength 24 -Confirm:$false
    New-NetIPAddress –InterfaceAlias "vEthernet (CSV02)" -IPAddress 192.168.3.3 -PrefixLength 24 -Confirm:$false
  5. Теперь мы должны утилизировать все доступные нам оффлоады. Например, я выкручиваю Jumbo Frames до 9K для всех типов трафика, кроме Management. 

    Тут без помощи сетевых инженеров не обойтись: потребуется настройка портов на сетевом оборудовании.  

    Set-NetAdapterAdvancedProperty -Name "NIC1" -DisplayName "Jumbo Packet" -DisplayValue 9014
    Set-NetAdapterAdvancedProperty -Name "NIC2" -DisplayName "Jumbo Packet" -DisplayValue 9014
    Set-NetAdapterAdvancedProperty -Name "vEthernet (CSV01)" -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"
    Set-NetAdapterAdvancedProperty -Name "vEthernet (CSV02)" -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"
    Set-NetAdapterAdvancedProperty -Name "vEthernet (LiveMigration01)" -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"
    Set-NetAdapterAdvancedProperty -Name "vEthernet (LiveMigration02)" -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"

    Названия свойств сильно зависят от модели сетевой карты, так как это не статические фичи Windows Server, а фичи конкретной модели сетевой карты. Чтобы использовать эти фичи, нужно ОБЯЗАТЕЛЬНО ставить драйверы от производителя сетевой карты и ни в коем случае не использовать стандартный драйвер Windows. Иначе сразу после создания SET может отвалиться сеть по Management’у. Список всех свойств сетевой карты можно получить через командлет Get-NetAdapterAdvancedProperties.

  6. Проверим, что метрики сетевых интерфейсов равны:

    Синхронизируем метрики интерфейсов и снизим приоритет интерфейсов CSV-трафика. В моем случае задавал так:

    Set-NetIPInterface -InterfaceIndex 16 -InterfaceMetric 10000
    Set-NetIPInterface -InterfaceIndex 3 -InterfaceMetric 10000
    Set-NetIPInterface -InterfaceIndex 9 -InterfaceMetric 10500
    Set-NetIPInterface -InterfaceIndex 6 -InterfaceMetric 10500
    

    Это нужно, чтобы трафик равномерно распределялся между физическими портами на равных.

  7. Если карта поддерживает RDMA, то трафик живой миграции уместно перенести на нее. RDMA позволяет двум хостам обмениваться данными в их памяти без обращения к ОС хостов и без нагрузки на CPU. Поддержку RDMA на карте проверяем с помощью командлета Get-NetAdapterRdma.


    Пример: что можно получить с помощью командлета. Скрин со statemigration.com.

    При этом сетевые ворклоады машин лучше оставить на встроенном или внешнем адаптере без RDMA (но, опять же, эта тема дискуссионная).

  8. На сетевую производительность влияет расстояние до сокета процессора от конкретного порта и PCI-шины. Поэтому перейдем к маппингу виртуальных адаптеров и настройке Virtual Machine Queues (VMQ). 

    Маппинг необходим, чтобы трафик гарантированно выходил из определенного сетевого порта и не произошла ситуация, когда все сетевые нагрузки уходят в один случайный порт.  

    Set-VMNetworkAdapterTeamMapping -ManagementOS -PhysicalNetAdapterName "NIC1" -VMNetworkAdapterName "LiveMigration01"
    Set-VMNetworkAdapterTeamMapping -ManagementOS -PhysicalNetAdapterName "NIC2" -VMNetworkAdapterName "LiveMigration02"
    Set-VMNetworkAdapterTeamMapping -ManagementOS -PhysicalNetAdapterName "NIC1" -VMNetworkAdapterName "CSV01"
    Set-VMNetworkAdapterTeamMapping -ManagementOS -PhysicalNetAdapterName "NIC2" -VMNetworkAdapterName "CSV02"
  9. Настройка VMQ помогает учесть расположение на PCI-шине. По умолчанию, очереди обрабатываются нулевым ядром нулевого процессора. Это не очень хорошо: во-первых, мы его ОЧЕНЬ сильно греем, во-вторых, так мы просто не сможем выжать из сетевого порта больше 3 Гб. Это относится к трафику ВМ. Но у нас же другой трафик (SMB)! Значит, имеет смысл настроить RSS. 

    До Windows Server 2019 настройка VMQ была обязательна, пока не появился dVMMQ. Он автоматически балансирует трафик и перекидывает его с ядра на ядро, как только нагрузка доходит 90%. Так что на Windows Server 2019 сидеть и высчитывать ядра для VMQ не нужно. 

    Настраиваем так:

    Set-NetAdapterRss -Name "NIC1" -BaseProcessorGroup 0 -BaseProcessorNumber 2 -MaxProcessors 8 -MaxProcessorNumber 16
    Set-NetAdapterRss -Name "NIC2" -BaseProcessorGroup 0 -BaseProcessorNumber 16 -MaxProcessors 8 -MaxProcessorNumber 30

    Посмотрим наглядно, как это работает. Предположим, у нас есть 2 процессора с 16 физическими ядрами. Это 32 логических ядра с учетом многопоточности. Открываем Excel и выписываем по порядку ядра от 0 до 31:

    Для первого порта сетевого адаптера назначаем Base Processor Number 2. Для количества ядер берем степень двойки. В четвертой степени получим 16 – это значение задаем для MaxProcessorNumber.

    BaseProcessor для второго адаптера тоже будет равен 16 (опять берем степень двойки). На картинке хорошо виден перехлест для обработки трафика на шестнадцатом ядре. Ситуация не критичная, так как нулевое ядро мы разгрузили и не используем для обработки Live Migration. 

    Через эти же командлеты можно задать и количество RSS-очередей (RSS Queues). Их количество зависит от конкретной модели сетевой карты, поэтому перед настройкой RSS Queues нужно изучить документацию к сетевой карте.

Настраиваем миграцию для кластеризованного сценария 

Со стороны Failover Cluster дополнительно выкрутим настройки таймаутов кластера:

(Get-Cluster).SameSubnetDelay = 2000
(Get-Cluster).SameSubnetThreshold = 30

  • SameSubnetDelay указывает, сколько раз в какое время мы посылаем хартбиты. По умолчанию он выставлен в 1 секунду. 

    Если узлы кластера находятся в одной сети, этого достаточно. Если они в разных сетях, то нужно настроить CrossSubnetDelay с теми же значениями.

  • SameSubnetThreshold показывает, сколько хартбитов мы можем максимально пропустить. По дефолту это 5 хартбитов, максимум – 120. Мы поставим оптимальное значение – 30 хартбитов.

Для высоконагруженных машин важно выкрутить оба параметра. Если не уложимся, то с большой вероятностью такая машинка не переедет. 

Чтобы трафик живой миграции использовался только на определенной сети, также оставим отдельную сеть в настройках Failover Cluster:

Собственно, это и есть минимальный джентльменский набор настроек для корректной работы Live Migration в Hyper-V. 

В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через импорт/экспорт через графический интерфейс Hyper-V Manager, PowerShell и Windows Admin Center (WAC).

При клонировании виртуальных машин с Windows не забывайте о том, что после клонирования ВМ у ее копии будет такой же SID. Для сброса SID нужно использовать утилиту sysprep. Если вы создали эталонный образ Windows, то перед клонированием на нем нужно выполнить команду:

%WINDIR%system32sysprepsysprep.exe /generalize /shutdown /oobe

ВМ будет выключена и при следующей загрузке как оригинальной ВМ, так и ее клона для Windows будет сгенерирован новый SID. Также нежелательно клонировать ВМ, включенные в домен Active Directory.

Содержание:

  • Экспорт/импорт ВМ из консоли Hyper-V Manager
  • Клонирование ВМ через экспорт/импорт в Hyper-V с помощью PowerShell
  • Клонирование виртуальных машин Hyper-V через Windows Admin Center

Экспорт/импорт ВМ из консоли Hyper-V Manager

Сначала нужно экспортировать ВМ в отдельный каталог.

Запустите консоль Hyper-V manager, выберите ВМ и в контекстном меню выберите Export.

Начиная с версии Hyper-V в Windows Server 2012 R2 (в том числе в Free Hyper-V Server) вы можете экспортировать даже запущенные виртуальные машины без их остановки.

экспорт виртуальной машины через hyper-v manager

Укажите каталог, в который нужно экспортировать виртуальную машину.

каталог в который поместить копию ВМ

Статус экспорта ВМ будет отображен в строке состояния ВМ в консоли Hyper-V.

exporting VM в консоли hyper-v

Начиная с Hyper-V в Windows Server 2012 R2 вы можете экспортировать конкретный снимок (checkpoint) виртуальной машины. Для этого достаточно выбрать нужны снимок в дереве Checkpoints и выбрать Export.

экспорт снимка ВМ в hyper-v

Чтобы импортировать ВМ щелкните в консоли Hyper-V Manager по имени хоста и выберите Import Virtual Machine.

запустить Import Virtual Machine в консоли hyper-v

Затем нужно указать путь к каталогу, в котором находятся папки с файлами импортируемой ВМ. При импорте ВМ в Hyper-V предлагается 3 варианта регистрации ВМ на хосте:

  • Register the virtual machine in-place (use the existing unique ID) —зарегистрировать ВМ в каталоге с импортируемыми файлами, ID ВМ сохраняется;
  • Restore the virtual machine (use the existing unique ID) — скопировать файлы ВМ в другой каталог, сохранить исходный идентификатор ВМ;
  • Copy the virtual machine (create a new unique ID) — скопировать ВМ в другую каталог и сгенерировать новый ID.

копировать ВМ Hyper-V и сгенерировать новый ID

У каждой ВМ на хосте Hyper-V есть идентификатор ID, который должен быть уникальным в рамках хоста. Если вы импортируете, клонируете ВМ на другой хост, ID ВМ менять не обязательно.

Если вы попробуете импортировать ВМ с дублирующим ID, появится ошибка:

The operation failed because a virtual machine with the same identifier already exists. Select a new identifier and try the operation again.

Чтобы создать клон ВМ с новым ID мы выбрали 3 вариант. Мастер предложит указать в каких каталогах нужно разместить файлы ВМ. По умолчанию, используются каталоги, заданные в настройках хоста Hyper-V.

указать каталог, в котором хранить файлы ВМ

Затем укажите каталог для хранения виртуальных дисков vhdx ВМ.

каталога для vhdx файлов ВМ hyper-v

После этого новая клонированная виртуальная машина появится в консоли Hyper-V.

Клонирование ВМ через экспорт/импорт в Hyper-V с помощью PowerShell

Рассмотрим, как клонировать виртуальную машину Hyper-V через импорт/экспорт из консоли PowerShell.

Для экспорта ВМ воспользуйтесь такой командой:

Export-VM -Name win10 -Path 'C:VHDexport'

Export-VM в hyper-v с помощью powershell

Если вы хотите экспортировать запущенную ВМ, вы можете использовать параметр CaptuteLiveState, в котором определяется как нужно копировать оперативную память ВМ. Доступны три опции

  • CaptureSavedState – экспортировать оперативную память (по-умолчанию);
  • CaptureDataConsistentState – экспортировать состояние ВМ из Production checkpoint;
  • CaptureCrashConsistentState – не сохранять содержимое памяти.

Export-VM -Name win10 -Path 'C:VHDexport' -CaptureLiveState CaptureCrashConsistentState

Если вы хотите экспортировать состояние ВМ в определеном снимке, нужно указать его имя.

Сначала выведите список снимков для указанной ВМ:

Get-VMSnapshot -VMName win10

Затем выполните экспорт нужного снимка по его имени:

Export-VMSnapshot -Name “win10 - (2/17/2021 - 9:52:20 PM) Standard” -VMName win10 -Path 'C:VHDexport'

Export-VMSnapshot

После завершения экспорта ВМ вы можете импортировать ее. Если нужно зарегистрировать ВМ по месту хранения файлов, выполните команду:

Import-VM -Path "C:VHDexportwin10Virtual Machines1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx"

В параметре Path указываем расположение vmcx файла конфигурации ВМ (формат vmcx заменил XML формат конфигурационных файлов ВМ в Hyper-V Server 2016). Для копирования ВМ в другой каталог с тем же ID используйте параметр Copy. Чтобы сгенерировать нового идентификатор ВМ, используйте параметр GenerateNewId:

Import-VM -Path "C:VHDexportwin10Virtual Machines1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx" -VhdDestinationPath "C:VHDwin10_2" -VirtualMachinePath "C:VHDwin10_2"

В параметре VhdDestinationPath указывается каталог, куда нужно скопировать VHDX файлы ВМ, а в параметре VirtualMachinePath — каталог конфигурационных файлов ВМ. Если эти параметры не задать, файлы ВМ будут скопированы в дефолтный каталог, указанный в настройках хоста Hyper-V (C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines).

Также можно указать каталоги для хранения чекпоинтов (
SnapshotFilePath
) и файла подкачки (
SmartPagingFilePath
).

import-vm командлет powershell

Обратите внимание, что клонированная ВМ появилась в консоли Hyper-V с оригинальным именем. Переименуем новую ВМ, но сначала нужно получить ее ID:

get-vm | select VMNAME,VMId

Как вы видите в консоли есть две ВМ с одинаковым именем и разными ID. Нужно переименовать ВМ с ID, который отличается от ID импортируемой ВМ. Скопируйте ID новой ВМ и переименуйте ее:

get-vm | Where-Object {$_.VMId -eq "24ad8934-f650-46f6-9caa-2a3b79b79bd5"} | Rename-VM -NewName win10_2

переименовать виртуальную манину hyper-v из powershell

Затем для удобства можно переименовать виртуальный жесткий диск.

Get-VHD -VMId 24ad8934-f650-46f6-9caa-2a3b79b79bd5| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:VHDwin10_2win10_2.vhdx"

Изменим MAC адрес виртуального адаптера (можно указать новый статический MAC или настроить динамическое получение MAC адреса).

Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2

изменить имя виртуальных дисков ВМ hyper-v

Прежде, чем подключить новую ВМ в сеть, желательно переименовать ее и изменить IP адрес на новый (если используется DHCP адресация, этот шаг можно пропустить). В данном случае мы можем подключиться к новой ВМ через PowerShell Direct с помощью командлета Invoke-Command или Enter-PSSession:

Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.31.50 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-Computer

Клонирование виртуальных машин Hyper-V через Windows Admin Center

Возможно клонировать ВМ Hyper-V напрямую без промежуточного экспорта/импорта появилась в Windows Admin Center v2009.

Запустите WAC, выберите раздел Virtual Machines, выберите ВМ -> Manage -> Clone.

Windows Admin Center клонировать виртулаьную машину

Затем нужно указать имя новой ВМ и каталог, в который нужно поместить ее файлы.

wac клонирование виртуальной машины с sysprep

Обратите внимание, что мастере клонирования есть опция “I have already run sysprep on my VM”. Если вы не выполнили генерализацию образа с помощью Sysprep, и не включили эту опцию, Hyper-V создаст снапшот исходной ВМ, выполните ее Sysprep и склонирует в новую (исходная ВМ будет несколько раз перезагружена и не доступна для работы). После этого исходная ВМ будет возвращена в первоначальное состояние, а снапшот удален.

При клонировании любых ВМ, с гостевыми ОС, отличными от Windows, всегда включайте эту опцию.

Windows Admin Center - pre-sysprep снимок при клонировании

Дождитесь окончания клонирования ВМ. Новой ВМ автоматически будет присвоен новый ID.

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

Как работать с родным гипервизором Windows Hyper-V, поставляемым в серверной линии системы и отдельных выпусках клиентских версий 8.1 и 10, в плане каких-то движений виртуальных машин? Когда нам нужно перенести машины в другое место на компьютере или на другой компьютер, добавить машины в диспетчер после переустановки хостовой Windows, сделать машину-клон. Для всех этих случаев гипервизор предусматривает функционал экспорта-импорта машин.

А в реализации Hyper-V в Windows 10 можем воспользоваться ещё и альтернативным функционалом экспорта-импорта машин посредством сжатого файла VMCZ. Давайте же подробнее рассмотрим эти возможности Hyper-V.

Функция «Поделиться» Hyper-V в Windows 10

Альтернативный функционал экспорта-импорта, присутствующий в реализации гипервизора в клиентской Windows 10 – это кнопка «Поделиться» в окне подключения машины. При её нажатии откроется окно обзора для указания пути сохранения сжатого файла экспорта машин Hyper-VVMCZ.

Hyper-V

Прогресс создания этого файла будем наблюдать внизу окна подключения.

Поделиться

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

Файл VMCZ

Откроется форма импорта, которая добавит машину в диспетчер Hyper-V. Но так будет только в идеале. Эта не новая функция, она появилась после одного из обновлений Windows 10 ещё в 2017 году, но на момент написания статьи она ещё плохо проработана и сбоит. Работай эта функция идеально, во многих случаях она была бы лучшим решением переноса машин на другие компьютеры, нежели классическая функция экспорта-импорта машин. Пока же последняя — это единственное стабильное решение в этом плане.

Функция экспорта-импорта машин Hyper-V

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

Экспорт машин

Т.е. содержимое экспорта – это точные копии файлов машины, разложенные по папкам, как и её исходные файлы.

Содержимое экспорта

А классический импорт машин – это не извлечение данных из посредничающего файла-архива, а добавление машины по пути хранения её файлов в окно диспетчера Hyper-V. При этом функция импорта является универсальным решением и для переноса машин, и для их копирования, и для их перерегистрации в диспетчере после удаления оттуда или переустановки хостовой Windows. Рассмотрим эти операции.

Перенос машин Hyper-V

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

Экспорт контрольной точки

После запуска операции экспорта указываем путь, куда будут сохранены файлы машины, и жмём «Экспорт».

Экспорт

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

Импорт на панели операций

Жмём «Далее».

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

Указываем путь хранения перемещённых или экспортированных файлов машины.

Путь хранения

Если мы указали путь общей папки хранения машин, то выбираем какую-то конкретную машину.

Выбор виртуальной машины

Выбираем тип импорта — регистрация машины по месту.

Регистрация машины

Жмём «Готово».

Сводка

Всё – машина импортирована.

Машина импортирована

Перерегистрация машин Hyper-V

Если нам необходимо добавить наши машины после их удаления из диспетчера Hyper-V или переустановки хостовой Windows, проделываем ту же операцию импорта, что описана выше. Также с выбором типа импорта — регистрация машины по месту.

Копирование машин Hyper-V

Импорт машин Hyper-V одновременно является и функционалом по их копированию. Если нам нужно создать клон точный машины, мы не сможем поступить так, как с перемещением — просто взять и в проводнике скопировать файлы машины, а потом перерегистрировать её. У клона должен быть свой уникальный идентификатор оборудования, чтобы иметь собственный внутренний IP в сети. Запускаем функцию импорта, указываем папку хранения исходной машины, из которой мы хотим сделать клон.

Выбор папки

Жмём «Далее».

Выбор виртуальной машины

На этапе выбора типа импорта выбираем копирование машины.

Копирование машины

Создаём на диске папку для файлов клона и прописываем эти пути на следующем этапе мастера импорта.

Мастер импорта

Далее указывать путь хранения диска машины-клона. Для него можно создать по пути хранения файлов клона специальную подпапку.

Выбор папок хранилища

Жмём «Готово».

Завершение работы мастера

По завершении копирования будем наблюдать клон в окне диспетчера Hyper-V.

А чтобы не путать его с оригиналом, можем переименовать машину.

Переименовать машину

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Перенос windows на ssd с помощью стандартных средств windows
  • Перенос папок temp на другой диск windows 10
  • Перенос windows на ssd с mbr на gpt
  • Перенос папки темп с ssd на hdd windows 10
  • Перенос windows на ssd samsung 870 evo