Как из vmdk сделать виртуальную машину

Обновлено: 07.07.2024

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

Самыми главными компонентами виртуальной машины являются файлы виртуальных дисков. В данный момент на рынке присутствует множество вендоров как платформ виртуализации, так и средств управления и обслуживания виртуальных машин. Однако не все поставщики систем виртуализации используют свои форматы виртуальных дисков. Например, не так давно появившаяся, но стремительно набирающая популярность платформа Virtual Iron, хотя и использует открытый гипервизор Xen для управления виртуальными машинами, но работает с виртуальными дисками формата VHD (Virtual Hard Drive) компании Microsoft. Компания VMware разработала свой формат виртуальных дисков — VMDK (Virtual Machine Disk), который, однако, может быть преобразован в другой формат утилитами сторонних производителей.

В данный момент возможности продуктов VMware Workstation позволяют осуществить импорт виртуальных машин и их дисков компании Microsoft, а также образов восстановления Symantec LiveState Recovery Files. Кроме того, VMware предлагает пользователям продукт VMware Converter, в возможности которого входит как конвертация виртуальных машин между различными платформами VMware и их версиями (в том числе VMware ESX Server), так и потоковая миграция с других платформ виртуализации. Сторонние производители также предлагают немало средств для V2V (Virtual-to-Virtual) миграции, например, продукт PowerConvert компании PlateSpin.

Общие сведения об использовании виртуальных и физических дисков виртуальными машинами

Одним из замечательных достоинств виртуальных машин является их простая переносимость на другое физическое оборудование путем обычного копирования папки с файлами виртуальной машины. Все настройки виртуальной машины хранятся в файлах с расширением .vmx в текстовом формате, а файлы виртуальных дисков (.vmdk) содержат в себе все необходимые данные виртуальной машины, либо ссылки на другие vmdk-файлы. Если вы используете виртуальную машину в хостовой системе Windows, вы можете скопировать папку с виртуальной машиной на Linux-хост и запустить ее там, на платформах VMware Workstation или VMware Server.

Диск виртуальной машины VMware Workstation и VMware Server ограничен 950-ю гигабайтами, и этого с лихвой хватит практически для любого варианта использования. Поскольку файлы дисков виртуальных машин являются достаточно большими, необходимо учитывать ограничения на максимальный размер файла в файловой системе хостовой ОС.

Основные типы дисков виртуальных машин VMware

По-умолчанию платформой виртуализации будет выбран адаптер, наиболее подходящий выбранной ранее гостевой системе. Для всех гостевых систем, за исключением Windows Vista, Windows Server 2003, Red Hat Enterprise Linux 3 и NetWare рекомендуется адаптер BusLogic. Для гостевой системы Windows Vista доступен только LSI Logic адаптер. Этот тип адаптера обладает более высоким быстродействием, нежели BusLogic, к тому же, он поддерживается платформой виртуализации VMware ESX Server, что следует учитывать, если вы планируете в дальнейшем миграцию виртуальных машин на эту платформу.

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

Варианты создания диска виртуальной машины

Далее пользователю предлагается выбрать один из трех вариантов: создать новый виртуальный диск, использовать уже имеющийся (например, от шаблона виртуальной машины — Virtual Appliance) или позволить виртуальной машине напрямую работать с физическим диском компьютера.

Настройка емкости виртуального диска

Если вы не уверены, что у вас есть необходимые SCSI-драйверы, оставьте вариант IDE, выбранный по-умолчанию. Далее вам предлагается выбрать размер виртуального диска:

В VMware Workstation и VMware Server диск виртуальной машины не может быть более 950 ГБ. Величина, которую вы укажете в поле ввода для Disk Size, означает максимальный размер файла виртуального диска. Уделяйте особое внимание этому параметру, поскольку проблема расширения виртуального диска является одной из наиболее часто возникающих. Если вы планируете использовать растущие по мере наполнения диски (growable) указывайте достаточно большой размер (например, 100 ГБ). В то же время помните, что уменьшить размер виртуального диска значительно сложнее, чем увеличить.

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

