Kent Overstreet hà publicatu u sistema di fugliali Bcachefs 1.38.0. A versione include dui pacchetti: bcachefs-kernel-dkms, chì cuntene un modulu di kernel custruitu cù u sistema Dynamic Kernel Module Support (DKMS), è bcachefs-tools, chì cuntene l'utilità bcachefs di u spaziu utilizatore, chì implementa cumandamenti per a creazione (mkfs), u muntamentu, u restauru è a verificazione di u sistema di fugliali. I pacchetti sò compilati per Debian, Ubuntu è sò previsti per Arch Linux, Fedora, openSUSE, è NixOS. U modulu DKMS supporta i kernel. Linux, à partesi da 6.16.
U prugettu Bcachefs sviluppa un sistema di fugliali destinatu à cumbinà a funziunalità avanzata di Btrfs è ZFS cù e prestazioni, l'affidabilità è a scalabilità di XFS. Bcachefs supporta funzioni cum'è parechji dispositivi per partizione, layout di almacenamentu multistratu (un stratu inferiore cù dati accessibili frequentemente basati nantu à SSD veloci, è un stratu superiore cù dati accessibili menu frequentemente da i dischi rigidi), replicazione (RAID 1/10), caching, cumpressione di dati trasparente (modi LZ4, gzip è ZSTD), slice di statu (snapshot), verificazione di l'integrità utilizendu checksum, codici di currezzione d'errore è almacenamentu di dati criptati (utilizendu ChaCha20 è Poly1305).
In a nova versione:
- A struttura Btree need_discard, aduprata per seguità i blocchi liberati, hè stata cambiata per l'indicizazione per u numeru d'indice di u ghjurnale invece di a coppia dispusitivu/bucket. Stu cambiamentu hà migliuratu e prestazioni di a struttura need_discard è hà eliminatu i blocchi morti durante u recuperu di u ghjurnale quandu si monta un sistema di fugliali cù blocchi liberi insufficienti per i metadati.
- L'operazioni di scrittura di log sò state spostate in una coda FIFO separata, è u numeru massimu di operazioni di scrittura di log simultanee hè statu aumentatu da 16 à 256, ciò chì hà migliuratu e prestazioni di i grandi sistemi di almacenamiento cù carichi di scrittura intensivi.
- U muntamentu di FS cù un gran numeru di snapshots hè statu acceleratu significativamente.
Da nutà dinù a liberazione di NASty 0.0.3, una distribuzione di sviluppu per a creazione di dispositivi di almacenamiento attaccati à a rete (NAS) utilizendu hardware di basa. A distribuzione hè custruita nantu à a basa di u pacchettu NixOS, utilizza u sistema di fugliali Bcachefs, è supporta a spartera di fugliali via NFS è SMB, è ancu l'esportazione di dispositivi à blocchi via iSCSI è NVMe-oF. A gestione hè via una interfaccia web. L'imagine ISO d'installazione hè di 1.9 GB. U travagliu di u prugettu hè licenziatu sottu a licenza GPLv3. L'interfaccia web hè scritta in TypeScript utilizendu u framework SvelteKit. U mutore di gestione di u almacenamentu è di u sistema hè scrittu in Rust.
L'aghjurnamenti sò scaricati è stallati automaticamente. U sistema hè aghjurnatu atomicamente, cù a capacità di vultà à u statu precedente se si detectanu prublemi in a nova versione. L'interfaccia web furnisce opzioni per a gestione di sistemi di fugliali, snapshots, sottochiavi, dischi, macchine virtuali è accessu spartutu. L'interfaccia web include un gestore di fugliali integratu è un emulatore di terminale chì funziona in un navigatore. Si ponu creà regule per eseguisce azzioni è avvisà l'amministratore in casu di cunsumu eccessivu di spaziu di discu, guasti di l'unità o surriscaldamentu.
U lanciu di ambienti è applicazioni isolati hè supportatu cù a virtualizazione basata nantu à QEMU/KVM è l'isolamentu di i container cù u runtime k3s. I grafichi Helm ponu esse installati direttamente da a WebUI per lancià applicazioni in container è cunfigurà l'inoltru di accessu via ingress Nginx. L'integrazione cù a piattaforma Kubernetes hè supportata, cù un driver CSI furnitu per l'allocazione dinamica di u almacenamentu. Per difettu, a distribuzione manda a telemetria cù dati anonimizati nantu à u numeru di unità è a dimensione di u almacenamentu (a telemetria pò esse disattivata in a sezione "Impostazioni → Telemetria").
I motivi per sceglie Bcachefs invece di ZFS includenu u sviluppu attivu, a distribuzione sottu a licenza GPL, un mudellu simplice per travaglià cù sistemi di fugliali, sottosezioni è snapshots (senza cuncetti cumplessi cum'è datasets, zvols è pools annidati), è a presenza di funzioni avanzate cum'è u muvimentu automaticu di dati raramente usati per rallentà i dischi, i codici di currezzione d'errore è a ripresa di danni senza interrompe u travagliu cù u sistema di fugliali.
Trà i cambiamenti in a versione NASty 0.0.3, si distinguenu i seguenti:
- transizione à l'usu di u mecanismu nix flake per l'imballaggio è a gestione di e dipendenze;
- supportu VPN Tailscale per l'inoltru di NVMe-oF via VPN;
- Integrazione di runtime di k3s; aghjunta di NUT (Network UPS Tools) per u monitoraghju di i dispositivi di alimentazione ininterrotta;
- Pannellu di cuntrollu basatu annantu à u Web per a messa à puntu fine di NFS, SMB è iSCSI (cumprese l'opzioni per a selezzione di u pianificatore I/O, a registrazione è a copia di salvezza di i metadati);
- paràmetri supplementari per Bcachefs (gestione di i codici di currezzione d'errore, selezzione di un algoritmu di checksum, riequilibriu in linea, ecc.);
- Supportu di a cache Cachix per una consegna più rapida di l'aghjurnamenti;
- pussibilità di generazione Certificati TLS via Let's Encrypt;
- Inclusione di l'utilità iotop-c, btop, fwupd, rsync è croc.

Source: opennet.ru
