Rilascio del file system Bcachefs 1.33.0

Kent Overstreet ha pubblicato la versione 1.33.0 del file system Bcachefs. Questa versione include due pacchetti: bcachefs-kernel-dkms con il modulo del kernel compilato tramite 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 ripristino e la verifica del filesystem. I pacchetti sono disponibili per Debian, Ubuntu, Fedora, openSUSE, NixOS e Arch Linux. Il modulo DKMS supporta il funzionamento con i kernel Linux a partire dalla versione 6.16.

La nuova versione ha introdotto la funzionalità «reconcile» (rebalance_v2), considerata come il maggiore cambiamento nel filesystem degli ultimi due anni. A differenza della modalità «rebalance» precedentemente disponibile, il meccanismo «reconcile» consente di eseguire la ribilanciatura non solo dei dati (ad esempio, replicando più copie su diversi dispositivi di archiviazione), ma anche dei metadati nel filesystem (ad esempio, per spostare i metadati dopo l'aggiunta di un ulteriore dispositivo nel pool). Inoltre, il reconcile è ora applicabile a tutte le opzioni di input/output e non solo alle operazioni di copia in background e compressione. In reconcile, vengono automaticamente considerate le modifiche delle opzioni o delle impostazioni dei dispositivi e i dati e i metadati degradati vengono immediatamente ripristinati.

Nel reconcile vengono utilizzati indici separati per: operazioni ad alta priorità; ottimizzazione del trattamento dei dati sui dispositivi di archiviazione; dati programmati per l'elaborazione che non possono essere attualmente eseguiti (ad esempio, a causa di mancanza di spazio). È stata aggiunta la possibilità di creare un filesystem su un singolo dispositivo in modalità di replica doppia (replicas=2): in tale configurazione, l'aggiunta di un secondo dispositivo comporterà la replica automatica dei dati su disco aggiunto, senza necessità di alcuna azione da parte dell'utente.

Tra le altre modifiche:

  • Sono stati aggiunti i comandi «reconcile status» e «reconcile wait». Sono state introdotte opzioni di montaggio quali «mount_trusts_udev» e «writeback_timeout». Le seguenti operazioni sono state dichiarate obsolete: «data rereplicate», «data job drop_extra_replicas».
  • È stata aggiunta la modalità di recupero «merge_btree_nodes», che esegue controlli su tutti i nodi nelle strutture btree interessati dalle operazioni di fusione.
  • È stata completata la preparazione del codice per la transizione all'uso del linguaggio Rust. Il numero di operazioni goto utilizzate nel codice è stato ridotto da 2500 a 600. Al posto dei vettori codificati in modo statico, è stato utilizzato il macro DARRAY(), che fornisce funzionalità simili agli array dinamici di C++ e Rust. Per la gestione degli errori è stato utilizzato il macro try(), preso in prestito da Rust.
  • Nel comando «bcachefs fs usage» è stato garantito un corretto avviso sui dati degradati.
  • È stata rivisitata la gestione dei contatori mostrati dal comando «bcachefs fs top». È stata semplificata l'aggiunta di nuovi contatori e realizzata la possibilità di convertire i tracepoint in printbufs.
  • È stata migliorata la qualità dei messaggi di errore, che ora includono informazioni sui tipi di guasti (software o hardware), azioni per risolvere l'errore (ad esempio, avvio di un processo di recupero), codici di errore I/O ricevuti dai dispositivi a blocchi e dispositivi non presenti. Durante la scansione delle strutture btree è stata garantita l'emissione di informazioni sulla possibilità di recupero dei nodi problematici.
  • Durante la registrazione nei log è stata aggiunta la possibilità di definire limiti separati sull'intensità di output per diversi tipi di errori. Tali limiti aiutano a prevenire la perdita di messaggi riguardanti singoli problemi hardware a causa di un elevato numero di messaggi sugli errori software.
  • Per tutte le fasi di recupero sono stati aggiunti indicatori di progresso.

Il progetto Bcachefs sviluppa un file system mirato a combinare la funzionalità avanzata tipica di Btrfs e ZFS con il livello di prestazioni, affidabilità e scalabilità caratteristico di XFS. Bcachefs supporta funzionalità come l'inclusione in partizioni di più dispositivi, layout a più livelli dei supporti (uno strato con dati frequentemente utilizzati basati su SSD veloci e uno strato superiore con dati meno richiesti da hard disk), replica (RAID 1/10), caching, compressione dei dati trasparente (modalità LZ4, gzip e ZSTD), istantanee di stato (snapshot), verifica dell'integrità tramite checksum, possibilità di immagazzinare codici di correzione degli errori di Reed-Solomon (RAID 5/6), archiviazione delle informazioni in forma crittografata (vengono utilizzati ChaCha20 e Poly1305). In termini di prestazioni, Bcachefs supera Btrfs e altri file system basati su Copy-on-Write, mostrando velocità di lavoro simili a quelle di Ext4 e XFS.

Fonte: opennet.ru

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