Как расширить диск виртуальной машины в VMware?

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

Есть несколько ограничений, которые нужно учитывать, если вы хотите увеличить размер диска виртуальной машины VMware:

  • Если у ВМ есть сохраненные снимки (снапшоты), вы не сможете расширить диск. Все снапшоты придется удалить;
  • Если На лету можно расширить только диски, подключенные через виртуальный SCSI или NVMe контроллер (если диск подключен через IDE, виртуальную машину придется сначала выключить);
  • Расширение не поддерживается для ВМ типа Linked Clone (Vmware Horizont);
  • Если в панели ВМ указано предупреждение ‘Virtual Machine disks consolidation is needed’ , выполните консолидацию дисков виртуальной машины;
  • Онлайн расширение дисков виртуальных машин (без выключения) поддерживается, если в гостевой ОС установлены VMware Tools, Если VMTools не установлены, после изменения диска появится ошибка:
    Task name
    Reconfigure virtual machine
    The attempted operation cannot be performed in the current state (Powered on).

    vmware не могу расширить диск The attempted operation cannot be performed in the current state (Powered on).

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

  1. Сначала нужно увеличить максимальный размер VMDK файла в настройках ВМ на vCenter/ESXi;
  2. Затем нужно расширить раздела диска в гостевой ОС (мы рассмотрим отдельно Windows и Linux).

Увеличить размер виртуального диска (VMDK) в VMware

Допустим, у вас есть виртуальная машина, которой презентован один виртуальный жесткий диск (vmdk) размером 40 Гб. Вы хотите увеличить данный виртуальный диск до 50 Гб.

  1. Подключитесь к своему серверу vCenter или отдельному серверу ESXi с помощью vSphere Client;
  2. Найдите виртуальную машину и откройте ее настройки (Actions -> Edit Settings); vmware vsphere - настройки виртуальной машины
  3. Найдите виртуальный диск, который нужно расширить. В этом примере у ВМ есть только один Hard Disk 1 размером 40 Гб. Укажите новый размер диска в этом поле и сохраните настройки. Обратите внимание, что максимальный размер диска, доступный для данного хранилища (VMFS, NFS, vSAN) указан в поле Maximum size; увеличить VMDK диск в VMware

Также вы можете расширить VMDK диск виртуальной машины с помощью командлетов из модуля VMware PowerCLI Установите модуль PowerCLI на свой компьютер (можно установить модуль PowerShell даже на Linux хост) и подключитесь к vCenter/ESXi:

Connect-VIServer hostname

Чтобы расширить диск ВМ, выполните команду:

Get-HardDisk "VMTest1" | where {$_.Name -eq "hard disk 2"} | Set-HardDisk -CapacityGB 50 -ResizeGuestPartition -Confirm:$false

powershell - увеличить размер VMDK диска vmware

Вы можете воспользоваться командлетом Invoke-VMScript для запуска команд расширения раздела в гостевой ОС:

Invoke-VMScript -vm VMTest1 -ScriptText "echo select vol c > c:\diskpart.txt && echo extend >> c:\diskpart.txt && diskpart.exe /s c:\diskpart.txt" -GuestUser $guestUser -GuestPassword $guestPass -ScriptType BAT

Ранее мы показывали пример использования Invoke-VMScript для автоматического установки обновлений Windows в шаблонов ВМ VMware.

Не забудьте завершить сессию.

Disconnect-VIserver -Confirm:$false

После того, как вы увеличили виртуальный диска в консоли VMware, нужно расширить раздел в гостевой операционной системе.

Расширить диск в виртуальной машине Windows

Чтобы гостевая Windows увидела дополнительно пространство, нужно запустить консоль управления дисками (Computer Management-> Storage-> Disk Management) и выполнить команду Rescan Disk.

Windows выполнить рескан дисков

Затем выберите раздел, который нужно увеличить и выберите Extend Volume; расширить том в windows

Укажите на сколько Мб нужно расширить выбранный раздел Windows за счет неразмеченного Unallocated пространства (в поле Select the amount of space in MB).

