top of page

Thin Provisioning: O que é, como funciona e por que é tão importante no Linux e na virtualização moderna

A administração de armazenamento evoluiu muito nos últimos anos. Antes, discos virtuais e volumes de armazenamento eram alocados com tamanho fixo, ocupando todo o espaço físico desde o início. Hoje, graças ao Thin Provisioning, é possível criar discos “gigantes” usando apenas uma fração real do espaço — e expandindo conforme necessário.

Se você trabalha com Linux, KVM/QEMU, Proxmox, VMware, containers ou storage corporativo, entender esse conceito é essencial.

O que é Thin Provisioning?

Thin provisioning (ou “provisionamento fino”) é uma técnica que permite criar volumes, discos virtuais ou unidades de armazenamento maiores do que o espaço realmente alocado no disco físico.

Em outras palavras:

O sistema “finge” que o volume tem, por exemplo, 250 GB, mas só consome no disco real os blocos que forem efetivamente utilizados.

Isso é muito comum em ambientes:

  • Virtualizados (KVM, VMware, Xen)

  • Cloud (AWS, Azure, GCP)

  • LVM2 em Linux

  • Storage SAN/NAS

  • Containers (Docker, LXC)

  • Arquivos de disco de máquinas virtuais, como QCOW2, VMDK, VHDX, etc.

Exemplo prático: o caso do QCOW2 no Linux

Ao criar um disco QCOW2 para uma máquina virtual:

qemu-img create -f qcow2 disk.qcow2 250G

➡ O arquivo não vai ocupar 250 GB no host.➡ Ele começa com poucos MB ou alguns GB.➡ Cresce conforme a VM escreve novos blocos.

Na VM, o comando lsblk pode mostrar:

vda    250G
├─vda1 /      23G
└─vda8 /home 214G

Mas no host:

du -h disk.qcow2

Talvez mostre apenas:

40G

Ou seja:

O que a VM vê

O que ocupa no host

250 GB

~40 GB usados

Como o Thin Provisioning funciona?

O funcionamento é simples, mas inteligente:

  1. Criar o disco/volume “virtual” com tamanho total definido.Ex.: 1 TB.

  2. Não alocar os blocos fisicamente até que eles sejam usados.Se a VM ou o sistema só gravar 20 GB, apenas 20 GB são usados no host.

  3. Expandir dinamicamente conforme dados são gravados.O arquivo cresce fisicamente conforme novos blocos são escritos.

  4. Recuperar espaço (às vezes)Dependendo do formato, é possível “zerar” blocos e recuperá-los no host.No Linux:

    • fstrim (para SSD e storage com suporte a TRIM)

    • virt-sparsify (para QCOW2 e RAW)

Thin vs Thick Provisioning

Thick Provisioning (alocação espessa)

  • Reserva TODO o espaço imediatamente.

  • É mais rápido para alguns workloads.

  • Evita surpresas de falta de espaço.

Ex.: um RAW de 250 GB ocupa 250 GB no host, mesmo vazio.

Thin Provisioning

  • Só aloca o que for necessário.

  • Economiza espaço.

  • Permite criar volumes maiores do que a capacidade física atual.

Vantagens do Thin Provisioning

1. Eficiência de armazenamento

Permite usar melhor o disco físico.Em ambientes com muitas VMs, isso evita desperdício massivo.

2. Flexibilidade

Permite criar discos enormes sem precisar ter todo o espaço imediatamente.

3. Crescimento sob demanda

O disco cresce conforme o uso real.

4. Criação rápida

Criar um volume de 10 TB leva apenas alguns milissegundos.

5. Ideal para ambientes virtualizados

A maioria das VMs não usa todo o disco que recebe — thin provisioning resolve isso.

Desvantagens (e cuidados necessários)

1. Risco de over-provisioning

Você pode criar mais armazenamento virtual do que o físico aguenta.

Se ocorrer 100% de uso do disco físico, todas as VMs podem travar.

2. Performance menor em alguns cenários

Forms como QCOW2 podem ser ligeiramente mais lentos que RAW.

3. Fragmentação interna

Pode fragmentar, impactando leitura/escrita.

Curiosidades sobre Thin Provisioning no Linux

1. LVM2 suporta thin provisioning nativamente

Sim! No Linux você pode criar volumes thin nativos:

lvcreate --type thin-pool -L 100G vg/pool
lvcreate -T vg/pool -V 1T -n volume_thin

Cria um volume de 1 TB usando apenas 100 GB físicos.

2. QCOW2 pode ser “compactado”

virt-sparsify --compress disk.qcow2 disk-new.qcow2

Reduz espaço usado no host.

3. TRIM pode recuperar espaço em SSDs

Dentro da VM:

fstrim -av

Permite que o host libere blocos não usados.

4. Quase todos os grandes storages usam thin provisioning

Dell EMC, NetApp, HP 3Par, IBM Storwize, TrueNAS, ZFS, etc.

5. Clouds públicas dependem 100% disso

AWS EBSAzure Managed DisksGoogle Persistent Disk→ Todos são thin.

Quando devo usar Thin Provisioning?

Recomendado quando:

  • Muitas VMs ou containers

  • Projetos de laboratório ou cloud privada

  • Servidores com múltiplos volumes

  • Ambientes com SSDs NVMe de alta performance

  • Necessidade de economia de espaço

Evite quando:

  • O sistema não pode correr riscos de falta de espaço

  • Ao usar bancos de dados de altíssima carga de IO

  • Você quer performance máxima com RAW

Conclusão

O Thin Provisioning é uma das tecnologias mais poderosas na virtualização e no mundo Linux. Ele permite que administradores criem ambientes mais leves, econômicos e flexíveis, aproveitando ao máximo o armazenamento físico disponível.

Saber como ele funciona — e quando usar — é fundamental para otimizar servidores, reduzir custos e aumentar a eficiência do seu ambiente.

Se você trabalha com Linux, Proxmox, KVM, VMware ou storage moderno, dominar thin provisioning é indispensável.


ree

Comentários


bottom of page