LINUX.ORG.RU
решено ФорумTalks

ФС для виртуальной машины

 , ,


2

1

Здравствуйте!

Меня вот какой вопрос заинтересовал.

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

Как-то данный вопрос в современных системах виртуализации решается? Или почему это не проблема? Или гипотетически если создать такую спец-файловую систему, которая будет пробрасываться из виртуальной машины на хост и рулить размером образа была бы от этого польза кому-то?

★★★★★

В инете пишут, что с этим есть определённые проблемы. В VmWare есть механизм сжатия диска для освобождения места, но он работает неэффективно. Если нужно могу дома проверить на тестовой машине.

xwicked ★★☆
()

создать такую спец-файловую систему, которая будет пробрасываться из виртуальной машины

А что разве в lxc или докер как-то по другому пробрасываются?

vvn_black ★★★★★
()

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

вот для виртуалбокса.
VBoxManage.exe modifymedium –compact

The –compact option can be used to compact disk images. Compacting removes blocks that only contains zeroes. Using this option will shrink a dynamically allocated image. It will reduce the physical size of the image without affecting the logical size of the virtual disk. Compaction works both for base images and for differencing images created as part of a snapshot.

For this operation to be effective, it is required that free space in the guest system first be zeroed out using a suitable software tool. For Windows guests, you can use the sdelete tool provided by Microsoft. Run sdelete -z in the guest to zero the free disk space, before compressing the virtual disk image. For Linux, use the zerofree utility which supports ext2/ext3 filesystems. For Mac OS X guests, use the diskutil secureErase freespace 0 / command from an elevated Terminal.

Please note that compacting is currently only available for VDI images. A similar effect can be achieved by zeroing out free blocks and then cloning the disk to any other dynamically allocated format. You can use this workaround until compacting is also supported for disk formats other than VDI.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от xwicked

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

unDEFER ★★★★★
() автор топика

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

А ты fstrim сделай.

Как-то данный вопрос в современных системах виртуализации решается? Или почему это не проблема?

Потому что есть DISCARD.

t184256 ★★★★★
()

еще мудрил с навешиванием на файлы образов атрибутов sparse c последующим освобождением sparse блоков.
но чёт не сильно разобрался в данной системе и образ накрылся :-/

но в обоих случаях в госте надо забить свободное место раздела нулями.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

Спасибо! Я понял. Значит только по нулям ориентируются эти механизмы. Скажем есть область для улучшения :-)

unDEFER ★★★★★
() автор топика

Для долгоживущих виртуалок linux in linux настраиваю корневой virtiofs. С ним таких проблем нет, и файлы шарятся как в контейнере. Так можно ещё и через systemd-nspawn -D запускать «контейнер» на основе ФС виртуалки.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 3)
Ответ на: комментарий от snizovtsev

Во! А вот это уже кажется работает именно так как хотелось бы!

Спасибо! Ставлю отметку топику «решённый».

unDEFER ★★★★★
() автор топика

Погугли, как делается shrink для своей системы виртуализации. Где-то это «из коробки», где-то сторонними средствами.

Dimez ★★★★★
()

QCOW2 умеет шринкаться. То есть может и шринкаться и спарзиться если на нормальной ФС.

RAW на любой нормальной ФС отлично спарзится.

discard из ВМ может пробрасываться как unmap и приводить также с спарзу

no-dashi-v2 ★★
()
Последнее исправление: no-dashi-v2 (всего исправлений: 1)

я физические диски в виртуалки пробрасываю, с описанной проблемой не сталкивался

slyjoeh ★★★
()
Ответ на: комментарий от snizovtsev

virtiofs еще и очень ускоряет файловые операции :) ибо выкидывается куча излишних операций и прослоек.

pfg ★★★★★
()

Т.е. даже если в виртуальной машине поудалять все файлы, то от этого размер образа меньше не станет.

Есть средства, пишут про trim, а до trim я для этого юзал утилиту zerofree

goingUp ★★★★★
()
Ответ на: комментарий от unDEFER

Область для улучшения действительно есть. Механизм trim, принятый в SSD, прекрасно ложится в основу решения задачи компакта виртуального диска. Осталось выяснить, пользуются ли этим популярные движки виртуализации.

quwy
()

VirtualBox, если в нём выставить тип диска SSD, принимает TRIM-команды от виртуалки и делает «дырки» (sparse flie) в диске ВМ. Дырки места не занимают.

ValdikSS ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)