KVM увеличение диска виртуальной машины
Бывает (часто бывает) нужно увеличить объем диска в виртуальной машине QEMU-KVM. Это конкретный пример для конкретных условий: 
Диск в виртуальной машине при разметке использует LVM и XFS
Смотрим имя виртуалки:
~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     test1                          running
 2     test2                          running
 3     test3                          running
Будем увеличивать для test2. Ее надо выключить.
~]# virsh shutdown test2
Domain test2 is being shutdown
Проверяем, что потухла
~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     test1                          running
 3     test3                          running

~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     test1                          running
 3     test3                          running
 -     test2                          shut off
Ищем какой диск используется
~]# virsh domblklist test2
Target     Source
------------------------------------------------
vda        /var/lib/libvirt/images/test2.qcow2
hda        -
Получаем, что диск виртуальной машины находится тут /var/lib/libvirt/images/test2.qcow2

Сейчас у него объем 10Gbyte
~]# qemu-img info /var/lib/libvirt/images/test2.qcow2
image: /var/lib/libvirt/images/test2.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 10G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
Добавлю ему еще 5Gb
~]# qemu-img resize /var/lib/libvirt/images/test2.qcow2 +5G
Image resized.

~]# qemu-img info /var/lib/libvirt/images/test2.qcow2
image: /var/lib/libvirt/images/test2.qcow2
file format: qcow2
virtual size: 15G (16106127360 bytes)
disk size: 10G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
Если есть снепшоты, то не получится сделать так. Сначала придется удалить их.
 
~]# virsh start test2
Domain test2 started
Заходим в виртуальную машину, смотрим диски
~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                11:0    1 1024M  0 rom  
vda               252:0    0   15G  0 disk 
|-vda1            252:1    0    1G  0 part /boot
`-vda2            252:2    0    9G  0 part 
  |-cs_test2-root 253:0    0    8G  0 lvm  /
  `-cs_test2-swap 253:1    0    1G  0 lvm  [SWAP]
Система стоит на /dev/vda2
~]# pvs
  PV         VG        Fmt   Attr  PSize   PFree
  /dev/vda2  cs_test2  lvm2  a--   <9.00g    0
Есть такая утилита - growpart, поставить можно так
~]# yum -y install cloud-utils-growpart
или так
~]# apt install cloud-guest-utils
Увеличиваем размер партиции
~]# growpart /dev/vda 2
CHANGED: partition=2 start=2099200 old: size=18872320 end=20971520 new: size=29358047 end=31457247

~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                11:0    1 1024M  0 rom  
vda               252:0    0   15G  0 disk 
|-vda1            252:1    0    1G  0 part /boot
`-vda2            252:2    0   14G  0 part 
  |-cs_test2-root 253:0    0    8G  0 lvm  /
  `-cs_test2-swap 253:1    0    1G  0 lvm  [SWAP]
Увеличиваем размер раздела
~]# pvresize /dev/vda2
  Physical volume "/dev/vda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Проверяем размер группы
~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  cs_test2   1   2   0 wz--n- <14.00g 5.00g
И параметры разделов
~]# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  970M     0  970M   0% /dev
tmpfs                     tmpfs     989M     0  989M   0% /dev/shm
tmpfs                     tmpfs     989M  8.6M  980M   1% /run
tmpfs                     tmpfs     989M     0  989M   0% /sys/fs/cgroup
/dev/mapper/cs_test2-root xfs       8.0G  5.0G  3.1G  62% /
/dev/vda1                 xfs      1014M  220M  795M  22% /boot
tmpfs                     tmpfs     198M     0  198M   0% /run/user/0
Увеличиваем нужный раздел
~]# lvextend -r -l +100%FREE /dev/cs_test2/root
  Size of logical volume cs_test2/root changed from <8.00 GiB (2047 extents) to <13.00 GiB (3327 extents).
  Logical volume cs_test2/root successfully resized.
meta-data=/dev/mapper/cs_test2-root isize=512    agcount=4, agsize=524032 blks
         =                          sectsz=512   attr=2, projid32bit=1
         =                          crc=1        finobt=1, sparse=1, rmapbt=0
         =                          reflink=1    bigtime=0 inobtcount=0
data     =                          bsize=4096   blocks=2096128, imaxpct=25
         =                          sunit=0      swidth=0 blks
naming   =version 2                 bsize=4096   ascii-ci=0, ftype=1
log      =internal log              bsize=4096   blocks=2560, version=2
         =                          sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                      extsz=4096   blocks=0, rtextents=0
data blocks changed from 2096128 to 3406848
Сравниваем с тем, что было
~]# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  970M     0  970M   0% /dev
tmpfs                     tmpfs     989M     0  989M   0% /dev/shm
tmpfs                     tmpfs     989M  8.6M  980M   1% /run
tmpfs                     tmpfs     989M     0  989M   0% /sys/fs/cgroup
/dev/mapper/cs_test2-root xfs        13G  5.0G  8.1G  39% /
/dev/vda1                 xfs      1014M  220M  795M  22% /boot
tmpfs                     tmpfs     198M     0  198M   0% /run/user/0
Было 8Gbyte, стало 13Gbyte
Ви маєте увійти під своїм обліковим записом

loading