Categories: PowerShellVMware

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

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

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

  • Если у ВМ есть сохраненные снимки (снапшоты), вы не сможете расширить диск. Все снапшоты придется удалить;
  • Если На лету можно расширить только диски, подключенные через виртуальный SCSI или NVMe контроллер (если диск подключен через IDE, виртуальную машину придется сначала выключить);
  • Расширение не поддерживается для ВМ типа Linked Clone (Vmware Horizont);
  • Если в панели ВМ указано предупреждение ‘Virtual Machine disks consolidation is needed’ , выполните консолидацию дисков виртуальной машины ;
  • Онлайн расширение дисков виртуальных машин (без выключения) поддерживается, если в гостевой ОС установлены VMware Tools , Если VMTools не установлены, после изменения диска появится ошибка:
    Task name_x000D_Reconfigure virtual machine_x000D_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 );
  3. Найдите виртуальный диск, который нужно расширить. В этом примере у ВМ есть только один Hard Disk 1 размером 40 Гб. Укажите новый размер диска в этом поле и сохраните настройки. Обратите внимание, что максимальный размер диска, доступный для данного хранилища (VMFS, NFS, vSAN) указан в поле Maximum size;

Также вы можете расширить 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

Вы можете воспользоваться командлетом 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 .

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

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

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

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

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

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

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

extpart.exe c: 1020

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

Скачать утилиту 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 .

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

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

$ sudo lsblk

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

$ sudo pvresize /dev/sda3

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

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

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

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

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

$ df -h

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

$ sudo parted

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

print free

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

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

resizepart 3

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

End? [21.5GB]? 23.6G

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

quit

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

$ sudo resize2fs /dev/sda3

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

admin

Share
Published by
admin

Recent Posts

Лучшие дистрибутивы Linux

Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…

6 дней ago

Лучшие браузеры для Ubuntu

Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…

6 дней ago

Установка Remmina Ubuntu 16.04 или 16.10

Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…

6 дней ago

Плюсы Ubuntu

Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…

6 дней ago

Выбираем ноутбук для Linux

Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…

6 дней ago

Установка Linux рядом с Windows 10

Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…

6 дней ago