Импорт и Экспорт виртуальной машины в VirtualBox. Экспорт и импорт виртуальной машины Hyper-V

3 июня 2011 в 20:40

PowerShell+Hyper-V

  • Виртуализация

Не могу уже через gui...

Примерно так начинался мой разговор с другом которому в течение короткого промежутка времени пришлось несколько раз подряд экспортировать виртуальные машины из Hyper-V. Обычно для этого используется Hyper-V Manager (HVM), который устанавливается вместе с ролью Hyper-V под Windows Server 2008 R2. Я должен признаться что интерфейс этой программы не вызывает у меня каких-либо негативных эмоций. Среди всех программ для управления, которые Microsoft поставляет к Server эта мне кажется наиболее удобной и понятной (сравниваю например с IIS Manager, который вызывает недоумение у новых пользователей и бурное негодование у тех кто использовал IIS 6 в 2003 Server). Однако если нужно экспортировать или импортировать виртуальную машину в количестве N-штук в промежуток t-времени то используя Hyper-V Manager можно сломать кнопку у мыши и жутко возненавидеть Hyper-V. Тут на помощь и приходит PowerShell.
Import-Module HyperV
… И по умолчанию такого модуля в PowerShell конечно нет. Microsoft решила что писать командлеты для управления Hyper-V ни кто не будет (действительно дикая затея). С другой стороны этот мир полон людей умеющих и готовых упрощать жизнь себе и другим пользователям. Так на свет и появился PowerShell management Library for Hyper-V.
Первое что нужно сделать- это скачать этот модуль + документация, по вкусу. (Оба доступны по:http://pshyperv.codeplex.com/releases)
Потом необходимо этот модуль установить. Процесс не сложный (запускаемый файл install выдает себя с головой).
Теперь можно работать. Запускаем PowerShell, импортируем модуль (то что написано в подзаголовке).
И нам доступны все функции которые мы могли использовать через HVM, вот некоторые из них:

Подключение к виртуальной машине
New-VMConnectSession

Манипулирование состоянием виртуальных машин
Get-VMState, Set-VMState, Convert-VmState,
Ping-VM, Test-VMHeartBeat, Shutdown-VM, Start-VM, Stop-VM, Suspend-VM
Get-VMKVP, Add-KVP, Remove-KVP, Get-VMJPEG

Возможность делать бэкапы, экспорт виртуальных машин и снятие снэпшотов
Export-VM, Import-VM, Get-VMSnapshot, Choose-VMSnapshot, Apply-VMSnapshot, New-VMSnapshot ,Remove-VMSnapshot, Rename-VMSnapShot, Update-VMSnapshot, Get-VMSnapshotTree, Get-VmBackupScript

Добавление и удаление вирт. машин, настройка их свойств
New-VM, Remove-VM, Set-VM, Get-VMCPUCount, Set-VMCPUCount, Get-VMMemory, Set-VMMemory, Set-VMSerialPort

Управление дисковыми контроллерами
Get-VMDiskController
Add-VMSCSIController, Remove-VMSCSIcontroller
Get-VMDriveByController, Add-VMDRIVE, Remove-VMdrive
Get-VMDiskByDrive, Add-VMDISK, Set-VMDisk, Get-VMDisk
Get-VMFloppyDisk, Add-VMFloppyDisk
Add-VMNewHardDisk

Управление сетевыми интерфейсами
Get-VMNic, List-VMNic, Choose-VMNIC, Add-VMNIC, Remove-VMNIC, Set-VMNICAddress, Set-VMNICConnection, Get-VMNicport,
Get-VMnicSwitch, Choose-VMSwitch, New-VMSwitchPort, Get-VMByMACaddress, Choose-VMExternalEthernet,
New-VMExternalSwitch, New-VMInternalSwitch,New-VmPrivateSwitch

Работа с VHD файлами
Get-VHDDefaultPath, Get-VHDInfo, New-VHD, Compact-VHD, Test-VHD,Convert-VHD,Merge-VHD,Mount-VHD, Unmount-VHD

Все приведенные команды говорят сами за себя.
Например чтобы получить состояние виртуальной машины достаточно ввести:
List-VMState имя вирт. машины
и в результате:

В моем примере всего одна виртуальная машина => я не указывал параметров, но если у вас их много, то наверное следует явно указать ее имя, если не хочется потом пробираться сквозь консольный вывод.
Так же просто например узнать об используемых сетевых интерфейсах для виртуальных машин, достаточно лишь ввести:
Get-VMNic
и получаем:

Ну и самое, то что и было необходимо моему другу- возможность делать экспорт в фоне, по расписанию. Для этого можно написать командлет который потом запихнуть в Scheduler. У меня например этот командлет останавливает виртуальную машину, делает ее экспорт, запускает снова и посылает мне письмо об ошибке или успехе выполнения командлета. После этого управление передается другому скрипту который архивирует и посылает backup на удаленный ftp.
Экспорт: export-vm -vm MyVM1 -path D:\backups\VM -copystate -wait -force
Параметр -copystate говорит что нужно скопировать все (включая виртуальный диск => размер экспорта на выходе может получиться очень большим)

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

P.S. Совершенно не претендую на «открытие Америки» просто решил что кому-нибудь информация об этом полезном модуле окажется полезной. Я описал лишь наиболее простые варианты для которых можно использовать PowerShell management library for Hyper-V. Если кто-то знает или написал собственные более удобные инструменты для оптимизации работы с Hyper-V буду только рад узнать о них.

Переустановка операционной системы или смена компьютерного устройства не означает конец работы с установленными гостевыми ОС в программе . Правда, исключением может быть случай, когда файлы жёстких дисков виртуальных машин находятся на системном диске компьютера, а саму систему невозможно восстановить после критического сбоя. Чтобы продолжить работу с имеющимися гостевыми ОС с сохранением их состояния, но уже на переустановленной Windows или на другом компьютере, в арсенале программы VirtualBox имеется инструмент экспорта конфигурации существующих виртуальных машин для его импорта в дальнейшем. Другая возможность продолжить работу с существующими гостевыми ОС — добавление новых виртуальных машин на базе имеющихся файлов их жёстких дисков. Все эти процессы и рассмотрим ниже.

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

Конфигурация существующей виртуальной машины VirtualBox экспортируется в файл «.ova ». Файл «.ova» (Open Virtual Appliance) – это универсальный файл хранения данных виртуальной машины, который можно использовать в различных программах для виртуализации операционных систем. Это , . Экспортированная в этот файл виртуальная машина может быть затем импортирована как программой VirtualBox, так и VMware Workstation или Microsoft Hyper-V в рамках поддерживаемых этими программами гостевых систем.

Рассмотрим детальнее процесс экспорта и импорта конфигурации виртуальной машины VirtualBox в основной системе Windows.

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

В окне VirtualBox выбираем конкретную виртуальную машину для экспорта, жмём меню «Файл » и выбираем «Экспорт конфигураций ».

В следующем окне жмём «Next ».

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

Далее появится окно параметров экспорта. Формат оставляем предустановленный, а вот папку файла экспорта «.ova», по умолчанию располагающуюся на системном диске, меняем на папку, например, как в нашем случае, специально созданную на несистемном диске D.

В следующем окне жмём «Экспорт ».

Дожидаемся завершения процесса экспорта.

Экспортированная виртуальная машина в файле «.ova» будет находиться в указанной папке, откуда её можно переместить на другой компьютер, съёмный носитель, в облачный сервис. Или можно оставить, как в нашем случае, на месте — на несистемном диске, где этот файл будет храниться во время переустановки Windows.

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

После инсталляции VirtualBox на новой Windows или на другом компьютере открываем программу и в меню «Файл » выбираем «Импорт конфигураций ».

В следующем окне указываем путь к файлу «.ova» с экспортированной виртуальной машиной. Жмём «Next ».

В самом конце окна будет указан путь, куда после импорта будет помещён файл жёсткого диска «.vdi». По умолчанию это системный диск, и чтобы не захламлять его и предотвратить потерю файла «.vdi» в случае сбоя системы, можно сменить путь, указав папку хранения на несистемном диске. Жмём «Импорт ».

Дожидаемся завершения процесса импорта.

После чего увидим импортированную виртуальную машину в списке машин VirtualBox. Что и осталось теперь, так это запустить машину.

Гостевая ОС запустится точно в том состоянии, в котором она была на момент экспорта виртуальной машины.

4. Добавление новой машины из существующего файла жёсткого диска VirtualBox

Альтернатива экспорту и импорту виртуальной машины – добавление новой машины из существующего файла жёсткого диска VirtualBox «.vdi ». Этот способ ничем не уступает процедуре экспорта и импорта виртуальной машины. Более того, если файл «.vdi» расположен на несистемном диске, при переустановке Windows на физическом компьютере можно даже и не тратить время на экспорт конфигурации. Хранящийся же на системном диске файл «.vdi» можем просто перенести на несистемный диск. По большому счёту, процесс экспорта и импорта виртуальной машины выигрывает только экономией занимаемого места файлом «.ova». Например, в нашем случае проводился экспорт виртуальной машины с установленной гостевой ОС Windows ХР, и вес файла «.ova» на выходе составил 4,11 Гб. В то время как размер файла жёсткого диска «.vdi» этой же системы составляет 10 Гб .

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

Запускаем VirtualBox и жмём «Создать ».

Задаём показатель оперативной памяти. Жмём «Next ».

В окне выбора жёсткого диска выбираем параметр «Использовать существующий жёсткий диск », с помощью кнопки обзора указываем путь хранения файла «.vdi». Жмём «Создать ».

Виртуальная машина появится в списке VirtualBox, можем её запускать.

Гостевая ОС запустится ровно в том состоянии, в котором была сохранена в последний раз работы с ней.

Добавление новой виртуальной машины из существующего файла «.vdi» – это также способ перенести файл жёсткого диска гостевой ОС на несистемный диск компьютера, если изначально таковой был создан на системном диске, и со временем занимаемое им место стало снижать производительность системы. Для этого необходимо удалить виртуальную машину из списка в главном окне VirtualBox. На выбранной машине вызываем контекстное меню и выбираем «Удалить ».

Затем в появившемся окошке жмём «Убрать из списка ».

После этого можно искать файл жёсткого диска «.vdi» на системном диске (как правило, по умолчанию это путь C:\Users\Имя_пользователя\VirtualBox VMs ), переносить его на несистемный диск и добавлять виртуальную машину заново.

Помогла ли Вам данная статья?

Hyper-V – настройка сети, создание контрольных точек, импорт и экспорт виртуальных машин.

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

Но сначала вы должны решить, какой виртуальный коммутатор вы создаете. А Virtual Switch Manager предлагает текстовое описание каждого типа коммутатора.

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

Дальше вы должны сконфигурировать опции своего виртуального коммутатора. Здесь важно определить, к какому сетевому адаптеру вашего компьютера вы его подключаете. На вашем компьютере может быть проводное и беспроводное соединение. Выберите правильное.

Подсказка . Скажем вы захотели, чтобы ваша виртуальная машина получила доступ к файлам на ПК хоста, но не имела доступа к сети или интернету. Если ваш компьютер имеет проводное и беспроводное соединение, подключите коммутатор к тому, что вы не используете для выхода в интернет. Если у вас нет физического сетевого кабеля, выберите не Wi-Fi соединение. Так ВМ получит доступ только к основному ПК и будет изолирован от вредоносного программного обеспечения и внешних атак.

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

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

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

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

Создание контрольных точек Hyper-V

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

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

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

Hyper-V - импорт и экспорт виртуальных машин

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

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

  • Откроется мастер импорта виртуальной машины, где вас спросят, в какой папке (не файл) находится сохраненная копия ВМ.

  • Затем вы увидите название ВМ и подробности ее создания. Если это то, что вам надо, щелкните дальше.

  • Теперь вас спросят, как вы хотите импортировать ВМ. Для этого существуют три возможности:
  1. Зарегистрированная виртуальная машина . Используется если вы выполняете прямой импорт. ВМ находится в той же папке, куда и экспортировалась, и вы хотите оставить ее там.
  2. Восстановление виртуальной машины . Используется, если ВМ не находится в той папке, куда экспортировалась. Например, это копия, сделанная из основного образа на сервере.
  3. Копия виртуальной машины . Используется, если вы хотите создать локальную копию существующей ВМ, оставляя «основную» неповрежденной, например, для последующего ее импорта на другой ПК. А также эта опция используется, если вы создаете копию уже импортированной ВМ.

Внимание . Если вы импортируете ВМ, не делая с нее копии, любые изменения, которые вы в ней сделаете и любые проблемы останутся в ней, и вы фактически теряете свою чистую основную копию.

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

  • Последний шаг - подтвердить выбранные настройки.

Интегрирование в виртуальную машину дополнительных служб

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

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

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

Симптомы проблемы

В случае, если Вы хотите перенести виртуальную машину с сервера Hyper-V 2008 R2 на сервер Hyper-V 2012 R2, у Вас возникнут проблемы: после экспорта виртуальной машины из Hyper-V 2008 R2 и копирования файлов на новый сервер, при попытке импорта в Hyper-V 2012 R2 Вы получите сообщение вида:
Hyper-V did Not Find virtual machines to import from location d:\..
или
Hyper-V не удалось найти виртуальные машины для импорта из расположения d:\..

Причины проблемы

Hyper-V в 2012 R2 использует новую версию WMI 2.0 , которая не поддерживает.EXP файлы, полученные после экспорта машины Hyper-V 2008 R2, в котором используется WMI 1.0. Поэтому и решение в данном случае: копирование+импорт, т.к. импорт без экспорта виртуальной машины поддерживается на уровне Server 2012 R2 и этих.exp при импорте просто нет, поэтому всё проходит гладко).
@The namespace for version 1.0 of WMI is deprecated. Prepare to adapt scripts for a revised namespace.@
@The WMI root\virtualization namespace is deprecated. The new namespace is root\virtualization\v2.@
http://technet.microsoft.com/en-us/library/hh831568.aspx

