Aumentando disco de máquina virtual com KVM

Imagine a seguinte situação: Você tem várias máquinas virtual instaladas em um servidor usando KVM. Uma delas acabou atingindo 100% de disco e você precisa aumentar esse disco. E agora?

Primeiro vamos definir alguns nomes aqui para facilitar o tutorial. Chamaremos de kvm-server a máquina onde o kvm e as máquinas virtuais estão. E de guest-vm a máquina virtual que vamos aumentar o disco.

Encontrando a imagem

Primeiro vamos encontrar a imagem que vamos aumentar, na máquina que o KVM:
root@kvm-server $ virsh vol-list --pool default | grep guest-vm
guest-vm /path/to/guest-vm.img

Desligando máquina virtual

Faça um acesso na guest-vm e desligue-a.
root@guest-vm $ poweroff

Aumentando disco

No kvm-server use o seguinte comando para aumentar o disco:
root@kvm-server $ qemu-img resize /path/to/guest-vm.img +10G
Neste exemplo aumentamos o disco em mais 10GB.

Redimensionando disco na máquina virtual

Hora de ligar a máquina virtual e redimensionar seu disco.
root@kvm-server $ virsh -c qemu:///system start guest-vm

Acessando a guest-vm via ssh, faça o redimensionamento usando o parted e resize2fs.
root@guest-vm $ parted
GNU Parted 2.3
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 20.0GB 20.0GB primary ext4 boot
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 20.0GB 20.0GB primary ext4 boot
(parted) resizepart
Partition number? 1
End? [20.0GB]? 32200

Verifique o resultado

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot

Feito isto, vamos ao último passo:

root@guest-vm $ resize2fs /dev/vda1
Onde /dev/vda1 é o disco que será redimensionado.

Pronto! Rode o comando:

root@guest-vm $ df -h /
Para verificar seu disco redimensionado.