укажите сколько места нужно добавить к разделу windows

Нажмите Next -> Finish и проверьте, диск C был успешно расширен. том был успешно расширен в Windows

При расширении системного раздела с буквой диска C может оказаться, что после него находится том восстановления Windows Recovery Environment, а не неразмеченная область. В этом случае опция расширения тома Extend Volume будет неактивна.

опция extend volume неактивна, recovery раздел мешает расширению

Вы не сможете расширить ваш диск C:, пока не удалите или не переместите раздел Recovery в конец диска. Мы описали процедуру в статье не активен пункт Расширить том в Windows.

Windows XP и Windows Server 2003 не поддерживают онлайн расширение системного тома C:. Для увеличения системного раздела без перезагрузки можно воспользоваться утилитой ExtPart от Dell.

Чтобы расширить системный дисковый раздел в Windows 2003/XP скопируйте утилиту в гостевую ОС и запустите ее с параметрами:

extpart.exe c: 1020

, где c: — имя раздела который необходимо расширить, 1020 – размер (в Мб), на который нужно расширить диск

Расщиряем системный диск утилитой extpart

Скачать утилиту ExtPart можно здесь (40 Кб).

Также вы можете расширить раздел на диске ВМ в офлайн режиме другими способами:

  • Можно загрузить виртуальную машину с любого livecd (например, GParted) и расширить раздел;
  • Подключить виртуальный vmdk к другой машине и увеличить раздел уже из нее;
  • С помощью утилиты VMware vCenter Converter можно сконвертировать ВМ в режиме переконфигурирования;
  • С помощью утилит типа Acronis/ Ghost перенести содержимое виртуального диска на новый диск нужного размера, растянув разделы.

Расширить диск виртуальной машины Linux

Теперь рассмотрим, как расширить диск если в виртуальной машине установлена гостевая ОС семейства Linux.

В первую очередь, нужно чтобы Linux увидела новое место на диске. Чтобы выполнить рескан, выполните команду:

$ echo 1>/sys/class/block/sdd/device/rescan

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

$ sudo cfdisk

В данном примере вижно, что на диске /dev/sda есть свободно место размером 2 Гб. Выберите раздел, который нужно расширить (/dev/sda3 в этом примере) и выберите в меню Resize.

cfdisk неразмеченная область в linux

Чтобы применить изменена к разделу, выберите Write.

расширить раздел в linux

В моем случае мне нужно расширить диск на виртуальной машине с Ubuntu 22.04 LTS. По умолчанию приустановке в этой версии Ubuntu используются тома LVM:

$ sudo lsblk

lsblk информация о дисках в linux

Для расширения тома на LVM нужно увеличить PV (Physical Volume):

$ sudo pvresize /dev/sda3

После этого можно расширить логической том (используем все доступно свободное пространство):

$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

lvextend - расширить логический LVM том в linux

Теперь нужно расширить файловую систему:

$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

Проверьте свободное место в Linux с помощью команды:

$ df -h

df -h свободное место в linux

Если у вас не используются LVM тома, можно использовать утилиту parted для расширения разделов в Linux:

$ sudo parted

Выведите сколько неразмеченного пространства свободно на диске:

print free

Видно, что Free Space = 2149MB

parted вывести свободное место

Чтобы увеличить раздел /dev/sda3, выполните:

resizepart 3

Укажите новый размер раздела (в данном примере нужно указать размер End из блока Free Space)

End? [21.5GB]? 23.6G

parted resizepart - увеличить раздел

Завершите сеанс parted:

quit

Осталось растянуть файловую систему (для файловых систем ext4, 3 и 2):

$ sudo resize2fs /dev/sda3

Итак, в данной статье мы разобрались в способах расширения виртуального жесткого диска в среде VMWare vSphere с гостевой ОС Windows и Linux. В отдельно статье мы описали, как уменьшить размер виртуального диска в VMware.

 


Предыдущая статья Следующая статья


Комментариев: 14 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)