Решение проблемы

Необходимо использовать не экспорт+импорт, а копирование+импорт. Сделайте следующее:

  1. Остановите виртуальную машину (ВМ), которую необходимо перенести.
  2. Скопируйте.XML файл, содержащий конфигурацию виртуальной машины, а также.VHD или.VHDX файлы жестких дисков виртуальной машины на новый сервер.
  3. Импортируйте виртуальную машину в Hyper-V 2012 R2
  4. Если Вы уже сделали экспорт виртуальной машины, просто удалите (или переименуйте) файл с расширением.EXP, находящейся в папке с экспортированной ВМ.
  1. Когда делаете экспорт (или подготавливаете виртуальную машину к переносу), выключив виртуальную машину, зайдите в ее конфигурацию, и переключите MAC адрес сетевой карты с динамического в статический. При этом по умолчанию в качестве статического MAC адреса будет предложен старый MAC сетевой карты.
    Это позволит не перенастраивать параметры TCP/IP в виртуальной машине после переноса, поскольку MAC адрес карты не изменится и операционная система будет считать, что сетевая карта та же самая.
  2. Вы можете (это рекомендуется Microsoft) сменить (на время переноса виртуальной машины) тип использования оперативной памяти: назначить статическое выделение RAM. После импорта виртуальной машины (на новом сервере) можно снова поставить динамическое выделение RAM.
  3. Если у Вас несколько виртуальных машин на одном хосте, то иногда бывает сложно выяснить, какой.XML файл принадлежит нужной виртуальной машине: все XML файлы могут оказаться в одной папке. Ничего страшного! Скопируйте их все! При импорте виртуальной машины укажите папку с этими XML файлами, и Hyper-V 2012 R2 попросит Вас выбрать нужную виртуальную машину для импорта.
  4. При импорте (если Вы именно переносите виртуальную машину - т.е. на старом сервере она в результате будет удалена, а на новом должна быть запущена та же ВМ) выберите, каким способом производить импорт:
    1. Register the virtual machine in-place — зарегистрировать ВМ по месту с тем-же ID;
    2. Restore the virtual machine — скопировать ВМ в другую папку, ID оставить без изменения;
      Для переноса ВМ выберите этот вариант .
    3. Copy the virtual machine — скопировать ВМ в другую папку и сгенерировать для нее новый ID.
  5. Поскольку импорт (помимо всего прочего) требует копирования файлов жестких дисков, в случае больших файлов VHD(X) этот процесс хочется ускорить. С этой целью скопируйте (или переместите) VHD файл сразу в ту папку, где он должен будет находиться после импорта виртуальной машины. Затем в процессе импорта Hyper-V 2012 R2 запросит Вас, в какой папке взять файлы жестких дисков импортируемой виртуальной машины, а также куда их копировать в процессе импорта. На оба этих вопроса укажите папку, в которую Вы положили VHD файл импортируемой ВМ. То есть у Вас будет указана одинаковая папка "откуда копировать виртуальный диск" и "куда сохранять виртуальный диск".

При подготовке статьи использовались материалы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Постовой

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

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