Rilascio di Bcachefs 1.38.0. Distribuzione NASty per il deployment di NAS basato su Bcachefs

Kent Overstreet ha pubblicato il rilascio del file system Bcachefs 1.38.0. Il rilascio comprende due pacchetti: bcachefs-kernel-dkms con il modulo del kernel costruito utilizzando il sistema DKMS (Dynamic Kernel Module Support) e bcachefs-tools con l'utilità bcachefs eseguita nello spazio utente, che implementa comandi per la creazione (mkfs), il montaggio, il recupero e il controllo della FS. I pacchetti sono stati compilati per Debian, Ubuntu e sono attesi per Arch Linux, Fedora, openSUSE e NixOS. Il modulo DKMS supporta il funzionamento con i kernel Linux a partire dalla versione 6.16.

Il progetto Bcachefs sviluppa un file system pensato per combinare la funzionalità avanzata tipica di Btrfs e ZFS con livelli di prestazioni, affidabilità e scalabilità caratteristici di XFS. Bcachefs supporta funzionalità come l'attivazione di più dispositivi in una sezione, layout di storage multilivello (uno strato per i dati frequentemente utilizzati basato su SSD veloci e uno strato superiore per i dati meno richiesti provenienti da dischi rigidi), replica (RAID 1/10), caching, compressione dei dati trasparente (modalità LZ4, gzip e ZSTD), istantanee di stato (snapshot), verifica dell'integrità tramite checksum, codici di correzione degli errori e archiviazione di informazioni in forma cifrata (utilizzando ChaCha20 e Poly1305).

Nella nuova versione:

  • La struttura Btree need_discard, utilizzata per tracciare i set di blocchi liberati, è stata modificata per l'indicizzazione in base al numero di sequenza dal log anziché dalla coppia dispositivo/insieme di blocchi (device/bucket). Questa modifica ha permesso di accelerare il lavoro con la struttura need_discard ed evitare il verificarsi di un deadlock durante il recupero dal log durante il montaggio della FS con un numero insufficiente di blocchi liberi per i metadati.
  • Le operazioni di registrazione nel log sono state trasferite in una coda fifo separata e il numero massimo di operazioni di registrazione contemporanee è stato aumentato da 16 a 256, migliorando così le prestazioni dei grandi archivi con carichi di lavoro intensivi in scrittura.
  • L'installazione del filesystem con un gran numero di snapshot è stata notevolmente accelerata.

Inoltre, si segnala il rilascio del progetto NASty 0.0.3, che sviluppa una distribuzione per creare archivi di rete (NAS) basati su hardware standard. La distribuzione è costruita sulla base di pacchetti NixOS, utilizza il filesystem Bcachefs e supporta l'accesso ai file tramite NFS e SMB, oltre all'esportazione di dispositivi a blocchi tramite iSCSI e NVMe-oF. La gestione avviene tramite un'interfaccia web. La dimensione dell'immagine iso di installazione è di 1,9 GB. I risultati del progetto sono distribuiti con licenza GPLv3. L'interfaccia web è scritta in TypeScript utilizzando il framework SvelteKit. Il motore per la gestione dello storage e del sistema è scritto in Rust.

Gli aggiornamenti vengono scaricati e installati automaticamente. Il sistema si aggiorna in modo atomico, con la possibilità di tornare a una versione precedente in caso di problemi con la nuova versione. Nell'interfaccia web sono disponibili funzionalità per gestire i sistemi di file, gli snapshot, le partizioni, i dischi, le macchine virtuali e l'accesso condiviso. È incluso un gestore file integrato nell'interfaccia web e un emulatore di terminale che funziona nel browser. È possibile creare regole per eseguire azioni e notificare l'amministratore in caso di consumo eccessivo dello spazio su disco, malfunzionamenti nei dispositivi di archiviazione e surriscaldamento.

Supporto per l'esecuzione di ambienti e applicazioni isolate, utilizzando la virtualizzazione basata su QEMU/KVM e l'isolamento dei contenitori tramite l'ambiente runtime k3s (è possibile installare direttamente i chart Helm per eseguire applicazioni nei contenitori e configurare il forwarding tramite nginx ingress dal WebUI). È supportata l'integrazione con la piattaforma Kubernetes, per la quale è fornito un driver CSI per l'allocazione dinamica dello spazio di archiviazione. La distribuzione predefinita invia telemetria con dati anonimizzati sul numero di dischi e le dimensioni dello storage (la telemetria può essere disattivata nella sezione 'Impostazioni → Telemetria').

Le ragioni per scegliere Bcachefs invece di ZFS includono lo sviluppo attivo, la fornitura sotto licenza GPL, un modello semplice di lavoro con il file system, sottolivelli e snapshot (senza concetti complessi come dataset, zvol e pool annidati) e la presenza di funzionalità avanzate, come il trasferimento automatico di dati raramente utilizzati su dischi lenti, codici di correzione degli errori e ripristino di danni senza fermare il lavoro con il file system.

Tra le modifiche nella versione NASty 0.0.3 si segnalano:

  • transizione all'uso del meccanismo nix flake per il pacchettizzazione e la gestione delle dipendenze;
  • supporto VPN Tailscale per il passaggio di NVMe-oF tramite VPN;
  • integrazione del runtime k3s; aggiunta di NUT (Network UPS Tools) per il monitoraggio dei dispositivi di alimentazione ininterrotta;
  • web panel per la configurazione fine di NFS, SMB e iSCSI (inclusa l'opzione di selezionare il pianificatore I/O, la registrazione e il backup dei metadati);
  • ulteriori configurazioni per Bcachefs (gestione dei codici di correzione degli errori, selezione dell'algoritmo di checksum, riequilibrio online, ecc.);
  • supporto della cache Cachix per velocizzare la distribuzione degli aggiornamenti;
  • possibilità di generazione certificati TLS. tramite Let’s Encrypt;
  • inclusione degli strumenti iotop-c, btop, fwupd, rsync e croc.

Rilascio di Bcachefs 1.38.0. Distribuzione NASty per il deployment di NAS basato su Bcachefs

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster