Veja como aumentar volume LVM com lvextend, usando espaço livre ou disco novo, e expandir ext4 ou XFS sem desligar o servidor. Inclui thin pool do Proxmox.

Para que serve

O LVM (Logical Volume Manager) separa o espaço físico dos discos dos volumes que o sistema usa. Com ele você aumenta uma partição de dados ou a raiz do sistema com o servidor ligado, usando espaço livre que já existe ou um disco novo. O Proxmox VE, quando instalado em ext4/XFS, usa LVM por padrão: o grupo pve contém o volume root (sistema), o swap e o data (um thin pool onde ficam os discos das VMs). A seguir, veja como aumentar volume LVM nos quatro cenários mais comuns.

Pré-requisitos

  • Acesso root.
  • Backup recente. Aumentar volumes é uma operação segura, mas um comando no disco errado não tem volta.
  • Saber qual sistema de arquivos está em uso (df -hT): ext4 e XFS podem ser aumentados online. XFS não pode ser reduzido.

Entendendo as três camadas

CamadaO que éComando para ver
PV (volume físico)Disco, partição ou array RAID entregue ao LVMpvs
VG (grupo de volumes)A soma do espaço dos PVsvgs
LV (volume lógico)O "disco virtual" que recebe o sistema de arquivoslvs

Comece sempre olhando o cenário completo:

lsblk
pvs
vgs
lvs
df -hT

Na saída de vgs, a coluna VFree mostra o espaço do grupo que ainda não foi entregue a nenhum volume.

Passo a passo para aumentar volume LVM

Cenário A: o grupo já tem espaço livre

Se VFree for suficiente, basta aumentar o volume. A opção -r (--resizefs) aumenta também o sistema de arquivos no mesmo comando, seja ext4 ou XFS:

# somar 50 GiB ao volume
lvextend -r -L +50G /dev/pve/root

# ou usar todo o espaço livre do grupo
lvextend -r -l +100%FREE /dev/vg0/dados

Se você esqueceu o -r, aumente o sistema de arquivos à parte: resize2fs /dev/vg0/dados para ext4 ou xfs_growfs /ponto/de/montagem para XFS.

Cenário B: adicionar um disco novo ao grupo

Supondo que o disco novo seja /dev/nvme1n1 e esteja vazio (confira com lsblk e wipefs -n /dev/nvme1n1, que apenas lista assinaturas sem apagar):

pvcreate /dev/nvme1n1
vgextend vg0 /dev/nvme1n1
lvextend -r -l +100%FREE /dev/vg0/dados
Cuidado ao juntar discos sem redundância: um volume que se estende por dois discos fica dependente dos dois. Se qualquer um falhar, você perde o volume inteiro. Em servidores com dois NVMe, prefira montar um espelho (RAID 1 com mdadm ou ZFS mirror) e entregar o espelho ao LVM.

Cenário C: a partição ou o array por baixo cresceu

Acontece, por exemplo, depois de trocar os discos de um RAID por modelos maiores ou ao aumentar o disco de uma VM. Primeiro aumente a partição, depois o PV, e só então o LV:

apt install cloud-guest-utils     # fornece o growpart
growpart /dev/sda 3               # aumenta a partição 3 até o fim do disco
pvresize /dev/sda3
lvextend -r -l +100%FREE /dev/vg0/dados

Se o PV for um array mdadm que recebeu discos maiores, use mdadm --grow /dev/md1 --size=max antes do pvresize /dev/md1.

Cenário D: Proxmox, aumentar o thin pool das VMs

O volume pve/data é um thin pool. Ele não tem sistema de arquivos; aumenta-se com lvextend sem -r. Aproveite para aumentar também a área de metadados, que, se encher, trava as VMs:

lvextend -L +200G pve/data
lvextend --poolmetadatasize +1G pve/data

Como saber se funcionou

lvs
df -hT /ponto/de/montagem

O tamanho do LV e o tamanho mostrado pelo df devem ter aumentado. No Proxmox, confira também em Datacenter > nó > Disks > LVM-Thin.

Problemas comuns

  • Insufficient free space: o grupo não tem espaço livre. Confira vgs e use o cenário B ou C.
  • O df não mudou: o sistema de arquivos não foi aumentado. Rode resize2fs (ext4) ou xfs_growfs (XFS) conforme indicado acima.
  • Thin pool acima de 80–90% (coluna Data% no lvs): trate como urgente. Um thin pool cheio deixa as VMs com erro de escrita e pode corromper dados. Aumente o pool ou libere espaço (apague snapshots e discos que não usa).
  • Precisa reduzir um volume: XFS não reduz. Em ext4 é possível, mas somente com o volume desmontado e com risco; a forma segura é criar um volume novo, copiar os dados e apagar o antigo.
  • Disco novo não aparece no lsblk: confirme no ticket se ele foi instalado. Em alguns casos é preciso reiniciar ou reescanear o barramento.

Se o servidor usa ZFS em vez de LVM-thin para as VMs, veja também o artigo «ZFS ou LVM-thin no Proxmox: como configurar o armazenamento das VMs nos NVMe».

Perguntas frequentes

Dá para aumentar volume LVM sem reiniciar o servidor?

Sim. Com ext4 ou XFS, o lvextend -r aumenta o volume e o sistema de arquivos com tudo montado e em uso, sem reinício.

Qual a diferença entre lvextend -L e -l?

O -L recebe um tamanho (por exemplo +50G); o -l recebe extents ou porcentagens, como +100%FREE para usar todo o espaço livre do grupo.

Posso reduzir um volume LVM depois?

Em XFS, não. Em ext4 é possível, mas só com o volume desmontado e com risco; o caminho seguro é criar um volume menor, copiar os dados e apagar o antigo.

O que acontece se o thin pool do Proxmox encher?

As VMs passam a receber erro de escrita e podem corromper dados. Acompanhe a coluna Data% do lvs e aumente o pool antes de chegar a 80–90%.

Leitura complementar

Precisa de ajuda?

Se precisar de mais espaço físico no servidor ou tiver dúvidas sobre o layout atual dos discos, abra um ticket com a saída de lsblk, pvs, vgs e lvs.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também