Виртуальные машины в VMware ESXi позволяют гибко управлять ресурсами, включая расширение дисков при нехватке места. В этой статье мы подробно разберем процесс увеличения размера виртуального диска (VMDK) в VMware vSphere и последующее расширение разделов в гостевых ОС Windows и Linux (на примере Ubuntu). Рассмотрим ограничения, подготовку и методы выполнения задачи как с использованием графического интерфейса, так и через PowerShell.
Ограничения при увеличении размера диска в VMware
Перед расширением диска виртуальной машины учтите следующие ограничения:
1. Наличие снимков (snapshots) блокирует расширение диска. Удалите все снимки перед началом.
2. Онлайн-расширение поддерживается только для дисков, подключенных через контроллеры SCSI или NVMe. Для дисков IDE потребуется выключить ВМ.
3. Виртуальные машины типа Linked Clone (например, в VMware Horizon) не поддерживают расширение.
4. Если в консоли vSphere отображается предупреждение Virtual Machine disks consolidation is needed, выполните консолидацию дисков.
5. Для онлайн-расширения в гостевой ОС должны быть установлены VMware Tools. Без них появится ошибка:
The attempted operation cannot be performed in the current state (Powered on).
Процесс состоит из двух этапов:
1. Увеличение размера VMDK в настройках ВМ через vSphere или PowerCLI.
2. Расширение раздела в гостевой ОС (Windows или Linux).
Увеличение размера виртуального диска (VMDK) в VMware
Предположим, у вашей виртуальной машины есть диск размером 40 ГБ, который нужно увеличить до 50 ГБ.
Через vSphere Client
1. Подключитесь к серверу vCenter или ESXi через vSphere Client.
2. Найдите нужную виртуальную машину, выберите Действия -> Изменить настройки.
3. В разделе Жесткий диск 1 (или другой целевой диск) укажите новый размер (например, 50 ГБ).
4. Проверьте максимальный размер диска, указанный в поле Максимальный размер, зависящий от типа хранилища (VMFS, NFS, vSAN).
5. Сохраните изменения.
Через PowerCLI
Альтернативный способ — использование модуля VMware PowerCLI:
1. Установите PowerCLI на свой компьютер:
Install-Module -Name VMware.PowerCLI
2. Подключитесь к vCenter или ESXi:
Connect-VIServer hostname
3. Увеличьте размер диска (например, для ВМ VMTest1, диск Hard Disk 2):
Get-HardDisk -VM "VMTest1" | Where {$_.Name -eq "Hard Disk 2"} | Set-HardDisk -CapacityGB 50 -ResizeGuestPartition -Confirm:$false
4. Завершите сессию:
Disconnect-VIServer -Confirm:$false
Расширение диска в гостевой ОС Windows
После увеличения VMDK необходимо расширить раздел в Windows.
1. Откройте Управление компьютером -> Управление дисками. Или введите diskmgmt.msc
2. Выполните повторное сканирование дисков:
Действие -> Повторное сканирование дисков
3. Найдите неразмеченное пространство (Unallocated) на диске.
4. Щелкните правой кнопкой мыши на раздел (например, C:) и выберите Расширить том.
5. Укажите объем нового пространства в МБ и завершите процесс.
Ожидаемый результат:
Том успешно расширен.
Проблема с разделом восстановления
Если после системного раздела C: находится раздел Windows Recovery Environment, опция Расширить том будет неактивна:
Опция "Расширить том" неактивна из-за раздела восстановления.
Решение:
— Удалите или переместите раздел восстановления в конец диска (см. документацию Microsoft).
— Используйте сторонние утилиты, такие как GParted, загрузившись с LiveCD.
Расширение в Windows XP/Server 2003
Эти версии не поддерживают онлайн-расширение системного раздела C:. Используйте утилиту ExtPart от Dell:
1. Скачайте ExtPart (размер ~40 КБ) и скопируйте в гостевую ОС.
2. Выполните команду:
extpart.exe c: 1020
Где c: — раздел, 1020 — размер расширения в МБ.
Офлайн-методы
Если онлайн-расширение невозможно:
— Загрузите ВМ с LiveCD (например, GParted) и расширьте раздел.
— Подключите VMDK к другой ВМ и выполните расширение.
— Используйте VMware vCenter Converter для переконфигурирования ВМ.
— Перенесите данные на новый диск с помощью утилит, таких как Acronis или Ghost.
Расширение диска в гостевой ОС Linux (Ubuntu)
Для Linux (на примере Ubuntu 22.04 LTS) процесс зависит от использования LVM или стандартных разделов.
Обновление информации о диске
1. Выполните повторное сканирование диска:
echo 1 > /sys/class/block/sda/device/rescan
2. Проверьте доступное пространство:
sudo cfdisk
Ожидаемый вывод:
Free space: 2 GB on /dev/sda
3. Выберите раздел (например, /dev/sda3), нажмите Resize и Write для сохранения.
Расширение LVM-тома
Если используется LVM:
1. Проверьте структуру дисков:
sudo lsblk
Ожидаемый вывод:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 1G 0 part [SWAP] └─sda3 8:3 0 48G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 46G 0 lvm /
2. Увеличьте физический том (PV):
sudo pvresize /dev/sda3
3. Расширьте логический том (LV):
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
4. Расширьте файловую систему:
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
5. Проверьте свободное место:
df -h
Ожидаемый вывод:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 48G 5.0G 43G 11% /
Расширение без LVM
Для стандартных разделов используйте parted:
1. Запустите утилиту:
sudo parted
2. Проверьте свободное место:
print free
Ожидаемый вывод:
Free Space = 2149MB
3. Увеличьте раздел (например, /dev/sda3):
resizepart 3 23.6G
4. Завершите работу с parted:
quit
5. Расширьте файловую систему (ext4, ext3, ext2):
sudo resize2fs /dev/sda3
Увеличение размера диска виртуальной машины в VMware ESXi — это двухэтапный процесс: расширение VMDK через vSphere Client или PowerCLI и настройка разделов в гостевой ОС. Для Windows используйте Управление дисками или ExtPart для старых версий, для Linux — LVM или parted. Убедитесь, что выполнены все предварительные условия, включая удаление снимков и установку VMware Tools, чтобы избежать ошибок.