Экспорт и импорт виртуальной машины Hyper-V
Экспорт и импорт виртуальной машины Hyper-V
Почему защита персональных данных по-прежнему важна
Скачать SE
Оптимизация
Не приходит обновление до 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 имеется две одинаковые виртуальные машины. Они с разными идентификаторами, но у них одно и то же название. Сменим название только что импортированной виртуальной машины.
Все – процесс импорта осуществлен. Импортированную виртуальную машину можно запускать и тестировать.
Экспорт и импорт виртуальных машин
применимо к: 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, ее необходимо удалить перед тем, как будет работать импорт. После завершения импорта файлы экспорта становятся файлами выполняющегося состояния и не могут быть удалены.
Копировать виртуальную машину — аналогично типу восстановления в, в котором выбирается расположение для файлов. Разница заключается в том, что импортированная виртуальная машина имеет новый уникальный идентификатор. Это означает, что виртуальную машину можно импортировать на один узел несколько раз.
Еще раз про живую миграцию: как перенести виртуальные машины 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:
Чем больше оперативной памяти у ВМ и чем интенсивнее она изменяется, тем дольше будет переезд. Поэтому трафик живой миграции требует хорошего канала и тщательной настройки.
По такой схеме работает классическая живая миграция внутри Failover Cluster. Для нее нужен общий том CSV, поданный всем хостам кластера.
Помимо этого есть второй вид Live Migration, живая миграция в режиме «ничего общего» (Shared-Nothing Live Migration). Этот сценарий обычно используется для миграции ВМ без простоя между кластерами. Помимо страниц памяти с одного хоста Hyper-V на другой копируется диск VHD(X) с переносом и синхронизацией дельты данных, записанных на него.
Разберем основные нюансы по настройке интерфейсов.
Задаем настройки протоколов
Возможность использовать этот протокол появилась в Windows Server 2016. SMB по умолчанию отдает трафик в несколько портов (SMB Multi-channel). Также он прекрасно работает с RDMA – адаптером удаленного прямого доступа к памяти. Это полезно для ускорения переноса кластеров.
Начиная с Windows Server 2016, службы работают в контексте NETWORK SERVICE, который не может имперсонироваться в AD. Так что в этом случае выбираем неограниченное делегирование (Unconstrained Delegation), но учитываем, что это довольно небезопасно:
Так мы совершим меньше действий при передаче трафика и не потратим лишнее время на шифрование. В случае с кластерами оно может нам понадобиться.
Эти же настройки в более модном 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-нодам и количество физических ядер на каждом процессоре.
Посмотрим на процесс пошагово
| Имя сети | Назначение | Сеть | Шлюз | VLAN ID | Количество виртуальных адаптеров |
| Management | Управляющий интерфейс | 192.168.1.0/24 | 192.168.1.1 | 0 (Native) | 1 |
| LiveMigration | Живая миграция | 192.168.2.0/24 | 2 | 2 | |
| CSV | CSV-трафик | 192.168.3.0/24 | 3 | 2 |
В результате мы создадим свитч с менеджмент-интерфейсом. MinimumBandwidthMode обязательно сразу задаем как weight, иначе после создания SET мы не сможем изменить этот параметр. Так пропускная способность сети будет указана в относительных числах. Это понадобится для настройки Network QoS Policies (а иначе они не будут работать).
После этого мы создаем сетевые интерфейсы по количеству физических портов на сетевой карте и «прибиваем» CSV-трафик и трафик живой миграции к каждому порту:
Тут без помощи сетевых инженеров не обойтись: потребуется настройка портов на сетевом оборудовании.
Синхронизируем метрики интерфейсов и снизим приоритет интерфейсов CSV-трафика. В моем случае задавал так:
Пример: что можно получить с помощью командлета. Скрин со statemigration.com.
Маппинг необходим, чтобы трафик гарантированно выходил из определенного сетевого порта и не произошла ситуация, когда все сетевые нагрузки уходят в один случайный порт.
До Windows Server 2019 настройка VMQ была обязательна, пока не появился dVMMQ. Он автоматически балансирует трафик и перекидывает его с ядра на ядро, как только нагрузка доходит 90%. Так что на Windows Server 2019 сидеть и высчитывать ядра для VMQ не нужно.
Посмотрим наглядно, как это работает. Предположим, у нас есть 2 процессора с 16 физическими ядрами. Это 32 логических ядра с учетом многопоточности. Открываем Excel и выписываем по порядку ядра от 0 до 31:
Для первого порта сетевого адаптера назначаем Base Processor Number 2. Для количества ядер берем степень двойки. В четвертой степени получим 16 – это значение задаем для MaxProcessorNumber.
BaseProcessor для второго адаптера тоже будет равен 16 (опять берем степень двойки). На картинке хорошо виден перехлест для обработки трафика на шестнадцатом ядре. Ситуация не критичная, так как нулевое ядро мы разгрузили и не используем для обработки Live Migration.
Через эти же командлеты можно задать и количество RSS-очередей (RSS Queues). Их количество зависит от конкретной модели сетевой карты, поэтому перед настройкой RSS Queues нужно изучить документацию к сетевой карте.
Настраиваем миграцию для кластеризованного сценария
Со стороны Failover Cluster дополнительно выкрутим настройки таймаутов кластера:
Чтобы трафик живой миграции использовался только на определенной сети, также оставим отдельную сеть в настройках Failover Cluster:
Собственно, это и есть минимальный джентльменский набор настроек для корректной работы Live Migration в Hyper-V.
Импорт и экспорт в Hyperv или перенос виртуальных машин
Импорт и экспорт в Hyper V это возможность копирование и переноса виртуальных машин. Эта возможность используется в тестовой среде, когда у нас есть образ или шаблон машины и для переноса с одного сервера на другой. Я так же слышал, что кто-то использует эту возможность как резервное копирование. Мы рассмотрим на примерах с GUI и в Powershell.
Если вы хотите создать шаблон виртуальной машины, то перед экспортом нужно сделать sysprep. Что бы просто перенести виртуальную машину Hyper V этого делать не надо.
Либо запустить файл sysprep.exe в этой папке:
И подтвердить действия с этими настройками:
После окончания работы утилиты компьютер выключится и его нельзя будет включать. Если вы его включите, то идентификаторы сгенерируются и операцию нужно будет проделывать заново.
Экспорт Hyper V
Теперь выполним экспорт виртуальной машины Hyper V, в этот момент ВМ может быть включена. Нажмите на нее правой кнопкой и найдите кнопку экспорта:
Выберете путь, куда хотите экспортировать ВМ и нажмите кнопку подтверждения. ВМ будет экспортирована со всеми настройками и виртуальным диском:
После этого мы выполнили в Hyper V копирование виртуальной машины.
Импорт Hyper V
Что бы выполнить в Hyper V импорт виртуальной машины нажмите следующую кнопку:
После стартового окна нам нужно будет выбрать папку, куда мы экспортировали ВМ:
Проверяем, что имя ВМ совпадает с той, которую мы хотим импортировать:
На следующем окне у нас появляется три возможных пункта клонирования виртуальной машины Hyper V. Так как ВМ тоже имеет уникальные идентификаторы этот пункт очень важен:
Если в этот момент уже работает ВМ с этим идентификатором, то мы получим ошибку:
The operation failed because a virtual machine with the same identifier already exists. Select a new identifier and try the operation again.
Ошибка загрузки конфигурации виртуальной машины hyper v
Я выполню копирование машины, но остальные варианты аналогичны:
В случае с копированием мы можем выбрать новое расположение файлов чекпоинтов, конфигураций и кэша либо использовать установленное по умолчанию:
В этом окне выбирается расположение диска:
В этой ВМ адаптер подключен к другому коммутатору и его не существует на этом хосте гипервизора. Проверка коммутаторов идет по именам и если раньше коммутатор, на этом же хосте, назывался ‘Ext 1’, а затем был удален или переименован на ‘Ext 01’ вы тоже получите ошибку. Можно выбрать новый коммутатор или пропустить этот шаг:
На последнем шаге мы проверяем введенные данные и нажимаем кнопку подтверждения:
После этого ВМ импортируется и вам может понадобится подключиться к коммутатору и переименовать ее.
В обоих случаях вам нужно зайти в настройки ВМ:
Для переименовывания машины нужно зайти на вкладку «Имя»:
Если сетевых адаптеров у ВМ нет, то нужно зайти во вкладку добавления устройств и добавить сетевой адаптер:
А затем подключить к коммутатору:

