Работа с контейнерами VMDK

При работе с виртуальными машинами может потребоваться запись или копирование с диска “тяжелых” данных. Долгое время единственным способом доступа к содержимому дисков являлся сам продукт (VMware, Parallels, VirtualBox и т.п.) - запускаем виртуальную машину, например, во Fusion и получаем доступ: записываем, копируем файлы.

Минус такого подхода - скорость записи снижается в разы. Машина на которой работают виртуальные хосты расходует больше ресурсов, особенно это заметно если в системе установлен HDD. Но постоянно держать несколько машин включенным совершенно нет желания, а включать/выключать виртуалки быстро надоедает. Было бы здорово иметь возможность монтировать диски без запуска виртуальных машин.

Для виртуализации я пользуюсь VMware Fusion и vSphere ESXi, формат дисков виртуальных машин - *.vmdk.

VMDK Mounter for Mac

Не так давно компания Paragon выпустила продукт - VMDK Mounter for Mac. Единственное решение для доступа к содержимому виртуальных дисков без запуска виртуальных машин. Да, продукт только для OS X. И да - продукт бесплатный!

VMDK Mounter for Mac поддерживает и другие контейнеры виртуальных дисков:

  • VDI (VirtualBox),
  • VHD (Microsoft Virtual PC),
  • pVHD (Paragon Virtual Disk),
  • VMDK (VMware).

А вот поддержки продуктов Parallels на данный момент нет.

В чем преимущества подключения *.vmdk напрямую?

  • высокая скорость записи данных напрямую в *.vmdk;
  • моментальный доступ к содержимому дисков;
  • распознавание цепочки дисков в снепшотах;
  • создание *.vmdk дисков любого размера;
  • гибкая работа через терминал.

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

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

Мне часто требуется работать с разными версиями OS X, держать их в актуальном состоянии (апдейты и прочее). В среднем, в последних редакциях OS X, размер обновлений начинается от 1.5Гб. Можно для каждой машины выкачивать обновление, но гораздо проще примонтировать диск и через терминал накать обновление.

Пример 1: применяем обновления

Например, накатываем DP3 от 10.11 на DP1/DP2:

installer -pkg OSXUpd10.11.pkg -target "/Volumes/Macintosh HD 1"

где Macintosh HD 1 - замонтированный диск от виртуальной машины.

Пример 2: обновление 10.10 Yosemite до 10.11 El Capitan

Напрямую накатить обновление достаточно сложно, поэтому скопируем установщик от 10.11 на машину с 10.10. Файл занимает 6Гб, скопировались менее чем за 2 минуты, что значительно быстрее если бы я копировал на включенную виртуалку с Yosemite.

Хочу CLI

Отдельно стоит сказать про возможность создавать собственные контейнеры виртуальных дисков, которые потом лего подключаются к любым виртуальным машинам. Но сделать это можно только через CLI-версию VMDK Mounter’а. Приведу вывод утилиты:

The End

Вот такая замечательная утилита помогает решать ежедневные задачи.

alt

Mac