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

В отличии от процедуры расширения диска виртуальной машины VMWare, которую можно выполнить прямо «на-лету», процедура уменьшения размера vmdk файла на гипервизоре VMWare ESXi задача более сложная, и выполнить ее непосредственно через графический интерфейс vSphere Client в принципе невозможно — указать меньший размер просто не получится.

Примечание
Отметим, что в последней версии гипервизора Microsoft  — есть технология динамического изменения (как расширения, так и сжатия) виртуальных дисков под названием Hyper –V Online VHDX Resize.
Важно
Данная инструкция не является официально поддерживаемым решением по сжатию vmdk дисков, однако автором статьи в продуктивной среде применялась уже не раз. При написании этой статьи использовалась версия ESXi 5.1.

Image title

Перед осуществлением процедуры уменьшения размера виртуального диска на VMWare ESXi необходимо обязательно:

  • Удалить все снапшоты виртуальной машины, в противном случае вы можете повредить виртуальный диск

  • Создайте полную резервную копию виртуальной машины или же просто сделайте  копию уменьшаемого vmdk файла с помощью команд:

cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

Процедура уменьшения размера виртуального диска состоит из двух этапов:

  • Уменьшение раздела внутри гостевой ОС

  • Уменьшение размера VMDK файла виртуальной машины VMware

Уменьшение раздела внутри гостевой ОС

В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Это можно сделать из диспетчера управления дисками (операция Shrink Volume, поддерживаемая начиная с Windows Vista)  или с помощью сторонних утилит (например, Acronis Disk Director). Если этого не сделать, после сжатия виртуального диска можно получить неработоспособную файловую систему.

Image title

Допустим, мы хотим уменьшить размер диска на 19, 5 Гб. Значит размер тома должен быть уменьшен на 19968 Мб (19.5 Гб x 1024). Именно это значение нужно ввести в поле  мастера Shrink Volume. После уменьшения размера раздела на нашем диске останется некоторое количество неразмеченного пространства (в нашем примере 19,5 Гб)

Image title

Уменьшение размера VMDK файла виртуальной машины VMware

Переходим ко второй операции – непосредственно изменяю размера VMDK файла на файловой системе VMWare VMFS.

  1. Выключите виртуальную машину, размер виртуального диска которой вы хотите уменьшить

  2. Подключитесь по SSH к консоли гипервизора ESXi, на котором зарегистрирована ВМ

  3. Перейдите в каталог, в котором хранится vmdk файл ВМ (путь можно узнать  в свойствах виртуального диска в графическом клиенте vSphere):

cd /vmfs/volumes/datastore/VM-name

Image title      4. Просмотрим содержимое конфигурационного файла с расширением *.vmdk с помощью команды cat:

cat VM-name.vmdk

Размер vmdk диска задается в секции #Extent description (после символов RW). В данном случае указана цифра 83886080 (40 Гб *1024*1024*1024 / 512) 

Image title    5. Мы хотим уменьшить размер vmdk диска с 40 до 20 Гб. Это значит, что в секции Extent description нужно указать значение: 41943040 (20 Гб*1024*1024*1024 / 512). Задайте новый размер виртуального диска с помощью текстового редактора (vi или nano).

Image title

    6. Осталось клонировать или мигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска.

Если vCenter отсутствует, или VMFS хранилище одно, эти операции недоступны. В таком случае можно клонировать vmdk диск командой:

vmkfstools -i vmname.vmdk vmname-new-size.vmdk

Удалить оригинальный диск и еще раз клонировать vmdk диск, вернув ему прежнее имя:

rm vmname.vmdk

rm vmname-flat.vmdk

vmkfstools -i vmname-new-size.vmdk vmname.vmdk

Image title    7. Осталось запустить гостевую ОС и удостовериться, что неразмеченная область исчезла.

Совет. Если на предыдущем шаге использовалась утилита vmkfstools , возможно понадобится переподключить виртуальный диск в настройках ВМ, т.к. его новый размер может отображаться некорректно.

Image title

Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуальных vmdk дисков на VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться этой инструкцией.

Примечание

В качестве распространенных альтернативных методик сжатия виртуальных vmdk дисков часто используются такие схемы:

  • Уменьшение размера виртуального диска путем конвертации виртуальной машины с помощью VMware vCenter Converter (при конвертации указывается размер получаемого диска меньший, чем исходный)

  • Клонирование содержимого виртуального диска с помощью стороннего софта (например, Acronis True Image или Symantec Ghost32). Операция выполняется путем добавления в виртуальную машину нового диска меньшего размера и клонирования на него содержимого большего диска. После чего большой диск удаляется.

СОЦИАЛЬНЫЕ ГРУППЫ САЙТА

Яндекс.Метрика
Рейтинг@Mail.ru