De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 29 de junho de 2026
Se alguém me perguntasse qual é o recurso mais revolucionário do Btrfs, eu provavelmente responderia sem hesitar: os snapshots.
Embora compressão transparente, checksums e gerenciamento avançado de armazenamento sejam funcionalidades extremamente úteis, é difícil encontrar outro recurso que cause tanto impacto na forma de administrar um sistema Linux quanto a possibilidade de voltar no tempo em poucos segundos.
Quem trabalha há mais tempo com Linux certamente já viveu uma situação semelhante. Uma atualização aparentemente simples quebra algum componente importante do sistema. Um arquivo de configuração é alterado incorretamente. Um usuário remove um diretório por engano. Um script automatizado modifica milhares de arquivos e produz um resultado inesperado. Em sistemas tradicionais, a recuperação normalmente depende de backups, que podem consumir tempo e, em muitos casos, não refletem exatamente o estado mais recente do sistema.
Com o Btrfs, existe outra abordagem. Em vez de restaurar um backup completo, podemos simplesmente retornar ao estado anterior utilizando um snapshot criado poucos minutos antes da alteração. É exatamente por isso que muitas pessoas descrevem os snapshots como uma verdadeira máquina do tempo.
A palavra snapshot pode ser traduzida como "fotografia instantânea".
A analogia é bastante apropriada. Imagine que você fotografe uma sala antes de iniciar uma reforma. Se algo der errado durante o trabalho, basta olhar a fotografia para saber exatamente como tudo estava.
No Btrfs, um snapshot faz algo semelhante, mas de forma muito mais poderosa. Ele registra o estado completo de um subvolume em um determinado momento.
O aspecto mais impressionante é que essa operação acontece praticamente de forma instantânea, independentemente do tamanho do subvolume.
Se o diretório ocupar 5 GB ou 500 GB, a criação do snapshot leva praticamente o mesmo tempo.
Isso acontece graças ao mecanismo Copy-on-Write que vimos no anteriormente.
Inicialmente, o snapshot não duplica os arquivos, ele apenas cria uma nova referência para os mesmos blocos de dados.
Somente quando algum arquivo é alterado é que novos blocos passam a ser gravados.
Essa estratégia torna os snapshots extremamente rápidos e muito econômicos em espaço de armazenamento.
Vamos supor que nosso diretório /home seja um subvolume do Btrfs.
Criar um snapshot é extremamente simples:
$ sudo btrfs subvolume snapshot \
/home \
/snapshots/home-2026-06-22
Create a snapshot of '/home'
Em poucos segundos foi criada uma cópia completa do estado do diretório /home.
Se existirem milhares de arquivos, todos estarão preservados exatamente como estavam naquele instante.
Esse talvez seja o conceito mais importante de todo este texto.
Muita gente imagina que um snapshot seja equivalente a executar um comando como:
$ cp -a /home /backup
Não é. Uma cópia tradicional precisa ler todos os arquivos e gravá-los novamente no disco. Isso pode consumir minutos ou até horas.
Já um snapshot simplesmente reutiliza os mesmos blocos já existentes.
Por isso sua criação é praticamente instantânea.
Além disso, ele ocupa muito pouco espaço inicialmente.
O consumo cresce apenas quando os arquivos começam a ser modificados.
Imagine que exista um documento importante: /home/rubens/projeto.txt
Depois de criar o snapshot, o usuário modifica completamente esse arquivo.
No sistema principal, teremos a nova versão.
No snapshot, entretanto, continuará existindo exatamente a versão antiga.
É como possuir duas linhas do tempo coexistindo dentro do mesmo sistema de arquivos.
Essa característica é o que torna o Btrfs tão poderoso para recuperação de desastres.
Suponha que um usuário apague acidentalmente um diretório inteiro.
Sem snapshots, talvez fosse necessário recorrer a um backup da noite anterior.
Com Btrfs, basta acessar o snapshot correspondente, como por exemplo: /snapshots/home-2026-06-22
O arquivo antigo continua lá.
A recuperação pode ser tão simples quanto:
$ cp \ /snapshots/home-2026-06-22/rubens/projeto.txt \ /home/rubens/
Em poucos segundos o arquivo está restaurado, nenhum software de backup foi necessário e nenhuma restauração completa precisou ser executada.
Os snapshots permanecem disponíveis até que sejam removidos.
Quando deixam de ser necessários, podem ser apagados facilmente:
$ sudo btrfs subvolume delete \ /snapshots/home-2026-06-22
A remoção elimina apenas aquele snapshot.
Os arquivos presentes no sistema principal continuam intactos.
Da mesma forma, outros snapshots permanecem disponíveis.
Uma das aplicações mais interessantes dos snapshots ocorre antes de atualizações do sistema.
Imagine que você pretenda atualizar centenas de pacotes utilizando:
$ sudo dnf upgrade
ou
$ sudo apt full-upgrade
Antes da atualização, basta criar um snapshot. Caso algo inesperado aconteça, todo o sistema poderá ser restaurado ao estado anterior.
É exatamente esse princípio que distribuições como o openSUSE utilizam há muitos anos através do Snapper. O usuário instala atualizações normalmente e, se houver qualquer problema, basta retornar ao snapshot anterior.
Essa funcionalidade mudou completamente a forma como muitos administradores encaram atualizações de servidores.
É importante entender que snapshots não substituem backups. Se um SSD apresentar defeito físico ou um incêndio destruir o servidor, os snapshots desaparecerão junto com o disco.
Eles protegem contra:
Já os backups continuam indispensáveis para proteger contra perda física do armazenamento.
Na prática, snapshots e backups são tecnologias complementares.
Talvez o aspecto mais interessante seja que praticamente todas as soluções modernas de backup baseadas em Btrfs utilizam snapshots internamente.
Primeiro cria-se um snapshot. Depois esse snapshot é enviado para outro disco ou outro servidor.
Como o snapshot permanece congelado no tempo, o backup é consistente mesmo que usuários continuem trabalhando normalmente durante a cópia.
Essa abordagem elimina um dos maiores problemas dos backups tradicionais: arquivos sendo modificados enquanto ainda estão sendo copiados.
Depois que alguém começa a utilizar snapshots regularmente, torna-se difícil imaginar a administração de sistemas sem eles pois a sensação de segurança muda completamente.
Atualizações deixam de ser motivo de preocupação e testes podem ser realizados com muito mais tranquilidade. Erros humanos deixam de ser catástrofes.
Talvez seja justamente por isso que tantas distribuições Linux vêm adotando o Btrfs como padrão. Os snapshots não são apenas um recurso interessante. Eles representam uma mudança de paradigma na forma de proteger dados e administrar sistemas.
No próximo artigo da série veremos como a compressão transparente utilizando Zstd consegue reduzir significativamente o consumo de espaço em disco e, em muitos casos, até aumentar o desempenho do sistema.