Нужно также отметить, что при запущенной виртуальной машине VMware Server или VMware Workstation создаются lock-файлы для каждого из используемых виртуальных дисков с расширением *.lck во избежание доступа к ним из внешних приложений, использования их другими виртуальными машинами и нарушения целостности данных.

Использование физических дисков напрямую

Сводная таблица соответствия расширений файлов типам дисков виртуальных машин

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

Расширение файла дискаОписание
*.vmdkОписание параметров виртуального диска (со ссылкой на файл с данными диска) или виртуальный диск типа growable одним файлом.
*0000000*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота
*s00*.vmdkЭто расширение используется для файлов данных растущих разделённых дисков (growable split disks)
*0000000*-s00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для растущих разделённых дисков (growable split disks)
*f00*.vmdkЭто расширение используется для файлов данных не растущих разделённых дисков (preallocated split disks)
*0000000*-f00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для не растущих разделённых дисков (preallocated split disks)
*flat.vmdkЭто расширение используется для файлов данных монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*0000000*-flat.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*.REDO_xxxЭтот файл содержит изменения диска в режиме незавимый-несохраняющийся (independent-nonpersistent disk)
*.lckИспользуется для блокировки файлов дисков виртуальной машины

Дефрагментация виртуальных дисков

  • дефрагментация диска в гостевой системе
  • дефрагментация диска средствами VMware Server или VMware Workstation
  • дефрагментация дисков хостовой системы

Использование утилиты VMware DiskMount

vmware-mount [параметры] [буква диска:] [\путьквиртуальному диску]

  • /v:N Монтирует заданный том виртуального диска (по-умолчанию N=1)
  • /p Выводит доступные разделы (тома) на виртуальном диске
  • /d Размонтирование виртуального диска из хостовой системы
  • /f Принудительное размонтирование виртуального диска из хостовой системы в случае технической проблемы
  • /? Выводит информацию о доступных параметрах

Пример использования Diskmount:

vmware-mount h: “C:My Virtual Machinesw2003std.vmdk”

Использование утилиты vmware-vdiskmanager

Компания VMware вместе с продуктами VMware Server и VMware Workstation поставляет также консольную утилиту для работы с виртуальными дисками vmware-vdiskmanager. Эта утилита является мощным средством преобразования виртуальных дисков, которое органично дополняет утилиту VMware Diskmount. Найти утилиту vdiskmanager можно в папке, куда установлены продукты VMware Server или VMware Workstation.

Применять vmware-vdiskmanager могут не только конечные пользователи, преобразующие виртуальные диски к требуемому формату, но и сторонние разработчики, пишущие различные утилиты для работы с виртуальными машинами. Утилита vdiskmanager используется в соответствии со следующим синтаксисом:

vmware-vdiskmanager.exe | :

Описание параметров утилиты vdiskmanager:

