Вопрос уменьшить размер файла ova в виртуальном боксе


У меня есть 64-битная виртуальная машина Ubuntu, которую я получил из ~ 1GB ova-файла, я использовал ее под VMware vSphere для установки на нее еще нескольких программ и использования системы против нескольких наборов данных, которые занимали около 2-3 ГБ пространства, но теперь что я удалил эти большие файлы, я ожидал, что вновь созданный ova-файл из него также займет около 1,1 ГБ пространства, но вместо этого займет около 3 ГБ. Если я посмотрю подробности файла .vmdk в virtualbox, я вижу следующее:

Hart Disk: SATA Port 0
Type (Format): Normal (VMDK)
Virtual Size: 8.00 GB
Actual Size:  7.90 GB
Details: Dynamically allocated storage
Location: /somewhere/myVM-disk1.vmdk
Attached To: myVM.virtualbox

Размер яйцеклетки при экспорте этой машины составляет ~ 3 ГБ.

Любые идеи о том, как я могу ее сжать?


4
2017-11-08 15:56


происхождения




ответы:


Пространство в .vmdk выделяется, когда ОС делает первую запись в конкретный сектор. После написания, он распределяется навсегда.

Итак, вам нужно добавить второй виртуальный жесткий диск с динамическим размером виртуальной машины на виртуальную машину, затем загрузите VM из LiveCD, создайте разделы с помощью fdisk и скопируйте все файлы (cp -R). Затем завершите работу VM, замените виртуальные жесткие диски, загрузите снова и проверьте, все ли работает, затем отсоедините оригинальный виртуальный жесткий диск от VM и удалите его как файл на диске хост-системы.

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


4
2017-12-03 10:16





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

В нем описывается, как сжимать диск с помощью:

  1. Извлеките свободное пространство, используя zerofree для Ubuntu
  2. Сжатие виртуальной машины
    VBoxManage modifyhd my.vdi –compact

8
2017-12-03 15:34



Я попробовал это после инструкций из статьи и спустился с 3,5 ГБ до 3,0 ГБ. Я не смог воспроизвести последнюю команду, так как я получаю файл * .ova из экспорта: VBoxManage modifyhd my.ova -compact жалуется Could not get the storage format of the medium - 719016
В этом методе нет экспорта и нет файла .ova: вы просто запускаете zerofree внутри виртуальной машины, закройте его, затем скомпенсируйте. - harrymc
Понял. у меня есть только *.vmdk файлов, поэтому я сначала конвертировал в vdi с VBoxManage clonehd --format VDI my-disk1.vmdk my-disk1.vdi затем применил компактную команду, но размер vdi не изменился вообще. - 719016
Некоторые файлы должны быть оставлены в конце файла. Удалите максимально возможное количество файлов, затем выполните этот учебник, Также Эта статья так же как эта тема может помочь. - harrymc
Typo: «конец файла» => «конец диска». - harrymc