Перейти к содержанию

11.08.2019

VMware ESXi ручное сжатие всех тонких (thin) дисков

Тонкие диски имеют свойство разрастаться со временем. Чтобы снова объявить освобожденное место свободным, нужно обнулить свободное место в гостевой файловой системе, а затем использовать vmkfstools с ключом -K для освобождения блоков в VMFS разделе. Сделать это сразу для всех дисков можно при помощи простого скрипта.

Как обнулить свободное место, рассказано в статье «Тонкие диски в VMware«. После этого нужно зайти на хост по SSH и выполнить:

vmkfstools -K <path-to-vmdk-file>

Обратите внимание, что есть несколько файлов имеющих расширение .vmdk в каталоге с виртуальной машиной. Некоторые из них имеют суффикс -flat и -ctk. Здесь нужно указывать путь к файлу без всяких суффиксов.

Запускать vmkfstools можно только для остановленных машин. Если запустить эту команду для запущенной машине, то будет выведено сообщение об ошибке:

Failed to open virtual disk '<path-to-vmdk-file>': Failed to lock the file (16392)

Чтобы узнать полный размер диска используйте:

ls -lh <path-to-flat-vmdk-file>

и вот тут уже надо использовать файл с суффиксом -flat, т.к. именно в нём хранится содержимое диска.

Чтобы узнать реально занимаемый размер:

du -h <path-to-flat-vmdk-file>

Чтобы сделать это для всех дисков в хранилище, используйте этот bash скрипт заменив в нём <path-to_datastore> на путь к вашему datastore:

datastore='<path-to_datastore>'
filepaths=$(find ${datastore} -type f -name "*-flat.vmdk")
for vmdkflat in $filepaths; do
    echo "--------------------------------------------------------------------------------"
    vmdk=${vmdkflat/-flat.vmdk/.vmdk}
    du ${vmdkflat} -h
    vmkfstools -K ${vmdk}
    du ${vmdkflat} -h
done

Загрузите этот скрипт на файловое хранилище доступное для esxi, например туда же, где лежат виртуалки, и не забудьте установить права на выполнение этого файла.

В результате vmkfstools будет вызывана для каждого тонкого диска, с выводом информации о реально занимаемом месте до и после выполнения команды:
Пример освобождения места

Подробнее VMware

Поделитесь своими мыслями, оставьте комментарий.

(required)
(required)

Внимание: HTML допускается. Ваш e-mail никогда не будет опубликован.

Подписка на комментарии

Captcha *