3

Я создал виртуальную машину с 4,7 ГБ виртуального жесткого диска (.vmdk). Я экспортировал в .ova версии 1.0 и получил файл размером 1,7 ГБ, который мне удалось сжать еще на 200 МБ с помощью 7zip. Таким образом, архив 7zip с OVA составляет 1,5 ГБ.

7zip файлы vm напрямую дали мне размер файла 1.1 ГБ. Это идеальный размер, и мне интересно, кто-нибудь знает, как увеличить сжатие ova-файла или вручную создать ova-файл. Я использую виртуальную коробку, но также есть VMware. Вот команда, которую я запускаю на 7zip.

 7z a -t7z vm.7z -m0=lzma2 -mx=9 -aoa vm.ova

Я запускаю ту же команду без vm.ova внутри папки vm, чтобы получить файл размером 1,1 ГБ. Мои цели - наименьший размер файла и его легко использовать как в vmware, так и в virtualbox, импорт в qemu, hyper-v и vshere является плюсом.

2 ответа2

5

Файл .ova - это просто файл tar в соответствии со спецификациями. В файле ova находится файл .vmdk который содержит виртуальный диск, и файл .ovf который содержит конфигурацию. OVF - это стандарт, который работает кроссплатформенно.

После создания файла ova распакуйте ovf и vmdk, используя tar

tar xvf appliance.ova

Удалите файл ova или переместите его куда-нибудь еще, если вам нужно.

На этом этапе файл vmdk уже сжат, поэтому запуск 7zip непосредственно для этих двух файлов не сильно уменьшит сжатие.

Удалите файл .vmdk и возьмите исходный несжатый файл vmdk до того, как вы сделали устройство. Проверьте файл .ovf (xml), чтобы убедиться, что имена файлов совпадают. Найдите элемент XML, который начинается так

<File ovf:href="diskname.vmdk" ovf:id="file1" />

В этом случае несжатый файл vmdk должен быть назван (или переименован, если необходимо) в diskname.vmdk

Теперь запустите эту команду 7zip внутри каталога с вашими 2 файлами (.ovf и .vmdk).

7z a -t7z appliance.7z -m0=lzma2 -mx=9 -aoa

Ваш файл .7z теперь может распространяться с наименьшим размером файла, которого я смог достичь.

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

3

Мы обнаружили, что обнуление, а затем повторный экспорт из VirtualBox значительно сократило дисковое пространство яйцеклетки. Ездил с 8,5 ГБ -> 3 ГБ.

  1. Выполните шаг 2 этих инструкций (https://www.howtogeek.com/312883/how-to-shrink-a-virtualbox-virtual-machine-and-free-up-disk-space/)
  2. Экспортировал новый OVA из графического интерфейса VirtualBox. (Я использую 5.1.26 r117224 (Qt5.6.2) на MacBook.

Надеюсь, это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .