Думаю, что не ошибусь, если скажу, что большинство людей, связанных с разработкой, тестированием и администрированием давно привыкли к виртуальным машинам. Воспринимают их как что-то давно знакомое, а главное - полезное. Ведь если у вас есть относительно мощный компьютер с достаточным объемом оперативной памяти, можно параллельно работать в двух, а то и в трех разных операционных системах.
А теперь представьте ситуацию: вы или ваша организация использует, к примеру, Hyper-V. Ваш партнер хочет передать вам на тестирование или для ознакомления какое-то решение, установленное и настроенное на виртуальной машине. Но так случилось, что партнер использует VMware. У вас возникает вопрос: как переделать виртуальную машину? А можно ли это вообще? Об этом и пойдет речь дальше.
Что же представляет из себя виртуальная машина? Вне зависимости от гипервизора, виртуальная машина состоит из двух частей: виртуальной машины (файла или набора файлов с описанием конфигурации, параметров запуска и другой служебной информации) и виртуального жесткого диска. Именно виртуальный жесткий диск в большинстве случаев и надо конвертировать. Именно на нем установлена операционная система и весь набор программного обеспечения.
А теперь важное лирическое отступление. После установки виртуальной машины гипервизор, в большинстве случаев, предлагает установить пакет программного обеспечения. Этот пакет повышает производительность виртуальной машины и ее управляемость. Так же он может содержать набор драйверов, оптимизированных для работы в виртуальной среде. Процесс конвертации подразумевает смену гипервизора. Поэтому все пакеты программного обеспечения, поставляемые гипервизором, с которого планируется переход, необходимо удалить. Сделать это лучше заранее, до конвертации.
На мой взгляд VMware и Hyper-V - самые популярные гипервизоры. Именно их мы и рассмотрим в первую очередь.
Существует несколько способов конвертации. Компания Microsoft, понимая актуальность данной процедуры, предлагает два варианта решения проблемы. Первый способ - использовать средства конвертации, встроенные в Virtual Machine Manager (VMM).
Подробную информацию об этом способе можно найти в статье MSDN. Второй способ - использовать отдельную утилиту Microsoft Virtual Machine Converter.
На момент написания этой статьи третья версия этой утилиты – последняя версия, доступная для скачивания. Подробное описание утилиты можно найти в библиотеке TechNet. Скачать утилиту можно в центре загрузки Microosoft.
Сторонние производители программного обеспечения не остались в стороне. Выпускаемые ими продукты превосходят средства, предлагаемые компанией Microsoft, как в скорости конвертации, так и в удобстве использования.
Для примера рассмотрим два программных продукта: StarWind V2V Converter и 5nine V2V Easy Converter.
StarWind V2V Converter позволяет конвертировать виртуальные жесткие диски форматов: vmdk (формат виртуальных жестких дисков VMware), vhd и vhdx (формат виртуальных жестких дисков Hyper-V) и формат img для поддержки продукта StarWind Virtual SAN™. Интерфейс программы и процесс использования предельно просты. Имеется визард, который проведет вас по всему процессу конвертации. Одной из особенностей работы программы является возможность после конвертации включить Windows Repair Mode. Это позволит системе автоматически адаптироваться к внесенным изменениям со стороны гипервизора. Так же стоит отметить что конвертация происходит в любом направлении.
5nine V2V Easy Converter отличается принципом работы. Он позволяет выполнять почти "живую" миграцию. Интерфейс так же прост и не должен вызывать затруднений. Для начала работы необходимо указать параметры подключения к серверу VMware. После подключения будет представлен список виртуальных машин, доступных для переноса. На следующем шаге необходимо указать параметры подключения к серверу Hyper-V, выделить на нем ресурсы переносимой виртуальной машине и начать процесс переноса. Этот программный продукт не позволит вам конвертировать непосредственно сам виртуальный жесткий диск, он позволит мигрировать виртуальную машину из одного гипервизора в другой.
Для конвертации виртуальной машины из Hyper-V в VMware можно использовать уже рассмотренный в этой статье программный продукт StarWind V2V Converter. Но это не единственное решение. Как и у компании Microsoft, у VMware есть свой конвертер. Имя ему VMware vCenter Converter Standalone.
Это поистине многофункциональны продукт. Одна только инструкция к нему занимает 102 страницы печатного текста. Но не стоит отчаиваться! Для начинающих администраторов имеется простой и функциональный визард.
Самый простой способ перенести виртуальную машину из VirtualBox в VMware - воспользоваться экспортом виртуальной машины из VirtualBox в формат OVA (Open Virtualization Format Archive, файл .ova) и импортом этого архива в VMware. В таком варианте конвертации виртуальная машина перенесется целиком, со всеми параметрами выделенной памяти и процессорных ресурсов. Этот способ недоступен для переноса виртуальной машины в Hyper-V, так как Hyper-V напрямую не способен импортировать формат ova. Так же для конвертации можно использовать менеджер виртуальных носителей (меню "Файл", пункт "Менеджер виртуальных носителей"). Встроенный конвертер позволяет преобразовывать из одних форматов в другие все поддерживаемые программой файлы виртуальных жёстких дисков — VDI, VHD, VMDK, HDD, QED, QCOW. Этот способ более универсальный, подходит для переноса в Hyper-V, но требует повторной детальной настройки виртуальной машины в новом гипервизоре.
Встроенный в VirtualBox конвертер позволяет преобразовывать виртуальные жесткие диски в обеих направлениях, а экспортировать виртуальные машины в формат OVA умеет не только VirtualBox, но и VMware. Поэтому процесс переноса или конвертации диаметрально противоположен процессу, описанному в предыдущем абзаце.
Изначально статья планировалась мной в большей степени как практическая. По мере написания я решил, что вся практическая часть легко ищется в интернете по ключевым словам. Поэтому статья приобрела в большей степени теоретический характер. В ней описаны не все способы и методы переноса виртуальных машин из одного гипервизора в другой. Я постарался описать самые популярные, доступные и реализуемые без обращения к командной строке.
С конвертацией связана одна проблема - с точки зрения гостевой ОС "аппаратное обеспечение" виртуальной машины меняется, поэтому всяческие активации удаляются. Приходится как-то заново активировать Windows, Office, DIRECTUM. Может быть, есть способ этого избежать, я его не знаю. Если кто-то знает, поделитесь, пожалуйста.
Лично для меня актуален случай: демонстрационные ВМ DIRECTUM поставляются в формате Hyper-V, а у меня на ноутбуке Windows 7 Home Premium, на которой нельзя развернуть Hyper-V. Я решил задачу "в лоб": на VMware Workstation создал виртуальную машину, установил на нее MS Hyper-V Server, а уже под ним разворачиваю виртуальные машины с DIRECTUM. Получилась "этажерка", очень требовательная к ресурсам и несколько медлительная, но работать можно, даже вполне (ноутбуку 6 лет, Core i7, 8GB).
По опыту конвертации ВМ, упомянул бы еще необходимость удаления гостевых служб до конвертации. В противном случае они могут обеспечить некоторое количество головной боли, при запуске на новом гипервизоре.
Я и упомянул. 4-й абзац сверху. ;)
Руслан, а в вашем сценарии не помогла бы вторая ОС? Hyper-V Server бесплатен и легковесный.
Антон, да, я использую Hyper-V Server, установив его на виртуальную машину. Если под способом «вторая ОС» Вы имеете в виду вариант с двойной загрузкой (когда при включении компьютера нужно выбирать, какую ОС загружать), то нет, такой вариант меня не устраивает, мне нужна возможность параллельно работать в своей Windows 7 и в виртуальной демо-машине DIRECTUM.
Авторизуйтесь, чтобы написать комментарий