IMPORTANTE: É NECESSÁRIO FAZER UM BACKUP DA IMAGEM ANTES DE REALIZAR ESSE PROCEDIMENTO
Método indicado:Passo #1: Expandir o disco com o tamanho extra necessário.
qemu-img resize (imagem) +4G
Exemplo:
qemu-img resize /home/data/vm_images/urn:publicid:IDN+ch.fibre.org.br:2f98cb4d+slice+10830630:p1.img +4G
Passo #2: Refazer o particionamento
Após o disco ser expandido, é necessário acessar a máquina e refazer o particionamento da mesma.
Dentro da máquina, será necessário fazer o uso do fdisk.
Liste as partições com o comando 'p':
root@p1:/root# fdisk /dev/xvda Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/xvda: 8 GiB, 8589934592 bytes, 16777216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9ba489dc Device Boot Start End Sectors Size Id Type /dev/xvda1 2048 7813119 7811072 3.7G 83 Linux /dev/xvda2 7815166 8386559 571394 279M 5 Extended /dev/xvda5 7815168 8386559 571392 279M 82 Linux swap / Solaris
Delete a partição que deve ser aumenta com o comando 'd':
Command (m for help): d Partition number (1,2,5, default 5): 1 Partition 1 has been deleted.
Crie uma nova partição com o comando 'n':
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-16777215, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215): +7G Created a new partition 1 of type 'Linux' and of size 7 GiB.
Caso seja necessário recriar a partição de SWAP por conta da ordenação dos blocos, o código desta é 82.
Exemplo:
Command (m for help): t Partition number (1,2,5, default 5): 5 Partition type (type L to list all types): 82
Realizada as configurações necessários no particionamento, é necessário reiniciar a máquina para que as mesmas tomem efeito.
Passo #3: Redimensionamento do filesystem
Refeito o particionamento, é necessário redimensionar o filesystem da seguinte forma.
Comando:
resize2fs (bloco)
Exemplo:
root@p1:/home/ufg-team# resize2fs /dev/xvda1 resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/xvda1 is now 1835008 (4k) blocks long.
Caso não saiba qual é o partição que deve ser aumentada, é possível descobrir usando o comando:
fdisk -l
Exemplo:
root@p1:/home/ufg-team# fdisk -l Disk /dev/xvda: 8 GiB, 8589934592 bytes, 16777216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9ba489dc Device Boot Start End Sectors Size Id Type /dev/xvda1 2048 14682111 14680064 7G 83 Linux /dev/xvda2 14682112 15255551 573440 280M 5 Extended /dev/xvda5 14684160 15255551 571392 279M 82 Linux swap / Solaris
Passo #4: Validando o procedimento
Para validar o redimensionamento é possível fazer isso fazendo uso do comando:
df -h
Exemplo:
root@p1:/home/ufg-team# df -h Filesystem Size Used Avail Use% Mounted on udev 945M 4.0K 945M 1% /dev tmpfs 200M 532K 199M 1% /run /dev/xvda1 6.9G 3.4G 3.2G 52% / none 4.0K 0 4.0K 0% /sys/fs/cgroup cgmfs 100K 0 100K 0% /run/cgmanager/fs none 5.0M 0 5.0M 0% /run/lock none 997M 0 997M 0% /run/shm none 100M 0 100M 0% /run/user tmpfs 100K 0 100K 0% /var/lib/lxd/shmounts tmpfs 100K 0 100K 0% /var/lib/lxd/devlxd tmpfs 200M 0 200M 0% /run/user/1000
Fonte: https://sandilands.info/sgordon/increasing-kvm-virtual-machine-disk-using-lvm-ext4