Рассмотрим как увеличить диск qemu kvm на примере с гостевой системой Windows, образ машины имеет формат qcow2 и называется win10.qcow2.
Алгоритм применим для любого диска, независимо от гостевой операционной системы.
Если образ изначально в формате raw его можно конвертировать в qcow2
Как увеличить диск qemu kvm с помощью virsh
Будем увеличивать диск машины с 40 Гб до 50 Гб. Перед выполнением этой операции нужно убедиться в том, что в пуле для машин и на хост машине в целом есть в достаточном количестве свободное место.
Посмотреть текущий объем диска можно так
qemu-img info /var/lib/libvirt/images/win10.qcow2
image: win10.qcow2 file format: qcow2 virtual size: 40 GiB (53687091200 bytes) disk size: 40.3 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: true refcount bits: 16 corrupt: false extended l2: false
Если диск уже подключён к виртуальной машине — машина должна быть выключена, иначе утилита отчета предоставить не сможет.
VM останавливается через virsh stop VMname
virsh stop win10
Проверяем статус, убеждаемся в том, что машина выключена
virsh list --all | grep win10
23 win10 stopped
Диск увеличиваем так
virsh blockresize /var/lib/libvirt/images/win10.qcow2 50G
Аналоги последней команды
virsh blockresize win10 50G
virsh blockresize win10 --size 50G
virsh, таким образом, может принимать и полный путь к файлу диска виртуальной машины и имя домена (машины).
Просмотреть результат можно также через qemu-img info , fdisk пока не покажет изменений
fdisk -l /var/lib/libvirt/images/win10.qcow2
Дополнительно нужен truncate
truncate -s +10G /var/lib/libvirt/images/win10.qcow2
После него можно проверять
fdisk -l /var/lib/libvirt/images/win10.qcow2
image: win10.qcow2 file format: qcow2 virtual size: 50 GiB (53687091200 bytes) disk size: 40.3 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: true refcount bits: 16 corrupt: false extended l2: false
Задача состоявшая в том чтобы увеличить диск qemu на этом выполнена.
Останется изменить объем файловой системы внутри машины, в гостевой системе.
В Linux это resize2fs, в случае с Windows нужно использовать стандартный инструмент редактирования дисков.
Читайте про редактирование параметров виртуальных машин KVM, таких как лимит по оперативной памяти.