Экспорт и импорт виртуальной машины Hyper V в Powershell
Все команды имеют ключ ComputerName, а значит перенос виртуальной машины Hyper V может делаться на удаленном компьютере.
Получим список ВМ Hyper V, что бы узнать какую машину экспортировать:
Что бы через консоль Powershell в Hyper V скопировать виртуальную машину, в базовом варианте, нужно сделать следующее:
Так как мы можем выполнить клонирование и включенной машины, то у нас есть несколько способов манипулировании с памятью. Для этого есть ключ CaptuteLiveState, которого нет в версии Windows Server 2012 r2 и ниже, со значениями:
По умолчанию используется CaptureSavedState.
Для импорта есть три варианта сохранения идентификаторов, которые описывались выше.
Если вы решили импортировать ВМ, которая уже находиться в нужной папке и с сохранением идентификаторов сделайте так:
Import-VM : Failed to create virtual machine. The operation failed because a virtual machine with the same identifier already exists. Select a new identifier and try the operation again.
Для импорта ВМ, с сохранением идентификаторов, но в новое место на диске выполните:
В случае копирования VM с генерированием нового идентификатора можно сделать так:
В этом случае все файлы будут перемещены в папку, которая была указана в настройках Hyper V. Операция клонирования выполнена.
Бэкапы виртуальных машин Hyper-V и обычных компьютеров
Хочу поделиться с вами опытом о том, что у меня отняло море времени — о бэкапах виртуальных машин и обычных компьютеров. Как сделать дешево и красиво.
Пожалуй, начну с того, что если вы хотите бэкапы на VMWare, то готовьтесь платить. Бесплатный VMWare — это бесплатно до тех, пока речь не идет о миграциях, бэкапах и тому подобное. На этом месте можно начать бесконечный холивар, но без моего участия. Мои повествования будут только о Hyper-V на Windows Server 2012R2. Хотя часть статьи можно применить и к VMWare, но, вероятно, будут подводные камни.
Бэкапить на Hyper-V мы можем бесплатно, а точнее, теми средствами Windows, за которые мы уже заплатили, приобретая лицензии Windows Server. Для удобства работы с нашими бэкапами (к тому же за это мы тоже заплатили) будем использовать WDS и дедупликацию (может и групповые политики).
1. Бэкап изнутри виртуальных машин
1.1. Бэкап сегодняшнего дня
Насколько мы знаем, любой Windows умеет делать бэкап. Причем, любые настройки бэкапа Windows через интерфейс сводятся, в конечном счете, к фоновому использованию утилиты wbadmin. А что, собственно, умеет wbadmin? А умеет она делать как бэкап образа с системным разделом, так и бэкап отдельных папок. В данной части статьи нас интересует только бэкап образ (системного раздела). Остальное — это специфичные данные виртуальных машин и бэкапить нужно отдельно. Отсюда вывод: Не храните на системном разделе виртуальных машин (и на обычных компьютерах тоже) никакой ценной информации и баз данных, отдельных приложений. MS SQL Server / MS Exchange / «Сервер приложений 1С» и другое ставим только на не системные разделы или на отдельные диски.
Итак, что же нужно, чтобы бэкап отработал? А нужна всего лишь одна команда:
На самом деле, для этой команды нужны особые права, но о них позже. Сейчас важно понять одну вещь. Данная команда делает не просто бэкап. Она делает инкрементальный бэкап. Причем, для серверных и настольных (клиентских) Windows бэкапы формируются разные. И разница заключается в том, что для серверных ОС у нас получатся снимки каждого бэкапа, а вот для настольных — снимок останется всегда только последний. Спросите, а что это за такой инкрементальный бэкап? А «инкрементальный» он остается, потому что бэкапим мы не весь образ, а только изменившуюся часть со времени последнего бэкапа (а значит и меньше трафика и быстрее создается бэкап).
Те, кто сталкивался с аналогичной ситуацией заметят, что бэкап всегда будет «инкрементальный» (полный). Так как бэкап происходит в нашем случае на сетевой диск. То есть для серверной Windows снимки остаются тоже только последние.
1.2. Бэкап с историей предыдущих снимков
На данный момент, мы сделали бэкап образов виртуальных машин. Но это же у нас бэкап снимков только сегодняшнего дня. Завтра он будет совершенно другой… Но что будет, если бэкапить бэкапы? Да и ещё по-настоящему инкрементально. Так и поступим.
Но мне было этого недостаточно и я сделал так:
Скрипт подключает виртуальный диск из сети. После бэкапа подобный же скрипт отключает диск. ОС помнит, что у диска определена буква E. Но не дай бог подсунуть чужой диск с той же буквой E, бэкап отработает уже по полной (не инкрементально и на чужой диск). Имейте это в виду и используйте, букву, ближе к концу алфавита (X, Y, Z)…
Замечу сразу, если бэкап сегодняшний будет производиться параллельно с бэкапом с историей, то получим в итоге бэкап, который невозможно поднять.
Чтобы достать бэкап предыдущих дней можно воспользоваться интерфейсом (GUI) сервера, на котором производятся бэкапы с историей. Более того, все запуски команды wbadmin в консоли Windows знает и помнит. Служба восстановления даст возможность вам выбрать нужный архив в бэкапах с историей.
2. Бэкап файлов vhdx виртуальных машин
Производится легко и непринужденно:
Но с некоторыми особенностями. Эта команда должна выполняться в PowerShell и с предварительным получением списка виртуальных машин в переменную. За подробным примером обращаемся в Google.
Бэкап виртуальных машин в Windows Server 2012 R2 идет с помощью моментальных снимков Hyper-V. Также замечу, что происходят приостановка работы виртуальных машин, если на них ядро Linux или отсутствуют Hyper-V драйвера. Я лично отказался бэкапить виртуальные машины таким способом. Причина в том, что на Windows Server 2012 (не R2) требовалось останавливать виртуальные машины до бекапа. Да и сейчас на Windows Server 2012 R2 приостановки Linux меня не устраивают, когда есть первый неплохой способ бэкапа. (в комментариях к данной статье есть замечание). После очередного обновления в Windows Server 2012 R2 бэкап любых виртуальных машин проходит без приостановок. ОС Linux также можно бэкапить «изнутри» с помощь Dump (CentOS, Ubuntu), но это отдельная тема с puppet’ами и другим ПО в моем случае.
3. Восстановление бэкапа и WDS
А теперь, по-моему мнению, самая полезная часть этой статьи про бэкапы.
WDS — это Windows Deployment Services (службы развертывания Windows) и часть функционала Windows Server 2012R2. Раньше эта служба называлась RIS, но я с ней не сталкивался. Вообщем, суть WDS проста. Прописались в DHCP (автоматически для DHCP Windows Server) в виде отдельных параметров и далее загружаем на компьютер по сети (такая настройка BIOS компьютера для загрузки по сети) через TFTP загрузчик WDS. Далее загрузчик WDS позволяет выбрать из доступных на ней образов «загрузчиков» Windows. Загрузчики бывают разные — это и образы загрузчиков установщика, и PE, и RE образы. Для загрузчика установщика ещё нужны образы самих Windows в WDS, но это в случае, если нужно установить Windows по сети. Нас интересуют RE образы, которые позволяют поднять машину из бэкапа.
Как и что работает в WDS подробно объяснять не буду. Но вот важные заметки:
4. Особенности дедупликации
Можно дедуплицировать работающие виртуальные машины. Можно дедуплицировать бэкапы сегодняшнего дня и можно дедуплицировать бэкапы с историей. Все это дает большой положительный плюс к объему жестких дисков (как для HDD, так и SSD). Но не стоит забывать о некоторых вещах:
5. Групповые политики
Вот тут можно долго и по-разному реализовывать установку скрипта бэкапа с помощью GPO. Но хотелось бы обратить внимание на важные моменты:
Экспорт и импорт виртуальных машин
применимо к: 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, ее необходимо удалить перед тем, как будет работать импорт. После завершения импорта файлы экспорта становятся файлами выполняющегося состояния и не могут быть удалены.
Копировать виртуальную машину — аналогично типу восстановления в, в котором выбирается расположение для файлов. Разница заключается в том, что импортированная виртуальная машина имеет новый уникальный идентификатор. Это означает, что виртуальную машину можно импортировать на один узел несколько раз.
Экспорт и импорт виртуальной машины Hyper-V
Механизм экспорта-импорта в гипервизоре 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 server для тех, кто впервые его видит
Вступление
Сегодня я расскажу о том, как установить и настроить гипервизор hyper-v server от компании Microsoft, а так же о некоторых подводных камнях и способах их избежать.
Поводом для написания этот статьи стал материал данного поста. Этот пост подходит больше как шпаргалка, если вы уже работали с данным гипервизором. Новичку же придется столкнуться с кучей нюансов и перекопать немало форумов, в поисках ответов на нестандартные вопросы.
Эта писалась из расчета — как бы я сам хотел видеть подобный мануал по установке. Для новичков я постарался максимально подробно изложить все действия и их смысл, дабы у них была возможность начать экспериментировать и придумывать что-то свое. Для более подкованных — я разделил статью на логические блоки и подблоки, чтобы можно было быстро найти необходимую информацию.
Под катом много текста и скриншотов
Описание
MS hyper-v server представляет собой урезанную версию MS server 2008 R2 в режиме Core (т.е. фактически, графический интерфейс отсутствует) с установленной ролью hyper-v и ничего более. Согласно википедии hyper-v server распространяется бесплатно, что вкупе с удобным управлением и интеграцией с продуктами от MS, делает его очень привлекательным гипервизором. Кроме того он имеет достаточно высокие показатели по производительности, а значит ресурсы хостовой машины будут расходоваться на работу нужных нам сервисов.
Установка
Перед началом установки необходимо убедиться, что ваш процессор поддерживает технологии аппаратной виртуализации Intel VT-x или AMD-V.
Для начала необходимо скачать дистрибутив hyper-v server 2008 R2 с сайта Microsoft (регистрироваться не нужно). Далее нарезать образ на DVD-диск или сделать установочную флешку.
Вставляем диск/флешку и загружаемся с нее.
Hyper-v server — выбор языка мастера установки
Окно установки предлагает нам выбрать язык операционной системы. Выбираем английский, далее объясню, почему именно его.
Hyper-v server — выбор языка ОС и раскладки клавиатуры
Язык мы выбрали английский, а формат времени лучше выбрать русский, чтобы потом не мучиться с настройкой в командной строке.
Далее жмем кнопку «Install now». Читаем и принимаем с лицензионное соглашение.
Hyper-v server — выбор типа установки
Выбираем полную установку (Custom).
Hyper-v server — настройка параметров жесткого диска
На этом этапе мастер предлагает настроить параметры разделов жесткого диска. Лучше всего создать 2 логических диска. Первый — для установки самого гипервизора, ему хватит 15 Гб. Второй для хранения контейнеров виртуальных машин (ВМ). Таким образом, будет намного удобнее осуществлять управление, импорт и миграцию ВМ.
Жмем «Next» и уходим пить чай. В процессе установки компьютер несколько раз перезагрузится.
Настройка
Базовая настройка и удаленный доступ
После перезагрузки hyper-v server предложит нам установить пароль администратора. Так как по-умолчанию в групповой политике ms windows 2008 server r2 стоит требование к сложности пароля, придется придумать пароль длинной от 6 символов, обязательно содержащий заглавную букву и спецсимвол или цифру (например «Password1»).
Как вы можете заметить ниже на скриншотах консоль управления у меня на русском языке, хотя при установке был выбран английский язык, скорее всего это из того, что с официального сайта Microsoft я скачал русский дистрибутив. На работу и настройку сервера это негативным образом не повлияет. Если же у вас консоль на английском — можно делать по аналогии, все настройки будет легко понять.
Hyper-v server — интерфейс управления
После загрузки рабочего окружения, ОС предлагает нам 2 консоли управления. Стандартная командная консоль cmd и консоль с предустановленными опциями. Первым делом нам необходимо задать статический ip-адрес и настроить удаленное управление сервером. В консоли управления выбираем пункт 8.
Hyper-v server — сетевые адаптеры
В списке будут перечислены сетевые адаптеры. Выбираем нужный и вписываем его индекс. Далее выбираем «1 — установить ip-адрес сетевого адаптера». Вписываем «S» — что означает статический ip-адрес. Для примера зададим параметры:
ip-адрес — 192.168.1.100
маска подсети — 255.255.255.0
шлюз по-умолчанию 192.168.1.1
После применения параметров, мы вернемся в подменю, где будут перечисленные ранее внесенные настройки. Если все верно возвращаемся в главное меню.
Теперь настроим удаленный доступ. Выбираем пункт 7, далее включаем удаленный рабочий стол, вписав английскую «E». На вопрос об ограничении подключений от rdp-клиентов старых версий, выбираем «2» — подключаться от любых клиентов.
В главном меню выбираем пункт 9, и задаем актуальную дату и время на сервере.
Сетевое имя сервера и рабочая группа
Теперь настроим рабочую группу. Для работы hyper-v server, я не стал включать его в домен, что несколько усложняет настройку, но для экспериментов это идеальный вариант. Во время тестов и проверки различных конфигураций, лучше изолировать тестовые машины от целевой сети.
Выбираем пункт 1, затем «присоединиться к рабочей группе» вписав «W». Далее задаем название рабочей группы, например «test». Очень важно, чтобы имя рабочей группы на hyper-v server и ПК, с которого мы планируем им управлять, совпадали. После этого мы возвращаемся в главное меню.
Желательно задать сетевое имя сервера, выбираем пункт 2 и вписываем имя, например «hyper-srv». Для применения параметров необходимо перезагрузиться, соглашаемся с предложением ОС.
Далее все настройки (такие как имя компьютера, рабочей группы, пользователи, ip-адрес и т.д.) я буду приводить те, что описывал в процессе установки. Если вы задавали свои параметры, не забывайте использовать именно их.
Итак, мы подключились, теперь необходимо настроить дополнительные параметры удаленного управления. Заходим в пункт 4. Теперь по порядку выбираем подпункты 1, 2 и дожидаемся окончания настройки. После завершения, ОС опять попросит перезагрузиться. По завершению этих настроек мы сможем подключаться к серверу с помощь консоли mmc и диспетчера сервера hyper-v из пакета Remote Server Administration Tools (RSAT). Подробнее об этом я опишу далее по тексту.
Установка RSAT и диспетчера hyper-v
Для комфортного удаленного управления сервером (создание/удаление/импорт/настройка ВМ, добавление/удаление оборудования, управления пользователями/групповыми политиками и т.п.) нам необходимо установить RSAT на наш ПК. Устанавливать будем на windows 7. Первым делом скачаем его отсюда. В этом пакете нам нужен компонент “Диспетчер hyper-v” для консоли mmc — это собственно основной инструмент управления будущими ВМ.
Последующие настройки будет необходимо производить как на сервере (для краткости СРВ) так и на нашем управляющем ПК (УК).
Настраиваем пользователей
Для настройки пользователей и групп безопасности есть замечательная утилита “HVRemote”, написанная одним из сотрудников Microsoft.
Скачиваем утилиту и копируем файл «HVremote.wsf» на сервер. Помните в самом начале, я писал, что нужно выбрать английский язык для ОС? Так вот для корректной работы скрипта «HVremote.wsf» необходимо, чтобы группы безопасности и пользователи именовались на английском языке.
Небольшое отступление: как я писал раньше — в hyper-v server отсутствует графический интерфейс. Это не совсем так, Microsoft просто вырезала по-максимому все, что связанно с Explorer, но это не мешает нам запускать приложения имеющие графические окна. Для примера можно скопировать на диск сервера программу «total commander» и запустить ее из консоли.
Hyper-v server — запуск приложений
Hyper-v server — выполнение скрипта
Hyper-v server — диспетчер управления ВМ
Вот собственно и все, мы успешно установили и настроили наш hyper-v server. Теперь можно смело разворачивать виртуальные машины и различные сервисы.
Это моя первая статья на хабре, поэтому жду советов и конструктивной критики






































