Em setembro de 2019 usava btrfs na home, pois eu tinha backup semanal dos dados, coisa que eu não fazia na partição do sistema.
Mas o tempo passou e atualmente uso btrfs em diversas partições:
Partição raiz: btrfs com gerenciamento de snapshots pelo snapper, um snapshot a cada dois dias além de snapshots pre e post durante comandos de atualização de sistema (apagando snapshots antigos baseados na numeração - manter ultimos 14 snapshots). Configurado compactação nos diretórios /usr/share, /usr/src; /usr/include. Configurado noCOW no /var. Diversos subvolumes para finalidades específicas que não necessitam de backup: /root; /var/log; /srv/samba; /.snapshots; /var/lib/libvirt/images;
Partição /home: btrfs com gerenciamento de snapshots pelo snapper, um snapshot por hora, mantendo histórico de uma semana, estilo timeline.
Partição /ssd2: btrfs sem gerenciamento de snapshots onde ficam instalados os jogos steam, arquivos de imagens de DVDs dos instaladores linux, e algumas imagens de disco de máquinas virtuais.
Partição /tank: zfs em um hd de 4TB onde faço backup do raiz e do /home, o backup do computador da mulher (é windows mas tem o backup configurado nesse dispositivo montado via rede), backup dos arquivos gigantes pessoais que não precisam ficar no ssd, além de alguma bagunça de arquivos grandes pra eu apagar quando faltar espaço. Configurado pra realizar um scrub mensalmente para detectar e corrigir corrupção de arquivos.
HD externo (ext4) com o backup offline dos arquivos gigantes pessoais importantes (fotos, videos, etc)
Nesse tempo essa configuração já “salvou minha vida” fazendo rollback no raiz (3x), mais uma vez que eu apaguei arquivos errados no raiz, algumas vezes recuperando versões anteriores de arquivos no /home, além de alguns testes que eu fiz na configuração do /home por ter segurança de poder reverter arquivos facilmente.
O btrfs é aquele tipo de coisa que depois que começa a usar, vc se pergunta como é que conseguia viver sem ele antes!
“O btrfs é aquele tipo de coisa que depois que começa a usar, vc se pergunta como é que conseguia viver sem ele antes!” verdade!
tô usando o btrfs e esses snapshots dele é maravilhoso!
uso em um pc consideravelmente fraco e não notei nenhum consumo excessivo de nada, pelo contrario só melhorias!
Cada item é uma partição. Dentro dela tem subvolumes pros snapshots e outros subvolumes conforme descrito. Colocando de uma forma mais visual:
Partição raiz (BTRFS):
Subvolume padrão (id=5): Nenhum arquivo, apenas subvolumes.
@rootfs (/) Subvolume raiz com com gerenciamento de snapshots pelo snapper, um snapshot a cada dois dias além de snapshots pre e post durante comandos de atualização de sistema (apagando snapshots antigos baseados na numeração - manter ultimos 14 snapshots). Configurado compactação nos diretórios /usr/share, /usr/src; /usr/include. Configurado noCOW no /var.
@root (/root) Subvolume separado para manter o histórico do bash e outras configurações mesmo em rollback do subvolume @rootfs
@var_log (/var/log) Subvolume separado por não haver necessidade de incluir logs nos snapshots. Também configurado com noCOW pois não é conteúdo sensível (no meu caso).
@srv_samba (/srv/samba) Subvolume com os arquivos de um servidor intranet samba público (troca de arquivos entre as máquinas locais). Também não precisa de snapshot
@vm_images (/var/lib/libvirt/images) Subvolume com os arquivos do pool padrão do libvirtd, onde mantenho alguns discos virtuais. Configurado com noCOW para performance.
@snapshots (/.snapshots) Subvolume criado para manter todos os snapshots
@snapshots/190/snapshot Exemplo de um subvolume criado automaticamente pelo snapper.
Partição home (BTRFS):
Subvolume padrão (id=5) (/home): Todos os arquivos aqui!
.snapshots Subvolume criado para armazenar os snapshots
.snapshots/2879/snapshot Exemplo de subvolume criado automaticamente pelo snapper
Partição SSD2 (BTRFS):
Subvolume padrão (id=5) (/ssd2): Todos os arquivos aqui. Criei um diretório pra cada usuário, assemelhando a outro /home, mas também com um diretório comum, para os arquivos não essenciais, arquivos de edição de vídeo, imagens de máquinas virtuais, jogos steam, etc… Sem gerenciamento de snapshots.
Partição tank (ZFS):
volume padrão (/tank): Nenhum arquivo, apenas subvolumes. Ativado scrub mensal.
subvolume Backups (/tank/Backups): Ativada compressão, onde eu regularmente faço backup do último snapshot do raiz e do home, com o comando tar simplão mesmo.
subvolume userN (/tank/userN): Um subvolume para cada usuário, sem compressão ativada.
HD Externo (ext4 criptografado): Mantive o sistema de arquivos pra não precisar formatar o disco. Ele já tem uns 3 anos de bons serviços.
eu tive problema com partição separada usando BTRFS! vim aprender esse ano que btrfs se trabalha com 1 partição e usando subvolumes! até pq quando for manipular os subvolumes todos vao ter o mesmo ID 5 separado!
Tive problemas com o Btrfs. Não gostei da performance e achei que ele reage muito mal em situações de falta de espaço em disco, mesmo quando é uma escassez gerenciada, que não tende ao completo esgotamento (falo do uso para o Back In Time).
Hoje predomina o XFS na minha instalação, com o Ext4 sendo usado principalmente para o Steam, para compatibilidade com jogos que não funcionam em sistema-de-arquivos de 64 bits, como é o caso do XFS.
Eu uso RAID via software e LVM para organizar o esquema. Já tive problemas com o LVM no passado, que consegui contornar, mas não recomendo para quem é leigo (e, francamente, eu mesmo estou pensando em deixar de usar no futuro).
sda: disco de 3 TB que usa GPT e era usado para boot em outra máquina que tinha uma implementação EFI decente. Ele ainda possui antigas partições e volumes de inicialização sem uso, evidenciáveis no gráfico do particionador do YaST2, pois não possuem pontos-de-montagem;
sdb: par do sdb na primeira matriz RAID-1;
sdc: disco de 1 TB que usa GPT, mas não está configurado pra inicializar usando o volume em FAT compatível com EFI, abriga o sistema operacional, jogos e máquinas virtuais;
sdd: par do sdc na segunda matriz RAID-1.
A ideia dos subvolumes é muito interessante e gostei de vê-la explicada. Espero poder dar uma nova chance para o Btrfs no futuro, mas ainda não sei quando.
Estou me virando com snapshots de documentos usando o Back In Time mesmo. Nada para a raiz, mas minhas instalações não costumam precisar de rollback.
Isso é verdade. Senti uma vez que o log lotou minha partição. Tutoriais recomendavam, antes de liberar espaço, criar um RAMDISK e adicionar em RAID 0, pra depois fazer o processo de limpeza dos metadados (btrfs balance), num terceiro passo finalmente apagar os arquivos em si e no ultimo passo desfazer o RAID. Eu achei muito complicado e perigoso (especialmente se vc não tem no-break num desktop) e fui direto pra limpeza dos metadados e sofri quase uma hora com o computador praticamente travado (era SSD ainda!!).
Atualmente a minha partição raiz tem 60 GB e dificilmente preciso de espaço. Vou sempre monitorando com widget na área de trabalho e meu limite de alerta é 10GB livre. Se eu precisar de espaço primeiro avalio o tamanho e apago manualmente os snapshots mais antigos. Mesmo assim a pasta /var/cache do gentoo costuma guardar todos os downloads da vida! Então já faço a limpa ali. Mas devido aos snapshots só vai liberar mesmo o espaço em torno de duas semanas depois. Por isso que meu limite de alerta é tão grande (ou então eu posso configurar o /var/cache como subvolume, mas não achei necessário).
Seguro acredito que sim. Mas só vai ser realmente seguro se o usuário tiver mais informações sobre como funciona o sistema de arquivos e principalmente como manter a saúde do disco. Vários anos atrás eu tive problema com integridade dos dados, poderia ter feito backup de tudo (estava somente-leitura), mas resolvi mandar um comando de recuperar o sistema de arquivos e aí sim perdi dados. Ou seja, pra ser realmente seguro o administrador do computador precisa colaborar KKK