Если на диске виртуальной машины Proxmox заканчивается свободное место, его можно расширить. В большинстве случае увеличить размер виртуального диска можно на лету, без остановки виртуальной машины (у ВМ не должно быть снапшотов).
- Откройте веб интерфейс PVE, выберите виртуальную машину и перейдите на вкладку Hardware.
- Выберите ваш диск: hard disk (scsi0) в моем примере.
- Здесь видно, что диск хранится в хранилище datastore2, тип диска qcow2, размер 40 Гб, имя файла диска vm-152-disk-1.qcow2, идентификатор VM ID – 152.
Проверьте, что на хранилище, на котором находится диск виртуальной машины достаточно свободного места:
# pvesm status
Вывести информацию о виртуальной машине по ее ID:
# qm config 152
Получить полный путь к файлу виртуального жесткого диска:
# pvesm path datastore2:152/vm-152-disk-1.qcow2
Чтобы узнать, сколько места фактически занимает в хранилище виртуальный диск, используйте команду:
# qemu-img info /mnt/pve/datastore2/images/152/vm-152-disk-1.qcow2
В этом примере фактический размер диска 19.5 Гб (disk size). При этом в виртуальной машине размер отображается как 40 Гб (virtual size).
Чтобы увеличить размер диска, выберите в верхнем меню Disk Action -> Resize
Укажите, на сколько Гб нужно расширить диск.
Можно изменить размер виртуального диска из консоли с помощью команды qm resize:
qm resize [VM_ID] [DISK_NAME] +[SIZE_INCREASE]G
Следующая команду увеличит размер диска на 10 Гб:
# qm resize 152 scsi0 +10G
Итак, вы увеличили размер виртуального диска в Proxmox, но гостевая операционная система еще не знает, что диск был увеличен. Нужно расширить раздел диска и файловую систему в гостевой ВМ.
Сначала рассмотрим, как увеличить размер диска в гостевой Windows (Установка гостевой Windows в виртуальную машину Proxmox) для увеличения размера раздела используется графическая оснастка Disk Management (
diskmgmt.msc
).
- Откройте на консоль виртуальной машины. Выполните вход в Windows и запустите консоль управления дисками
- Выберите Action -> Rescan Disks, чтобы обновить информацию о дисках
- В конце диска должно появится дополнительное место, которое вы добавили. Оно помечено черным цветом как Неразмеченное (Unallocated).
- Щелкните по разделу, который вы хотите расширить (он должен находится слева от неразмеченного пространства) и выберите Extend Volume.
- Выберите, на сколько вы хотите расширить раздел (укажите все доступное место)
- Нажмите Next -> Finish. Проверьте, что диск в Windows был успешно увеличен.
Пункт Расширить том будет недоступен, если между разделом, который вы хотите расширить и дополнительно добавленным местом есть другие разделы (как правило, это раздел восстановления Windows). По ссылке доступен подробный гайд для этого случая.
Увеличение размера виртуального диска в Linux.
Выведите информацию о свободном месте на разделах:
# df -h
В данном случае размер корневого раздела 12 Гб. Выполните следующую команду:
# dmesg | grep sda
sda: detected capacity change from xxxxx to xxxxx [sda] 512-byte logical blocks 35.0 GiB
Выведем информацию об устройствах и точках монтирования:
# lsblk
В данном случае у нас не используется LVM тома и нужно расширить корневой раздел sda1.
Для расширения раздела, если он не смонтирован удобно использовать утилиту parted (установите ее, если отсутствует). Формат команды увеличения раздела:
parted /dev/<DISK> resizepart <PARTITION_NUMBER> 100%
Если нужно расширить корневой раздел, запустите утилиту:
# cfdisk
На диске /dev/sda есть свободное место 20Gb. Выбираем раздел, который нужно расширить (у нас это sda1) и в меню нажимаем Resize. Увеличим его до максимального размера. Чтобы сохранить изменения, нужно выбрать в меню пункт Write.
После этого нужно расширить файловую систему (у нас это ext4):
# resize2fs /dev/sda1
Если у вас используются LVM тома, то для увеличения раздела будет использоваться такая последовательность.
Увеличить размер физического раздела утилитой:
# cfdisk
Сообщаем LVM, что физический раздел увеличен:
# pvresize /dev/sda3
Расширяем логический LVM том:
# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu—lv
Расширяем файловую систему:
# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv