Btrfs/ZFS/bcachefs sob cargas de trabalho: benchmarks clássicos ignorados
Uma nova suíte de benchmarks comparando sistemas de arquivos modernos copy-on-write como ZFS, Btrfs e bcachefs sob cargas multi-dispositivo gerou interesse por seu foco na integridade de dados, mas também ceticismo pelo uso de VMs barulhentas hospedadas no GitHub em vez de hardware dedicado. Os comentaristas questionam o quão realistas são os testes (por exemplo, scrub após corrupção deliberada de blocos, bypass do page cache, métricas de latência personalizadas) e sugerem cenários, hardware e apresentação de dados mais claros. Grande parte do debate gira em torno de trade-offs entre desempenho, confiabilidade e suporte de longo prazo, incluindo preocupações com a remoção do bcachefs do Linux mainline, os problemas pendentes de RAID-5/6 e robustez do Btrfs, e as restrições de licenciamento e empacotamento do ZFS nas distribuições Linux.
Escopo e metodologia dos benchmarks
- Os benchmarks visam sistemas de arquivos CoW com múltiplos dispositivos e configurações semelhantes a RAID (incluindo comportamento de integridade / scrub), usando
fiopara throughput, IOPS e latência de fsync. - Várias cargas de trabalho são personalizadas (por exemplo, uma gravação de 4 KiB + fsync a cada 200 ms como uma sonda de latência de “operação trivial”). Isso é reconhecido como específico do projeto, não como padrão da indústria.
- Os testes atualmente rodam em grande parte em VMs hospedadas no GitHub com arquivos esparsos apoiados por loop; o autor enfatiza que apenas as “formas e proporções” relativas devem ser comparadas, não MB/s absolutos.
- Há uma etapa de calibração para descartar as VMs mais ruidosas, e existem alguns testes limitados em “hardware real”, com mais em andamento, incluindo configurações híbridas HDD/SSD e em camadas.
Testes de integridade de dados e corrupção
- Um teste sobrescreve 2 GiB de blocos brutos em um único dispositivo em um conjunto replicado e, em seguida, executa scrubs do sistema de arquivos.
- Alguns კომენტadores questionam se isso é realisticamente “recuperável” e o que exatamente significa sucesso/falha de “integridade”.
- O autor esclarece que o rótulo será renomeado para “sonda de corrupção”: “sobreviveu” significa apenas que um arquivo específico permaneceu legível e inalterado, não que todo o sistema de arquivos esteja totalmente saudável.
Apresentação e usabilidade dos resultados
- Várias pessoas acham a página densa e visualmente difícil de examinar: texto pequeno, gráficos demais ao mesmo tempo, definições pouco claras para scores compostos como “Overall Core” e “Core I/O”.
- Outras, especialmente engenheiros, apreciam a “parede de dados” e preferem detalhes em vez de simplificação.
- As sugestões incluem descrições mais claras do que está sendo testado, melhores explicações para métricas derivadas, mover metadados da execução para longe do topo e, possivelmente, vistas “simplificadas” alternativas usando os dados JSON.
Realismo do ambiente e cobertura de hardware
- Alguns argumentam que runners compartilhados na nuvem, com vizinhos ruidosos, tornam os resultados difíceis de confiar, e defendem bancos de testes bare-metal dedicados.
- Outros aceitam as limitações, observando o foco em integridade em vez de desempenho absoluto e a dificuldade/custo de automação extensiva em bare-metal.
- Aparecem vários pedidos por mais cenários: HDD vs SSD, NVMe, tamanhos diferentes de RAID, sistemas de arquivos não-CoW, dm-integrity, dRAID, F2FS, DRBD, CephFS e XFS com camadas de integridade.
Bcachefs, Btrfs, ZFS e alternativas
- Bcachefs mostra resultados fortes nos benchmarks e é elogiado por recursos como mistura de camadas de dispositivos e replicação por arquivo, mas persistem preocupações com maturidade e a recente remoção do mainline.
- Alguns usuários estão satisfeitos com bcachefs via out-of-tree/DKMS em certas distribuições (por exemplo, setups baseados em NixOS, appliances NAS), citando boa experiência prática.
- Btrfs é visto como a opção moderna “padrão” em árvore, mas criticado por:
- Falta de relatórios confiáveis de espaço livre.
- Comportamento frágil quando os volumes enchem.
- Ferramentas de reparo fracas e RAID5/6 ainda não recomendado.
- Travamentos severos ocasionais ao apagar arquivos muito grandes em alguns ambientes.
- ZFS é amplamente confiável para segurança de dados, mas criticado por:
- Desempenho inferior em algumas cargas de trabalho.
- Fricção de licenciamento que o mantém fora de muitas distribuições e ambientes de rescue.
- DKMS ficando atrás das atualizações rápidas do kernel em algumas distros.
- Muitos comentaristas com mentalidade de produção ainda preferem pilhas mais simples como ext4/XFS sobre LVM/MD RAID por previsibilidade, às vezes aumentadas com camadas separadas de compressão/deduplicação (por exemplo, dm-vdo).
Fatores sociais e governança do kernel
- Vários comentários enfatizam que a “saúde social” de um sistema de arquivos (bus factor, drama de mantenedores, questões de CoC, patrocínio corporativo) importa tanto quanto o desempenho bruto.
- A remoção do bcachefs do mainline e conflitos anteriores com mantenedores do kernel levantam preocupações de confiança e estabilidade futura para alguns; outros argumentam que esses são principalmente problemas dos mantenedores e que os usuários finais só precisam de boas ferramentas e confiabilidade.
- Há amplo interesse em o bcachefs eventualmente voltar ao mainline quando o desenvolvimento se estabilizar e uma equipe mais ampla de mantenedores estiver em lugar.