21.06.2017

Как уменьшить размер тонких дисков (Thin disks) или преобразовать в них обычные диски с удалением нулевых блоков и уменьшением VMDK

Рано или поздно любой администратор VMware vSphere сталкивается с проблемой разросшихся тонких дисков виртуальных машин, которые увеличиваются неизбежно по своей природе (при удалении файлов в гостевой ОС блоки не обнуляются и не отдаются обратно на хранилище с уменьшением VMDK).

Многие из вас знают следующий способ уменьшения тонкого диска (Thin disk): надо сначала почистить блоки утилитой sdelete, а потом сделать миграцию машины средствами Storage vMotion на другое хранилище. Тогда thin-диски и уменьшатся до реального размера данных в нем.

Но, во-первых, SVMotion есть не у всех (так как в начальные издания vSphere эта технология не входит), а, во-вторых, есть более простой способ. Итак:

1. Давайте сначала "раздуем" исходный тонкий диск с помощью утилиты sdelete.

Было (18,74 ГБ):

Запускаем в гостевой ОС Windows утилиту:

sdelete -c

Стало (41,8 ГБ):

2. Очищаем удаленные блоки в гостевой ОС, заполняя их нулями.

Для этого запустим команду:

sdelete -z

3. Уменьшаем размер виртуального диска с помощью утилиты vmkfstools.

Делается это с помощью ключа -K (можно также использовать ключ --punchzero) в консоли сервера ESXi:

vmkfstools -K Test.vmdk

Вот и все, смотрим на получившийся размер:

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

Источник.


Все новости