Тонкие (thin) диски VMWare позволяют существенно сэкономить место на файловой системе VMFS хранилища при создании виртуальной машине. Такие vmdk диски при создании практически не занимают место на файловой системе и постепенно разрастаются до максимального размера по мере накопления информации. Однако основная проблема при использовании thin диски заключается в том, что они со временем разрастаются даже в том случае, если вы освободили место внутри гостевой операционной системы.
Стандартного средства сжатия тонких дисков в ESXi нет, а сама система виртуализации ничего не знает об особенностях хранения данных внутри гостевой ОС.
В этой статье мы опишем простой способ сжатия тонкого vmdk диска в ESXi.
Sdelete –z c: В данном случае c: — это виртуальный тонкий vmdk диск, который мы планируем сжать.
В Linux эту операцию можно выполнить с помощь dd
dd if=/dev/zero bs=64k of=zero.temp ; rm zero.temp cd vmfs/volumes/storage1/vm1 где storage1 – имя хранилища, а vm1 – каталог, в котором хранятся файлы с vmdk дисками виртуальной машины
ls -lh *.vmdk “Реальный” размер виртуального диска, который он занимает на файловой системе можно узнать так:
du –h *.vmdk Как вы видите, thin диск занимает на хранилище 33 Гб (максимальный его размер 40 Гб). Причем внутри гостевой ОС Windows занято всего 15 Гб.
vmkfstools --punchzero /vmfs/volumes/storage1/vm1/vm1.vmdk Процедура сжатия в нашем примере заняла около 5 минут (скорость от размера диска и скорости и загруженности хранилища и сети SAN). После окончания процедуры сжатия проверим текущий размер vmdk файла.
Как вы видите vmdk диск сжался до 15 Гб!
К счастью расширить виртуальный диск гораздо проще
Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…
Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…
Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…