ПараметрДействие
Основные параметры
-cСоздание диска (необходимо указать дополнительные параметры)
-dДефрагментация виртуального диска
-kСжатие виртуального диска (уменьшение объема свободного места)
-n Переименование диска (в параметре необходимо указать целевой диск)
-pПодготовка смонтированного диска с указанным параметром к сжатию
-qОтключение логов
-r Конвертация диска (необходимо указать тип целевого диска)
-x Расширение диска до требуемой емкости
Дополнительные опции создания виртуальных дисков и их конвертации
-a Используется только с ключом -c.
Указывает тип адаптера (ide, buslogic, lsilogic)
-s Указывает емкость виртуального диска. Емкость может быть определена в секторах, килобайтах, мегабайтах, гигабайтах. Диапазоны допустимых значений:
Адаптер ide : [100.0Mb, 950.0Gb]
Адаптер scsi: [100.0Mb, 950.0Gb]
-t Указывает тип диска (от 0 до 3).
Типы дисков:
0: Растущий по мере наполнения (growable), один файл.
1: Растущий по мере наполнения, разделенный на файлы по 2 ГБ.
2: Монолитный диск (preallocated), один файл.
3: Монолитный диск (preallocated), разделенный на файлы по 2 ГБ.

  1. vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
    Создание виртуального диска (-c) емкостью 850 МБ (-s 850Mb), с адаптером IDE (-a ide), типом growable одним файлом (-t 0) и именем myIdeDisk.vmdk.
  2. vmware-vdiskmanager.exe -d myDisk.vmdk
    Дефрагментация виртуального диска myDisk.vmdk.
  3. vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
    Конвертация диска (-r) с именем sourceDisk.vmdk в тип growable одним файлом (-t 0) с именем destinationDisk.vmdk
  4. vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
    Расширение диска myDisk.vmdk до емкости 36 ГБ.
  5. vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
    Переименование диска с именем sourceName.vmdk в destinationName.vmdk
  6. vmware-vdiskmanager.exe -k myDisk.vmdk
    Сжатие виртуального диска с именем myDisk.vmdk
  7. vmware-vdiskmanager.exe -p m:
    Подготовка диска M хостовой системы к сжатию (виртуальный диск должен быть сначала смонтирован в хостовую систему утилитой VMware Diskmount).

Рассмотрим пример расширения независимого диска. Чтобы расширить его до 10 ГБ используйте vmware-vdiskmanager следующим образом:

vmware-vdiskmanager.exe -x 10Gb .vmdk

Выберите расширенный недавно диск (E) и введите команду extend, чтобы расширить раздел на всё доступное место на диске: DISKPART> select volume=2 Volume 2 is the selected volume. DISKPART> extend DiskPart successfully extended the volume.

Стоит отметить, что эти действия не применимы к динамическим дискам Windows, поскольку они не могут быть расширены командой extend.

Заключение

В отношении возможностей работы с виртуальными дисками платформы VMware Workstation и VMware Server являются самыми продвинутыми из присутствующих в данный момент на рынке. Множество типов, режимы SCSI и IDE эмуляции и большой набор средств для обслуживания и конвертации виртуальных дисков, позволяют весьма гибко настраивать параметры виртуальных машин и управлять ими. Встроенные возможности импорта виртуальных дисков в формате VHD компании Microsoft позволяют просто осуществить миграцию с платформ Virtual PC и Virtual Server, без применения программного обеспечения других производителей. Консольное приложение vmware-vdiskmanager открывает большие возможности не только для обычных пользователей, но и для разработчиков ПО под платформы виртуализации. Безусловно, компания VMware продолжит совершенствование своих продуктов, в том числе и в отношении виртуальных дисков. Будем надеяться, что планируемая к выходу осенью бесплатная платформа VMware Server 2.0 (которую обещают представить на конференции VMworld 2007 в сентябре), будет обладать еще большим набором возможностей по работе с виртуальными дисками и их обслуживанию.

Все преобразования происходят через формат raw:
1. С virtualbox на qemu
из vdi в raw:
$ VBoxManage internalcommands converttoraw image.vdi image.raw

из raw в qcow:

$ qemu-img convert -f raw image.raw -O qcow2 image.qcow

-f – определяет формат образа виртуальной машины для преобразования
-O – определяет формат образа виртуальной машины в который будет преобразован текущий образ

2. С qemu на virtualbox

из img на raw:
$ qemu-img convert -O raw image.img image.raw

из raw на vdi:
$ VBoxManage convertdd image.raw image.vdi
или
$ VBoxManage convertfromraw -format VDI image.raw image.vdi

Оптимизация образа VirtualBox
$ VBoxManage modifyvdi /full/path/to/image.vdi compact



Vdi, vmdk в формат raw kvm/qemu
$ qemu-img convert -f vdi vbox-disk.vdi -O raw kvm-disk.img

Объединение нескольких в один файл


$ qemu-img convert -O raw image01.vmdk image02.vmdk image03.vmdk image04.vmdk image05.vmdk image06.vmdk image.img


