OpenZFS 2.4.0 chegou à sua primeira Release Candidate — uma versão de testes pensada para a comunidade colocar a mão na massa, validar mudanças e reportar ajustes antes do lançamento estável. A história aqui é simples: o sistema de arquivos open source mais robusto do mercado ficou mais esperto na administração, mais consistente no uso prolongado e mais rápido em cenários de escrita síncrona. E, sim, agora dá para direcionar o ZIL e blocos de ZVOL para special vdevs — exatamente o que administradores vinham pedindo para afinar I/O em SSDs de baixa latência.
Além disso, a RC1 declara compatibilidade com Linux (4.18 a 6.16) e FreeBSD (13.3+ e 14.0+). Em outras palavras: dá para testar hoje em praticamente qualquer ambiente de homologação moderno.
Melhorias para administradores de sistemas

Quotas padrão que “se aplicam sozinhas”. Em ambientes multiusuário (laboratórios, universidades, servidores de arquivos, hospedagens), definir quota usuário a usuário é repetitivo e sujeito a erro. A partir do OpenZFS 2.4.0, você pode estabelecer quotas padrão para usuários, grupos ou projetos, e todo novo objeto já nasce obedecendo a esse limite — economia real de tempo e padronização de políticas.
Novo alocador para combater a fragmentação. Com o passar dos meses, pools com cargas mistas (muitos arquivos pequenos intercalados com grandes) tendem a se fragmentar e perder vazão. O novo algoritmo de unified allocation throttling atua justamente aí, suavizando a pressão de alocação por vdev e mantendo o desempenho previsível por mais tempo — é como organizar o trânsito antes que o congestionamento se forme.
Ferramentas de rotina mais práticas. Pequenas sutilezas fazem diferença no dia a dia: há opções para “varrer tudo de uma vez” em pools importados (scrub/trim/init), iniciar scrubs por janelas de tempo específicas e reduzir o tamanho de streams incrementais ao preservar o “logical birth time” em reescritas. Tradução: menos digitação, menos janelas de manutenção e replicações menores.
Grandes ganhos de performance
ZIL em special vdevs: tchau gargalo em escrita síncrona
Se seu workload depende de fsync() — pense em bancos de dados, NFS com sync=always
, sistemas de mensagens — o ZIL no special vdev é um divisor de águas. Você move o log de intenção para um SSD rápido (o special vdev), reduz a latência nas confirmações e libera os HDDs para throughput sequencial. É como tirar as motos da faixa de caminhões: todo mundo flui melhor.
ZVOL com blocos em special vdevs: VMs e iSCSI mais ágeis
Quem entrega discos virtuais (ZVOLs) para hipervisores ou iSCSI vai gostar: agora os blocos de ZVOL também podem “pousar” no special vdev conforme o limiar configurado (via special_small_blocks
). Isso concentra metadados e blocos pequenos em SSDs — acelerando boot de VMs, catálogos de bancos e outras operações sensíveis a IOPS.
Criptografia mais veloz e I/O direto mais inteligente
Para quem usa AES-GCM, a implementação com AVX2 traz um fôlego extra em CPUs compatíveis. E, quando o Direct I/O não consegue alinhar buffers, o ZFS recorre a um caminho “sem cache” mais leve, evitando quedas abruptas de desempenho. É aquele polimento que você percebe no gráfico de latência quando a carga aperta.
Como testar
Antes de tudo: é uma Release Candidate. Teste em ambiente de homologação, com backup, e planeje rollback. O objetivo é descobrir comportamentos inesperados antes da versão final.
- Planeje o special vdev
Se sua estratégia é acelerar escrita síncrona e blocos pequenos, prepare SSDs para o special vdev e ajuste o limiar despecial_small_blocks
de acordo com o seu perfil de I/O. Em workloads com muitos metadados e arquivos pequenos, um limiar maior tende a ajudar; em pools com SSDs limitados, seja conservador para não saturá-los. - Valide workloads críticos
— Bancos de dados e NFS síncrono: compare latência de fsync(), tempos de commit e Throughput sob picos.
— Virtualização/iSCSI (ZVOL): meça tempo de boot de VMs, jitter de latência e desempenho sob mixes de 4–64K.
— Cargas mistas: observe o comportamento do novo alocador ao longo de dias de uso, especialmente em pools próximos da capacidade. - Aproveite as melhorias operacionais
Automatize scrubs/trim em todos os pools importados e experimente os scrubs por janela de tempo para investigações pós-incidente. Ao revisar políticas, experimente as quotas padrão para reduzir trabalho manual em novos datasets/usuários.
Principais novidades (resumo)
- Quotas padrão para usuários, grupos e projetos
- ZIL em special vdevs para cortar latência de escrita síncrona
- ZVOL com blocos elegíveis ao special vdev via
special_small_blocks
- Novo alocador que reduz fragmentação e mantém o desempenho estável
- Criptografia AES-GCM mais rápida com AVX2
- I/O direto com fallback “uncached” mais leve em desalinhamentos
- Qualidade de vida: scrub/trim/init em todos os pools, scrubs por intervalo de tempo e streams incrementais menores
- Compatibilidade ampliada: Linux 4.18–6.16 e FreeBSD 13.3+ / 14.0+
Observação editorial: por se tratar de RC1, evite produção. O momento é de benchmarking, validação de compatibilidade e feedback aos mantenedores — o que você reporta agora vira qualidade na versão final.