Lançamento do Bcachefs 1.38.0. A distribuição NASty para implantação de NAS baseada em Bcachefs.

Kent Overstreet publicou a versão 1.38.0 do sistema de arquivos Bcachefs. A versão inclui dois pacotes: bcachefs-kernel-dkms com o módulo do kernel, compilado por meio do sistema DKMS (Dynamic Kernel Module Support), e bcachefs-tools com a ferramenta bcachefs em espaço de usuário, que implementa comandos para criação (mkfs), montagem, recuperação e verificação do sistema de arquivos. Os pacotes foram compilados para Debian, Ubuntu e estão sendo aguardados para Arch Linux, Fedora, openSUSE e NixOS. O módulo DKMS suporta kernels Linux a partir da versão 6.16.

O projeto Bcachefs está desenvolvendo um sistema de arquivos que visa combinar a funcionalidade avançada característica do Btrfs e ZFS com o nível de desempenho, confiabilidade e escalabilidade típico do XFS. O Bcachefs suporta recursos como a inclusão de vários dispositivos em uma partição, arranjos de armazenamento em camadas (camada inferior com dados de uso frequente em SSDs rápidos, e camada superior com dados menos exigidos de hard disks), replicação (RAID 1/10), cache, compressão de dados transparente (modos LZ4, gzip e ZSTD), snapshots, verificação de integridade por somas de verificação, códigos de correção de erros, e armazenamento de informações de forma criptografada (utilizando ChaCha20 e Poly1305).

Na nova versão:

  • A estrutura Btree need_discard, utilizada para rastrear conjuntos de blocos liberados, foi convertida para indexação por número sequencial a partir do registro em vez de uma combinação de dispositivo/conjunto de blocos (device/bucket). Essa alteração permitiu acelerar a manipulação da estrutura need_discard e evitar a ocorrência de deadlocks durante a recuperação do registro ao montar o sistema de arquivos com um número insuficiente de blocos livres para metadados.
  • As operações de gravação no registro foram movidas para uma fila fifo separada, e o número máximo de operações de gravação no registro realizadas simultaneamente foi aumentado de 16 para 256, o que acelerou o trabalho em grandes armazenamentos com carga intensa de gravação.
  • A montagem do sistema de arquivos com um grande número de instantâneas foi significativamente acelerada.

Adicionalmente, é importante mencionar o lançamento do projeto NASty 0.0.3, que desenvolve uma distribuição para criação de armazenamentos em rede (NAS) com base em hardware padrão. A distribuição é construída sobre a base de pacotes do NixOS, utiliza o sistema de arquivos Bcachefs e suporta o acesso a arquivos via NFS e SMB, bem como a exportação de dispositivos de bloco através de iSCSI e NVMe-oF. O gerenciamento é realizado através de uma interface web. O tamanho da imagem ISO de instalação é de 1,9 GB. Os trabalhos do projeto são distribuídos sob a licença GPLv3. A interface web é escrita em TypeScript utilizando o framework SvelteKit. O mecanismo para gerenciar o armazenamento e o sistema é escrito na linguagem Rust.

As atualizações são baixadas e instaladas automaticamente. O sistema é atualizado de forma atômica, com a possibilidade de reverter para o estado anterior em caso de problemas na nova versão. Na interface web, estão disponíveis funcionalidades para gerenciar sistemas de arquivos, snapshots, partições, discos, máquinas virtuais e compartilhamento. Há um gerenciador de arquivos e um emulador de terminal integrados à interface web, que funcionam no navegador. É possível criar regras para executar ações e notificar o administrador em caso de consumo excessivo de espaço em disco, falhas no funcionamento dos dispositivos e superaquecimento.

Suporta a execução de ambientes isolados e aplicativos, utilizando virtualização baseada em QEMU/KVM e isolamento de contêineres via k3s runtime (os Helm charts podem ser instalados diretamente pelo WebUI para executar aplicativos em contêineres e configurar o acesso através do nginx ingress). A integração com a plataforma Kubernetes é suportada, para a qual um driver CSI é fornecido para alocação dinâmica de espaço em armazenamento. A distribuição padrão envia telemetria com dados anonimizados sobre o número de dispositivos e o tamanho do armazenamento (a telemetria pode ser desativada na seção 'Configurações → Telemetria').

As razões para escolher Bcachefs em vez de ZFS incluem o desenvolvimento ativo, a distribuição sob licença GPL, um modelo de trabalho simples com FS, partições e snapshots (sem conceitos complicados, como datasets, zvols e pools aninhados) e a presença de recursos avançados, como a movimentação automática de dados raramente utilizados para dispositivos mais lentos, códigos de correção de erros e recuperação de danos sem interromper o trabalho com FS.

As mudanças na versão NASty 0.0.3 incluem:

  • a transição para o uso do mecanismo nix flake para empacotamento e gerenciamento de dependências;
  • suporte VPN Tailscale para encaminhamento NVMe-oF sobre VPN;
  • integração do k3s runtime; adição do NUT (Network UPS Tools) para monitoramento de dispositivos de fornecimento ininterrupto;
  • um painel web para configuração detalhada de NFS, SMB e iSCSI (incluindo opções para selecionar o planejador de entrada/saída, logging e reserva de metadados);
  • configurações adicionais para Bcachefs (gerenciamento de códigos de correção de erros, seleção do algoritmo de checksum, rebalanceamento online etc.);
  • suporte ao cache Cachix para acelerar a entrega de atualizações;
  • capacidade de geração certificados TLS através do Let’s Encrypt;
  • incluindo as utilidades iotop-c, btop, fwupd, rsync e croc.

Lançamento do Bcachefs 1.38.0. A distribuição NASty para implantação de NAS baseada em Bcachefs.

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