Из VirtualBox в VMWare через менеджер виртуальных носителей.
Запустите VirtualBox, далее в меню
Файл -> Менеджер виртуальных носителей -> Выбираем тот образ, которую надо конвертировать
vdi в vdi
vdi в vmdk
vdi в vhd
vdi в hdd
и копировать.

Еще один способ:
Используя утилиту qemu-img из пакета эмулятора qemu. Данная команда конвертирует образ виртуальной машины, созданной в VirtualBox, в VmWare-образ.

Работающие с гипервизором VMware Workstation в среде Windows рано или поздно столкнутся с необходимостью переноса виртуальных машин. Это может быть новая среда гипервизора после переустановки хостовой операционной системы. Это может быть среда гипервизора на другом компьютере. И это также может быть другой гипервизор – VirtualBox . Как осуществить экспорт виртуальных машин VMware и импортировать их в своей же среде, внутри VMware Workstation или в среде VirtualBox?

1. Открытие виртуальных машин в VMware Workstation

VMware Workstation

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

Сканирование виртуальных машин

И добавляем все обнаруженные машины в библиотеку VMware Workstation. Если нужны не все, то, соответственно, снимаем галочки с ненужных.

Добавляем все обнаруженные машины

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

Библиотека

Moved It

Перенос непосредственно каталога виртуальных машин на другой компьютер – как видим, способ чрезвычайно простой, но он хорош для случаев, когда мы не стеснены средствами переноса данных. К примеру, у нас есть нужного объёма USB-HDD, либо же мы можем перенести каталог с виртуальными машинами в онлайне с использованием торрент-технологии. Но если у нас нет USB-HDD, а каталог с машинами нужно какое-то время где-то передержать, прежде чем он может быть помещён на целевой компьютер, машины лучше экспортировать. Экспортировать с целью сжатия данных. К примеру, в нашем случае папка одной виртуальной машины с фиксированным виртуальным диском весит 50 Гб.

Проводник

А вес файлов экспортированной машины будет составлять даже менее 5 Гб.

Вес файлов

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

Экспорт-импорт машин VMware обеспечивается поддержкой в программе VMware Workstation универсального формата хранения виртуальных машин Open Virtual Appliance . Это формат OVA или OVF . С этим форматом нативно работает и VirtualBox, что делает возможным перенос виртуальных машин ещё и между этими двумя гипервизорами. Open Virtual Appliance – это архив, включающий информацию о конфигурации виртуальной машины и хранящий в сжатом виде непосредственно содержимое виртуального жёсткого диска.

Чтобы экспорт машины VMware был возможен, необходимо отключить от её виртуального привода прикреплённые ISO -образы.

И указываем путь сохранения архива машины.

Экспорт в OVF

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

Открыть

Импорт

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

Ожидаем завершения операции

И ищем импортированную машину в библиотеке VMware Workstation.

Библиотека VMware Workstation

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

Процесс импорта виртуальной машины из архива OVF в программе VirtualBox схож.

VirtualBox

Потребовалось развернуть новую виртуальную машину в Hyper-V из файла шаблона виртуальной машины VMWare в формате OVA. Прямого конвертирования из этого формата ни в стандартных оснастках Hyper-V, ни в базовом функционале SCVMM я не нашёл. Выяснилось, что файл *.ova, это по сути контейнер *.tar. Поэтому такой файл можно распаковать любым архиватором, например 7-zip . В распакованном виде нам станет доступен файл виртуального жёсткого диска VMWare в формате VMDK, а уже с этим форматом нам поможет разобраться утилита Microsoft Virtual Machine Converter 3.0 .

Помимо графического интерфейса для онлайн конвертации виртуальных машин (с прямым подключением к хостам виртуализации VMWare и Hyper-V), после установки утилиты в системе становится доступен набор PowerShell командлетов. Подробное описание всех доступных командлетов есть в документе MVMC_cmdlets.doc , ссылку на который можно найти на странице загрузки утилиты. Далее пример простого скрипта для конвертации файла формата VMDK в формат VHD/VHDX

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

Читайте также: