Рано или поздно любой администратор VMware vSphere сталкивается с проблемой разросшихся тонких дисков виртуальных машин, которые увеличиваются неизбежно по своей природе (при удалении файлов в гостевой ОС блоки не обнуляются и не отдаются обратно на хранилище с уменьшением VMDK).
Многие из вас знают следующий способ уменьшения тонкого диска (Thin disk): надо сначала почистить блоки утилитой sdelete, а потом сделать миграцию машины средствами Storage vMotion на другое хранилище. Тогда thin-диски и уменьшатся до реального размера данных в нем.
Но, во-первых, SVMotion есть не у всех (так как в начальные издания vSphere эта технология не входит), а, во-вторых, есть более простой способ. Итак:
1. Давайте сначала «раздуем» исходный тонкий диск с помощью утилиты sdelete
2. Очищаем удаленные блоки в гостевой ОС, заполняя их нулями.
Для этого запустим команду:
3. Уменьшаем размер виртуального диска с помощью утилиты vmkfstools.
Делается это с помощью ключа -K (можно также использовать ключ —punchzero) в консоли сервера ESX-i: