Voltar para todos os tutoriais
Proxmox 03 de junho de 2026

Como recuperar espaço em disco de Máquinas Virtuais no Proxmox VE (utilizando fstrim e discard)

Guia passo a passo para habilitar e configurar o descarte de blocos (discard) e o comando fstrim em Máquinas Virtuais no Proxmox VE, liberando espaço não utilizado do storage SSD/NVMe.

Como recuperar espaço em disco de Máquinas Virtuais no Proxmox VE (utilizando fstrim e discard)

Se a sua empresa utiliza o Proxmox VE para gerenciar a infraestrutura de servidores virtuais, é muito provável que você já tenha se deparado com o “mistério do espaço fantasma”.

Você acessa uma Máquina Virtual (seja Linux ou Windows), deleta arquivos antigos, limpa logs ou desinstala aplicações pesadas, liberando, por exemplo, 50 GB de espaço interno no sistema de arquivos. No entanto, ao olhar o painel administrativo do Proxmox ou monitorar o storage físico (SSD, NVMe ou SAN), o espaço ocupado pelo disco virtual daquela VM permanece exatamente o mesmo, sem reduzir sequer um único megabyte.

Com o tempo, esse comportamento faz com que os seus storages de provisionamento fino (Thin Provisioning) fiquem saturados, podendo causar o congelamento de todas as VMs em execução devido à falta de espaço físico.

Neste tutorial passo a passo, você aprenderá como configurar a opção Discard no Proxmox VE e rodar o utilitário fstrim dentro das máquinas virtuais para recuperar o espaço em disco deletado, mantendo seus storages otimizados e seguros.


Por que o Proxmox não libera o espaço automaticamente?

Em ambientes físicos, quando um arquivo é deletado, o sistema operacional apenas marca aqueles blocos do disco como “disponíveis para gravação”, mas não os preenche com zeros imediatamente.

Em ambientes virtuais, quando você usa discos com provisionamento fino (como LVM-Thin, ZFS, Ceph ou arquivos QCOW2), o hipervisor aloca blocos sob demanda à medida que a VM grava novos dados. Porém, quando você deleta um arquivo dentro da VM, o sistema operacional convidado (Guest OS) sabe que os blocos estão livres, mas o hipervisor (Proxmox/QEMU) no nível físico não recebe essa informação. Para o Proxmox, aqueles blocos continuam contendo dados válidos.

Para resolver isso, é necessário usar o comando TRIM (para SSDs/NVMes virtuais) ou o comando SCSI UNMAP, que avisa ao Proxmox que determinados blocos de dados não são mais necessários e podem ser devolvidos ao pool de armazenamento físico.


Pré-requisitos para a Otimização de Espaço

Para que a recuperação de espaço funcione, a sua infraestrutura precisa cumprir os seguintes requisitos:

  1. Storage com suporte a Thin Provisioning: LVM-Thin, ZFS, Ceph (RBD), QCOW2 ou diretórios com suporte a sparse files. (Storages do tipo LVM tradicional/thick ou partições EXT4 cruas sem sparse files não permitem devolução de espaço).
  2. Controladora de Disco VirtIO SCSI: A VM deve usar o driver de disco VirtIO SCSI (ou VirtIO SCSI Single), pois as controladoras antigas IDE e SATA virtuais não suportam o comando TRIM/UNMAP.
  3. QEMU Guest Agent Instalado: O agente do Proxmox deve estar rodando na VM para coordenar a limpeza e congelamento de arquivos se necessário.

Passo 1: Configurando o Disco Virtual no Proxmox VE

Antes de rodar qualquer comando na VM, precisamos habilitar o suporte físico ao descarte de blocos nas configurações de hardware do Proxmox.

  1. Acesse a interface web do Proxmox VE.
  2. Selecione a VM desejada no menu lateral esquerdo.
  3. Certifique-se de que a VM está desligada (algumas alterações de controladora exigem um reboot a frio).
  4. Vá na aba Hardware.
  5. Selecione o disco virtual (ex: Hard Disk (scsi0)) e clique em Edit.
  6. Marque a opção Discard (Ativar Descarte).
  7. Opcional (mas altamente recomendado): Certifique-se de que a controladora em SCSI Controller (na mesma aba Hardware) esteja configurada como VirtIO SCSI ou VirtIO SCSI Single. Se o seu disco estiver configurado como SATA ou IDE, você precisará desanexá-lo (Detach) e reanexá-lo (Add) como SCSI para que o TRIM funcione.
  8. Ligue a VM.
+-------------------------------------------------------------+
| Proxmox VE - VM Hardware Settings                           |
|-------------------------------------------------------------|
| SCSI Controller: VirtIO SCSI Single                         |
| Hard Disk (scsi0): local-lvm:vm-100-disk-0, size=100G       |
|   -> [x] Discard  (ENABLED)                                 |
|   -> [x] SSD Emulation (ENABLED - Opcional)                 |
+-------------------------------------------------------------+

Passo 2: Configurando o Sistema Convidado (Guest OS)

Com o hardware configurado para passar os comandos de descarte adiante, precisamos rodar a limpeza dentro do sistema operacional da VM.

Caso A: Máquinas Virtuais Linux (Ubuntu, Debian, CentOS, etc.)

No Linux, o utilitário responsável por disparar o descarte de blocos é o fstrim.

  1. Acesse o terminal da sua VM Linux via SSH ou console.

  2. Execute o comando abaixo manualmente para testar e ver quanto espaço pode ser recuperado imediatamente:

    sudo fstrim -av
    

    A saída do comando mostrará algo como:

    /boot: 120 MiB (125829120 bytes) trimmed on /dev/sda1
    /: 45.3 GiB (48640827392 bytes) trimmed on /dev/mapper/ubuntu--vg-ubuntu--lv
    

    Neste exemplo, 45.3 GB de espaço físico foram instantaneamente devolvidos ao storage do Proxmox!

  3. Para evitar ter que rodar esse comando manualmente, habilite o serviço de agendamento automático do systemd que executa a limpeza semanalmente:

    sudo systemctl enable --now fstrim.timer
    
  4. Verifique o status do timer com o comando:

    sudo systemctl status fstrim.timer
    

Caso B: Máquinas Virtuais Windows (Windows Server ou Windows 10/11)

No ecossistema Windows, o processo de descarte é chamado de “Otimização de Unidade”.

  1. Abra a VM Windows e faça login como Administrador.
  2. Abra o menu Iniciar e digite Desfragmentar e Otimizar Unidades.
  3. Selecione o disco do sistema (geralmente C:) e clique no botão Otimizar (Optimize).
  4. O Windows identificará o disco como um SSD virtual (se a opção SSD Emulation estiver marcada no hardware do Proxmox) ou executará um comando de otimização de provisionamento fino, liberando o espaço de imediato.
  5. Alternativamente, você pode disparar a limpeza via PowerShell como administrador:
    Optimize-Volume -DriveLetter C -Defrag -Verbose
    

Erros Comuns e Resolução de Problemas

  • Comando fstrim reporta “discard not supported”: Este erro ocorre quando o disco da VM foi adicionado usando uma controladora que não suporta comandos SCSI UNMAP (como IDE ou SATA tradicionais) ou quando o hardware físico do seu storage (ex: controladoras RAID antigas em servidores host) não repassa comandos TRIM. Certifique-se de alterar o barramento do disco para SCSI no Proxmox e marcar o checkbox Discard.
  • A VM congela ou perde performance durante o fstrim: Executar o descarte de blocos em discos muito grandes ou storages lentos (como HDs mecânicos sob ZFS sem cache SSD) pode gerar picos severos de I/O Delay (latência de disco). Para evitar lentidão na produção, evite usar a opção discard do tipo continuous (montar sistemas de arquivos Linux com a opção discard no /etc/fstab). Em vez disso, use o fstrim.timer semanal para rodar em horários de baixo uso (madrugadas).
  • O espaço no Proxmox não diminui mesmo após o fstrim terminar com sucesso: Se você estiver usando snapshots na VM, o Proxmox manterá todos os blocos históricos salvos para garantir que você possa reverter o estado da máquina. O espaço físico real no storage só será efetivamente liberado após você deletar os snapshots antigos da VM.

Checklist de Saúde e Otimização de Storage Proxmox

Monitore periodicamente os storages físicos para evitar saturação:

  • A controladora de disco de todas as VMs críticas está configurada como VirtIO SCSI ou VirtIO SCSI Single?
  • A opção Discard está ativada nas propriedades de hardware de cada disco virtual?
  • O QEMU Guest Agent está instalado e em execução no sistema operacional das VMs?
  • O serviço fstrim.timer está ativo e programado nas VMs Linux?
  • A tarefa de otimização automática de drives está ativada nas VMs Windows?
  • Snapshots antigos e desnecessários foram removidos para permitir a consolidação de blocos?
  • O recurso de Thin Provisioning está ativado no pool de storage do Proxmox (local-lvm ou pools ZFS)?

Como a WL Tech pode ajudar a otimizar sua infraestrutura de servidores

Manter storages de virtualização saudáveis e com alta performance exige monitoramento constante de latência, I/O Delay e provisionamento correto de recursos. A perda de controle sobre o consumo físico de blocos pode levar a paradas inesperadas e corrupção de sistemas de arquivos em momentos críticos.

A equipe de engenharia da WL Tech realiza auditorias completas de desempenho e arquitetura em ambientes Proxmox VE e VMware ESXi. Configuramos políticas de provisionamento seguro, ajustamos storages de alta performance baseados em ZFS e Ceph, estruturamos cache SSD e automatizamos rotinas de descarte e manutenção de espaço nas suas máquinas virtuais. Garantimos que sua empresa aproveite 100% da capacidade do hardware investido com segurança e resiliência.


Seus servidores virtuais estão consumindo muito espaço em disco ou apresentando lentidão? A WL Tech realiza o diagnóstico, otimização e reestruturação completa do seu ambiente Proxmox. Solicite um diagnóstico técnico gratuito ou fale com nossos especialistas no WhatsApp.

Tags: Proxmox VE thin provisioning fstrim discard virtualização KVM LVM-thin

Atendimento WL Tech

Online • Resposta imediata