Categories: VMware

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

В этой статье мы рассмотрим, как уменьшить размер диска (vmdk) виртуальной машины в VMware ESXi. Уменьшить размер виртуального диска VMware из графического веб-интерфейса vSphere Client нельзя (можно только увеличить диск ВМ VMware ). При попытке указать меньший размер диска ВМ, появляется ошибка: Enter a disk size which is larger than its original capacity .

Важно. Данная инструкция не является официально поддерживаемым решением по сжатию виртуальных vmdk дисков в ESXi. Однако я применял этот способ уже не один десяток раз.

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

  • Удалить все снапшоты виртуальной машины;
  • Создать полную резервную копию виртуальной машины, или предварительно сделайте копию vmdk и flat файла виртуального диска, который вы хотите уменьшить. Выполните следующие команды в конолси ESXi:
    cp vmname.vmdk backup_vmname.vmdk
    cp vmname-flat.vmdk backup_vmname-flat.vmdk

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

  • Уменьшение раздела внутри гостевой ОС;
  • Уменьшение размера VMDK файла виртуальной машины VMware на VMFS (NFS) хранилище.

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

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

Если в ВМ установлена гостевая Windows:

  1. Откройте консоль управления дисками ( diskmgmt.msc )
  2. В нашем случае справа от раздела, который мы хотим уменьшить, находится раздел восстановления среды WinRE ( Recovery Partition ). Для корректного выполнения процедуры уменьшения виртуального диска справа от раздела, который вы хотите уменьшить не должно быть других разделов. Вам нужно или перенести образ восстановления winre.wim с отдельного раздела на системный, или переместить раздел recovery в начала диска (оба варианта подробно описаны в статье Не могу расширить диск в Windows из-за раздела восстановления ).
  3. Теперь вы можете уменьшить размер основного раздела (в современных версиях Windows вы можете уменьшить размер диска без перезагрузки, в старых версиях придется использовать утилиту sdelete ). Щелкните по разделу и выберите Shrink Volume .
  4. Допустим, вы хотите уменьшить размер диска ВМ на 40 Гб. Укажите значение 40960 Мб (40 Гб x 1024) в поле Enter the amount of space to shrink in MB и нажмите Shrink ;
  5. После завершения операции уменьшения размера раздела, справа от вашего основного раздела останется 40 Гб неразмеченного ( Unallocated ) пространства.

Для Linux ВМ, если вам нужно уменьшить размер корневого раздела, нужно загрузиться ВМ с LiveCD GParted (GNOME Partition Editor). Уменьшите размеры разделов из графического интерфейса GParted через меню Resize/Move. Если нужно, переместите разделы. Чтобы применить изменения, выберите Edit -> Apply all operations. Утилита изменит размеры разделов и уменьшит файловую систему через Rezise2fs.

Загрузите гостевую ВМ с Linux и проверьте, что все работает корректно.

Непосредсвенно из гостевой Linux вы можете уменьшить размеры отмонтированных раздела с помощью parted . Если используются LVM тома , то сценарий другой.

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

Теперь нужно уменьшить размера VMDK файла на файловой системе VMware VMFS.

  1. Выключите ВМ;
  2. Подключитесь по SSH к консоли гипервизора ESXi , на котором зарегистрирована ВМ (можно воспользоваться putty или встроенным ssh клиентом Windows );
  3. Перейдите в каталог, в котором хранится vmdk файл ВМ (путь к виртуальному диску узнать в свойствах виртуального диска в веб интерфейсе клиента vSphere):
    cd /vmfs/volumes/datastore/test-VM
  4. Выведите содержимое конфигурационного файла виртуального с помощью команды cat:
    # cat test_vm_3.vmdk
    Размер vmdk диска задается в секции # Extent description (после символов RW). В данном случае указана цифра 167772160 (80 Гб *1024*1024*1024 / 512)
  5. Я хочу уменьшить виртуального vmdk диска на 40 Гб. Это значит, что в секции Extent description нужно указать значение: 83886080 . Это значение получилось следующим образом: 167772160 (текущий размер диска) - 83886080 (40 Гб*1024*1024*1024 / 512)
  6. Отредактируйте конфигурационный файл диска с помощью vi # vi  test_vm_3.vmdk
  7. В редакторе vi с помощью стрелки вниз перейдите на строку с размером диска и нажмите i (для перехода в режим редактирования). Укажите новый размер виртуального диска. Нажмите ESC , чтобы выйти из режима редактирования и :wq -> Enter чтобы сохранить изменения;
  8. Осталось смигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска;
Совет . Если у вас всего один ESXi хост, чтобы обновить размер диска в клиенте vSphere, проще всего просто перерегистрировать виртуальную машину. Щелкните по ВМ и выберите Unregister .

Затем перейдите в раздел Storage, найдите VMFS/NFS хранилище, где находится ВМ -> Datastore Browser, найдите каталог ВМ, щёлкните по VMX файлу и выберите Register .

Либо можно сделать копию диска с помощью команды

vmkfstools -i test_vm_3.vmdk test_vm_3_newsize.vmdk

Затем удалите оригинальный vmdk диск и еще раз склонируйте оставшийся vmdk диск, вернув ему прежнее имя:
rm test_vm_3.vmdk
rm test_vm_3-flat.vmdk
vmkfstools -i test_vm_3_newsize.vmdk test_vm_3.vmdk

Убедитесь, что в свойствах ВМ теперь отображается новый размер виртуального диска;

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

Уменьшаем размера виртуального диска с помощью VMware vCenter Converter Standalone

Для уменьшения размера виртуальных дисков ВМ на VMWare можно воспользоваться бесплатным графическим конвертором VMware vCenter Converter Standalone . Эта утилита позволяет скопировать ВМ и при указать размер нового диска меньше, чем исходный (на гостевой файловой системе должно быть свободное место).

Недостаток:

  • Конвертация V2V выполняется медленно;
  • На датасторе должно быть достаточно места для размещения новой ВМ;
  • У новой ВМ будет новый MAC адрес.

Плюсы:

  • Простой графический интерфейс
  • Создается точная копия VM;
  • Исходная ВМ не поломается при некорректных действиях.
Примечание . Исходная ВМ, которую вы хотите сконвертировать (изменить размеры дисков и т.д.), должна быть выключена .

Запустите VMware Converter и укажите адрес ESXi хоста.

Выберите исходную ВМ.

Укажите параметры новой ВМ.

Перейдите в режим редактирования диска (Data to copy -> Edit).

Выберите режим копирования: Select volumes to copy.

Укажите новый размер диска в новой ВМ. В нашем примере на виртуальном диске занято 48 Гб, а размер самого диска — 150 Гб. Мы уменьшим размер виртуального диска до 60 Гб.

Запустите процесс конвертирования ВМ. После окончания отключите исходную ВМ и включите новую. Проверьте, что размер диска уменьшился. После этого исходную ВМ можно удалить.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago