Proxmox Storage: LVM-Thin vs ZFS Local - O Guia Definitivo de Performance e Trade-offs

      19 de dezembro de 2025 Julia M. Santos 9 min de leitura
      Proxmox Storage: LVM-Thin vs ZFS Local - O Guia Definitivo de Performance e Trade-offs

      Pare de adivinhar entre LVM-Thin e ZFS. Entenda a arquitetura de blocos, o impacto na RAM (ARC), métricas de IOPS e quando a complexidade do ZFS não paga a conta no Proxmox.

      Compartilhar:

      A escolha entre LVM-Thin e ZFS no Proxmox não é uma questão de preferência pessoal ou de qual logo é mais bonito. É uma decisão de engenharia pura sobre onde você quer pagar a conta: no hardware (comprando RAM e SSDs Enterprise) ou no risco operacional (bitrot e complexidade de backup).

      Se você frequenta fóruns, vai ouvir que "ZFS é o futuro" ou que "LVM é mais rápido". Ambos estão errados se não qualificarem o hardware subjacente. Como administrador de sistemas, seu trabalho é ignorar o hype e olhar para o caminho dos dados (data path). Vamos dissecar como esses dois gigantes lidam com seus bits, do momento em que a VM pede uma gravação até o elétron atingir o silício.

      O Veredito Rápido:

      LVM-Thin é uma tecnologia de provisionamento de bloco que delega o cache e a gestão de I/O para o Kernel Linux padrão, oferecendo performance bruta superior em hardware limitado (pouca RAM, SSDs consumer). ZFS Local é um sistema de arquivos e gerenciador de volume integrado que prioriza a integridade dos dados (checksumming) e funcionalidades avançadas (replicação, compressão), exigindo hardware robusto (ECC RAM, SSDs com PLP) para não penalizar a latência.


      A Ilusão da Escolha: Kernel Linux vs. Ecossistema Fechado

      Para entender a performance, você precisa entender quem está no comando.

      O LVM-Thin é, essencialmente, um mapeador. Ele diz ao Linux: "Pegue este bloco lógico e jogue naquele bloco físico". Ele é "burro" no bom sentido. Ele confia cegamente no Kernel Linux para gerenciar o cache de memória (Page Cache) e o agendamento de disco. Isso o torna extremamente leve.

      O ZFS, por outro lado, não confia em ninguém. Ele é quase um sistema operacional dentro do sistema operacional. Ele gerencia seu próprio cache (ARC), seu próprio agendamento de I/O e sua própria estrutura de transações.

      Fluxo de I/O e Cache: LVM-Thin aproveita o Page Cache nativo do Linux, enquanto o ZFS gerencia seu próprio cache (ARC), competindo por RAM com as VMs. Figura: Fluxo de I/O e Cache: LVM-Thin aproveita o Page Cache nativo do Linux, enquanto o ZFS gerencia seu próprio cache (ARC), competindo por RAM com as VMs.

      Isso cria a primeira grande distinção de performance no Proxmox:

      1. No LVM-Thin, se você tem RAM livre, o Linux a usa automaticamente para cache de disco. Se a VM precisa da RAM, o Linux libera o cache instantaneamente. É fluido.

      2. No ZFS, o ARC compete com suas VMs. Embora o ZFS possa liberar memória para o host, na prática, isso gera latência e pressão de memória, muitas vezes levando o OOM Killer (Out of Memory Killer) a agir se não for limitado manualmente.


      Anatomia do LVM-Thin no Proxmox: Velocidade e Riscos Ocultos

      O LVM-Thin brilha pela simplicidade. Ele permite criar volumes maiores que o disco físico (Overprovisioning) e suporta snapshots. Mas, diferentemente do LVM "gordo" (thick), ele sofre de fragmentação ao longo do tempo.

      Onde o LVM ganha a corrida

      Como ele utiliza o Page Cache nativo do Linux, operações de leitura repetidas são servidas na velocidade da RAM sem overhead de checksum (verificação de integridade). Para escritas, ele é menos "paranoico" que o ZFS. Se você usar SSDs baratos (Consumer Grade) que mentem sobre ter gravado os dados no disco, o LVM vai acreditar e entregar uma performance alta (até faltar luz e corromper o sistema de arquivos da VM).

      Onde o LVM falha (O Risco dos Metadados)

      O Thin Pool tem dois componentes: os dados e os metadados. Se o espaço de metadados encher, seu pool trava e entra em modo somente leitura ou corrompe.

      Comando de Sobrevivência: Nunca monitore apenas o espaço em disco. Monitore os metadados.

      # Verifique a coluna TMeta (Thin Metadata)
      lvs -a -o name,size,thin_count,tmeta_percent
      

      Se tmeta_percent passar de 80%, você está na zona de perigo. O Proxmox tenta expandir automaticamente, mas falhas acontecem.


      A Engenharia do ZFS Local: O Custo da Integridade

      O ZFS é um sistema Copy-on-Write (CoW) transacional. Isso significa que ele nunca sobrescreve dados antigos. Se você altera um arquivo, o ZFS grava o novo bloco em um espaço livre e, só depois de confirmar a gravação, atualiza o ponteiro de metadados.

      O Assassino de Performance: Write Amplification e Padding

      Aqui reside o maior erro de configuração no Proxmox. O ZFS trabalha com blocos de tamanho variável (recordsize para datasets, volblocksize para zvols/VMs).

      Se sua VM (ex: banco de dados MySQL) grava páginas de 16K, mas seu ZFS está configurado com volblocksize=8k, o ZFS terá que fazer duas operações. Pior ainda é o inverso ou desalinhamentos que geram "Padding" (preenchimento).

      O problema do 'Padding': Como o volblocksize do ZFS mal configurado pode duplicar o espaço ocupado e matar a performance em bancos de dados. Figura: O problema do 'Padding': Como o volblocksize do ZFS mal configurado pode duplicar o espaço ocupado e matar a performance em bancos de dados.

      Isso gera Amplificação de Escrita. Você pede para gravar 4K, o ZFS grava 8K ou 16K. Em SSDs, isso não só mata a performance (IOPS), como destrói a vida útil do drive (TBW - Terabytes Written).

      Checksumming e CPU

      Cada bloco lido ou gravado passa por um cálculo de hash (checksum). Isso garante que o dado lido é idêntico ao gravado, eliminando o "Bitrot" (degradação silenciosa de dados). O custo? CPU. Em processadores antigos, ativar compressão LZ4 + Checksum pode introduzir latência perceptível.


      Batalha de IOPS: Sync Writes e o Fator Hardware

      Aqui separamos os profissionais dos amadores. A maior reclamação sobre ZFS no Proxmox é: "Minha performance de escrita está horrível".

      A culpa geralmente não é do ZFS, mas da falta de entendimento sobre Escritas Síncronas (Sync Writes).

      Bancos de dados e sistemas de arquivos de VMs exigem confirmação de que o dado está seguro no disco (O_DIRECT / O_SYNC).

      1. LVM-Thin: Repassa o comando ao disco. Se o disco for um SSD consumer barato, ele joga na RAM interna dele, diz "gravei" e termina rápido. É rápido, mas inseguro em falhas de energia.

      2. ZFS: Joga o dado no ZIL (ZFS Intent Log). Se você não tiver um dispositivo de log separado (SLOG) ou se seu disco principal não tiver proteção contra perda de energia (PLP), o ZFS é forçado a esperar o flash NAND gravar fisicamente antes de confirmar. Isso derruba os IOPS de 50.000 para 500 em discos consumer.

      Atenção: Desativar o sync=disabled no ZFS resolve a performance instantaneamente, mas transforma seu storage em uma roleta russa. Se a energia cair, você perde os últimos segundos de transações do banco de dados, corrompendo-o.


      Comparativo Direto: Operações do Dia a Dia

      Não é só sobre velocidade de disco. É sobre como você gerencia o ciclo de vida das VMs.

      Característica LVM-Thin ZFS Local
      Custo de RAM Baixo (Usa o que sobra) Alto (ARC precisa de RAM dedicada/fixa)
      Integridade (Bitrot) Nenhuma (Confia no disco) Total (Auto-healing com RAID-Z/Mirror)
      Snapshots Rápidos, mas degradam performance se muitos Instantâneos e sem custo de performance
      Replicação Lenta (rsync ou full copy) ZFS Send/Recv (Diferencial, extremamente rápido)
      Overprovisioning Sim, mas cuidado com metadados Sim, nativo
      Hardware Ideal Single Node, SSD Consumer, <32GB RAM Cluster/HA, SSD Enterprise (PLP), ECC RAM

      O Poder da Replicação ZFS

      O recurso zfs send é imbatível. Ele lê a estrutura de blocos alterados e envia apenas os bits novos para outro servidor Proxmox. Isso permite Replicação a cada 1 minuto com impacto mínimo. No LVM, você geralmente depende de mecanismos mais lentos ou softwares de backup externos que leem o disco todo.


      O Veredito do Hardware: O que escolher?

      Não existe "melhor", existe o adequado para o seu orçamento e risco.

      Escolha LVM-Thin se:

      1. Você tem apenas um servidor (Single Node) e não precisa de replicação quase em tempo real.

      2. Seu hardware é "gamer" ou de entrada (SSDs sem PLP, processador i3/i5/Ryzen simples, pouca RAM).

      3. Você precisa de performance máxima de IOPS brutos e aceita o risco teórico de bitrot (que é raro em SSDs modernos, mas existe).

      4. Você fará backups externos frequentes (PBS - Proxmox Backup Server) para mitigar falhas.

      Escolha ZFS Local se:

      1. Seus dados valem dinheiro. A integridade é inegociável.

      2. Você tem hardware de servidor (ECC RAM, SSDs Enterprise com capacitor de proteção de energia).

      3. Você planeja usar a Replicação do Proxmox para High Availability (HA) ou Disaster Recovery rápido.

      4. Você precisa de compressão transparente (LZ4/ZSTD) para economizar espaço em disco (muito eficaz para logs e texto).

      Resumo para o Sysadmin Cético

      O ZFS não é mágico; é engenharia pesada. Se você tentar rodá-lo em um notebook ou num servidor com SSDs da Black Friday, vai ter uma experiência miserável e lenta. O LVM-Thin é o "fusca" confiável: menos recursos, menos segurança, mas te leva lá rápido e com pouca gasolina.

      Pense no ZFS como um seguro caro: você paga em RAM e CPU. Se não pode pagar o prêmio, não assine a apólice. Use LVM.


      Referências & Leitura Complementar

      Para validar os números e conceitos apresentados, consulte a documentação técnica original:

      • OpenZFS Documentation: Detalhes sobre ARC, ZIL e CoW.

        • Docs: openzfs.github.io/openzfs-docs/Performance and Tuning
      • LVM2 Man Pages: Especificações sobre thin provisioning e metadados.

        • Man: lvmthin(7)
      • Proxmox VE Administration Guide: Capítulos sobre Storage e Replicação.

      • RFC 3720 (iSCSI) & NVMe Specs: Para entender as filas de comando e latência de hardware subjacente.

      #Proxmox Storage #ZFS vs LVM-Thin #Performance de Disco Proxmox #Virtualização Linux #ZFS Tuning
      Julia M. Santos

      Julia M. Santos

      Enterprise Storage Consultant

      Consultora para Fortune 500. Traduz 'economês' para 'técniquês' e ajuda empresas a não gastarem milhões em SANs desnecessárias.