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

Após mais de dois anos de desenvolvimento, foi publicado o lançamento do projeto OpenZFS 2.2, que desenvolve a implementação do sistema de arquivos ZFS para Linux e FreeBSD. O projeto ganhou destaque como "ZFS on Linux" e anteriormente se restringia ao desenvolvimento de um módulo para o kernel do Linux, mas após a adição do suporte ao FreeBSD, foi reconhecido como a implementação principal do OpenZFS e renomeado.

O OpenZFS foi testado com kernels do Linux de 3.10 a 6.5 e todas as versões do FreeBSD, começando com 12.2-RELEASE. O código é distribuído sob a licença livre CDDL. O OpenZFS já é utilizado no FreeBSD e faz parte das distribuições Debian, Ubuntu, Gentoo, Sabayon Linux 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 a implementação de componentes do ZFS relacionados tanto ao funcionamento do sistema de arquivos quanto ao funcionamento do gerenciador de volumes. Em particular, foram implementados os componentes: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) e ZPL (ZFS POSIX Layer). Além disso, o projeto garante a possibilidade de usar o ZFS como backend para o sistema de arquivos em cluster Lustre. O trabalho do projeto é baseado no código original do ZFS, importado do projeto OpenSolaris e aprimorado 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 livre CDDL, que não é compatível com GPLv2, o que impede a integração do OpenZFS na principal ramificação do kernel Linux, uma vez que a mistura de código sob as licenças GPLv2 e CDDL não é aceitável. Para contornar essa incompatibilidade de licenciamento, foi decidido distribuir o produto inteiramente sob a licença CDDL na forma de um módulo separado carregável, que é fornecido separadamente do kernel. A estabilidade da base de código do OpenZFS é considerada comparável a outros sistemas de arquivos para Linux.

Principais mudanças:

  • Adicionada uma mecânica de clonagem de blocos, permitindo criar uma cópia de um arquivo ou de sua parte sem duplicação de dados, usando links para os blocos de dados existentes do arquivo original na segunda cópia sem sua cópia real. Se houver alterações no arquivo original ou em sua cópia, os blocos serão copiados e as modificações serão feitas nas cópias criadas (modo copy-on-write em nível de arquivo). Com base na mecânica de clonagem, foi implementada a operação reflink, que pode ser usada para a criação automática de clones em várias utilidades de cópia, como nas novas versões /bin/cp no Linux.
  • Adicionado suporte a tecnologias usadas para isolamento de contêineres no Linux, como a chamada de sistema renameat, o sistema de arquivos overlayfs, o mapeamento de identificadores de usuários ao montar e o delegação de namespaces para contêineres.
  • Implementado um log de erros identificados durante operações de verificação de somas de verificação (scrub). Ao executar o comando "zpool status", são exibidas informações sobre todos os sistemas de arquivos, snapshots e clones afetados pelo bloco corrompido. Para tentar a recuperação rápida de blocos corrompidos conhecidos, pode-se usar o comando "zpool scrub -e".
  • Adicionada a possibilidade de uso da função hash criptográfica BLAKE3 para somas de verificação, notável por sua altíssima velocidade de cálculo da hash (três vezes mais rápida que Edon-R e significativamente mais rápida que sha256 e sha512), garantindo confiabilidade ao nível do SHA-3.
  • Implementada a operação "zfs receive -c", que pode ser usada para restaurar dados corrompidos (não metadados) em sistemas de arquivos, snapshots e clones, quando há um backup replicado, previamente salvo pelo comando "zfs send".
  • Adicionado suporte para definir e ler propriedades em discos virtuais vdev individuais.
  • Adicionada a possibilidade de vinculação de propriedades personalizadas ao vdev e ao zpool, de forma semelhante às propriedades personalizadas para datasets zfs.
  • Melhorada a implementação do cache adaptativo ARC (Adaptive Replacement Cache), que aumenta o desempenho das operações de leitura. O ARC agora se adapta melhor a altas cargas e minimiza a necessidade de otimização manual das configurações.
  • Adicionado suporte para mecanismos de aceleração de hardware para o cálculo de somas de verificação SHA2.
  • A implementação das somas de verificação Edon-R foi reescrita e otimizada.
  • Foi acelerada a identificação de situações em que a compressão é desnecessária (dados não podem ser compactados) ao utilizar o algoritmo de compressão zstd.
  • Foram feitas melhorias no mecanismo de pré-carregamento (Prefetch), aumentando a eficiência durante operações de entrada/saída intensivas.
  • Realizadas várias otimizações gerais que melhoram o desempenho.

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