Содержание

Уменьшение размера тонкого диска в ESXi

Взято тут: https://habrahabr.ru/post/276377/

Когда я начал работать с ESXi, столкнулся с проблемой нехватки дискового пространства из-за сильно разросшихся тонких дисков. Вообще, лучше создавать диски меньшего размера, потому что увеличить диск в ESXi намного проще, чем уменьшить. Но что же делать, если все-таки возникла необходимость уменьшить диск? Причем, мое положение усугубляли LVM разделы на сервере, которые не распознавал Acronis, и, следовательно, не мог изменить размер раздела.

Опишу способ, которым воспользовался я:

1 этап. Уменьшение диска внутри виртуальной машины

Сперва нужно уменьшить диск внутри самой виртуальной машины, для этого существует множество универсальных программ: Acronis disc director, paragon partition manager, встроенная утилита управления дисками в windows и т.д. Мне ни одна из этих программ не помогла, поэтому пришлось использовать средства линукса и LiveCD.

Также мы можем добавить это место к другом тому. Для этого:

Увеличиваем том root:

lvextend -L +10G /dev/test/root

Увеличиваем размер файловой системы на томе root до размера тома:

</code>
resize2fs /dev/test/root
</code>

fsck -fy /dev/test/root
fsck -fy /dev/test/home

2 этап. Уменьшение provisioning space

Я ставлю значение немного больше, чем размер, вычисленный по методике выше (41943040 (20 Гб*1024*1024*1024 / 512)), на всякий случай.

Физическое уменьшение тонкого диска без изменения provisioning

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

Для этого:

cat /dev/zero > /file
cd /
rm file

Надо отметить, что утилита vmkfstools, запущенная с ключом -K, еще и может преобразовать обычный диск (zeroedthick или eagerzeroedthick) в thin disk с вычищением нулевых блоков и, соответственно, уменьшением размера vmdk.

P.S. Надеюсь данная статья будет кому-то полезной. Во всяком случае, я потратил много времени, прежде чем мне удалось корректно уменьшить размер тонкого диска.