Thin provisioning (provisionamento magro) é um conceito de alocação de dados presente nos principais hypervisors e gerenciadores de volumes. Permite que um disco virtual cresça, dinamicamente, até atingir sua capacidade pré estabelecida. Essa tecnologia também recebe o nome de dinamic disk (disco dinâmico), sparse volume (volume esparso), entre outros.
Quando um disco virtual tradicional é criado, imediatamente o espaço correspondente a capacidade dele é alocado em disco físico. O espaço ocupado não muda, mesmo que arquivos sejam inseridos ou removidos de dentro do volume. Esse modo comum de provisionamento é chamado de thick provisioning.
Em thin provision, a alocação real acontece sob demanda. Por exemplo: um disco virtual de um 1 terabyte, que não possui nenhum arquivo dentro dele, corresponde a um arquivo de disco virtual (vmdk, vhdx, etc.) quase vazio, ocupando alguns poucos kilobytes em storage.
O termo overbooking é usado para quando se vende mais do que se pode oferecer. A expressão ficou conhecida com empresas áreas que vendiam quantidade de passagens acima dos lugares disponíveis nos aviões, com intuito de compensar prejuízos causados por desistências.
Essa prática também acontece em infraestruturas de tecnologia da informação, principalmente na gestão de recursos de armazenamento. O overbooking de storage ocorre de duas maneiras: quando a soma da capacidade de todos os drives virtuais ultrapassa os recursos oferecidos pelo storage físico ou quando apenas um deles extrapola esse limite.
Até meados da década de 2000, o uso de thin provisioning era quase uma exclusividade de virtualizadores como VMware, XenServer e Hyper-V. Atualmente, implementações eficientes dessa tecnologia também são encontradas em alguns gerenciadores de volumes e sistemas de arquivos, como Oracle ZFS, IBM z/FS, LVM, etc.
Nas empresas que dispõe de budget favorável e uma equipe dedicada, o aumento das demandas de armazenamento costuma estar sincronizado com a expansão dos recursos de storage.
Em estruturas com orçamento limitado esse crescimento costuma acontecer de modo desordenado e improvisado. Em muitos casos, estes cenários estão associados com hardware e software que não suportam qualquer escalabilidade.
Thin provisioning e empilhamento de equipamentos low/mid-end são estratégias usadas, principalmente, nas empresas de menor porte, para tentar amenizar o impacto do aumento não programado do uso de armazenamento. Deste modo, surgem estruturas com mais pontos de falha e propensas a incidentes relacionados a perda de dados.
O uso de provisionamento descontrolado pode corromper discos ou máquinas virtuais, quando o volume de dados ultrapassa a capacidade real de armazenamento. Outros sistemas que também dependem do storage podem ficar indisponíveis.
Esses desastres frequentemente geram perda de dados. Principalmente quando produção e backup compartilham o mesmo storage (situação corriqueira em ambientes menores).
É importante haver planejamento e crescimento programado. Os recursos de storage devem sempre atender, com folga, as demandas exigidas pelos ambientes de produção. Overbooking deve ser usado apenas como paliativo, em casos excepcionais.
O uso de provisionamento magro deve ser amparado por hardwares que permitam boa escalabilidade de armazenamento. Isso começa com adesão de controladoras contendo sistemas básicos que superem o limite dos 2TB por drive. Deve-se também recorrer a tecnologias de volumes (RAID MD, LVM, Bioctl, etc.) e sistemas de arquivos (ZFS, BTRFS, z/FS, etc.) que suportam adição online de drives, assim como expansão de particionamento em tempo real (Ext4, JFS, XFS, entre outros.).
É ideal que as equipes de storage, backup e data restore, estejam em total sintonia com o time de produção. Também cabe ressaltar a recomendação de planos eficientes de backup e disaster recovery, principalmente em ambientes com política de downtime próxima a zero.