Lançamento do OpenZFS 2.3.0, implementação do ZFS para Linux e FreeBSD

Após mais de um ano de desenvolvimento, o lançamento do projeto OpenZFS 2.3.0 foi publicado, avançando a implementação do sistema de arquivos ZFS para Linux e FreeBSD. O projeto ganhou notoriedade como "ZFS on Linux" e antes se limitava ao desenvolvimento de um módulo para o kernel Linux, mas após a fusão com o código do FreeBSD foi reconhecido como a implementação principal do OpenZFS e renomeado.

O OpenZFS foi testado com kernels Linux da versão 4.18 até a 6.12 e todas as versões do FreeBSD, começando pela 13.3. O código é distribuído sob a licença free CDDL. O OpenZFS já é utilizado no FreeBSD e faz parte das distribuições Debian, Ubuntu, Gentoo, NixOS e ALT Linux. Pacotes com a nova versão serão preparados em breve para as principais distribuições Linux, incluindo Debian, Ubuntu, Fedora, RHEL/CentOS.

O OpenZFS fornece uma implementação dos componentes do ZFS, relacionados tanto ao funcionamento do sistema de arquivos quanto ao funcionamento do gerenciador de volumes. Estão implementados os componentes: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) e ZPL (ZFS POSIX Layer). O projeto também permite o uso do ZFS como backend para o sistema de arquivos em cluster Lustre. As contribuições do OpenZFS são baseadas no código original do ZFS, importado do projeto OpenSolaris e ampliado com melhorias e correções da comunidade Illumos. O projeto está em desenvolvimento com a participação de funcionários do Laboratório Nacional de Livermore sob contrato com o Departamento de Energia dos EUA.

O código é distribuído sob a licença free CDDL, que não é compatível com a GPLv2, o que impossibilita a integração do OpenZFS na ramificação principal do kernel Linux, uma vez que a mescla de código sob as licenças GPLv2 e CDDL não é aceitável. Para contornar a incompatibilidade de licenças, foi decidido distribuir o produto para Linux completamente sob a licença CDDL na forma de um módulo separado, fornecido independentemente do kernel. A estabilidade da base de código do OpenZFS é considerada comparável a outros sistemas de arquivos para Linux.

Principais mudanças:

  • Foi implementada a possibilidade de adicionar novos discos em tempo real a um array RAIDZ existente para aumentar o tamanho de armazenamento sem interromper o funcionamento e sem a necessidade de criar um novo grupo de dispositivos. A redistribuição de dados redundantes em consideração aos novos discos é feita automaticamente. Para adicionar um disco a um grupo existente, pode-se usar o comando «zpool attach POOL raidzP-N NEW_DEVICE», e para monitorar a conclusão do processo em segundo plano de expansão do array — «zpool status».
  • A execução de operações relacionadas à deduplicação de blocos de dados foi significativamente acelerada. As otimizações, entre outras, afetaram o formato das tabelas de deduplicação, portanto, para ativar as otimizações propostas em pools já existentes, é necessário habilitar a opção «fast_dedup», após a qual novas tabelas de deduplicação serão criadas e utilizadas em paralelo com as tabelas antigas.
  • Adicionado o modo de Entrada/Saída Direta (Direct IO), permitindo operações de leitura e gravação ignorando o cache ARC (Adaptive Replacement Cache). Este modo melhora a eficiência em situações onde o cache pode impactar negativamente a performance devido a operações adicionais de cópia na memória, por exemplo, ao usar dispositivos NVMe.
  • A maioria dos comandos (zfs list|get|mount|version, zpool status|list|get|version) adicionou a opção «-j» para saída no formato JSON.
  • O tamanho permitido para nomes de arquivos e diretórios foi aumentado de 255 para 1023 caracteres (o novo tamanho foi escolhido levando em conta o espaço para 255 caracteres de 4 bytes).
  • Foram feitas otimizações de desempenho, abrangendo várias partes da base de código.
  • Novas opções foram adicionadas ao módulo do núcleo:
    • dmu_ddt_copies
    • raidz_expand_max_copy_bytes
    • raidz_expand_max_reflow_bytes
    • raidz_io_aggregate_rows
    • spa_cpus_per_allocator
    • spa_num_allocators
    • zap_shrink_enabled
    • zfetch_max_idistance
    • zfs_active_allocator
    • zfs_arc_shrinker_seeks
    • zfs_dedup_log_flush_entries_min
    • .zfs_dedup_log_flush_flow_rate_txgs
    • zfs_dedup_log_flush_min_time_ms
    • zfs_dedup_log_flush_passes_max
    • zfs_dedup_log_mem_max
    • zfs_dedup_log_mem_max_percent
    • zfs_dedup_log_txg_max
    • zfs_dio_enabled
    • zfs_dio_write_verify_events_per_second
    • zfs_resilver_defer_percent
    • zfs_scrub_after_expand
    • zfs_snapshot_no_setuid
    • zfs_vdev_direct_write_verify
    • zio_taskq_write_tpq

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster