Per discutere nella mailing list degli sviluppatori del nucleo Linux, sono stati pubblicati patch per l'implementazione del file system BeamFS, che utilizza la codifica di Reed-Solomon per identificare e recuperare i dati danneggiati in loco in configurazioni con un solo dispositivo. Le principali aree di applicazione di BeamFS includono computer di bordo per satelliti, attrezzature nelle sale di terapia radiante e altri sistemi che operano in condizioni di radiazione elevata, per i quali il ripristino di dati distorti è più critico dell'impossibilità di leggere le informazioni.
Per impostazione predefinita, BeamFS può ripristinare fino a 8 byte persi in ciascun blocco di 255 byte con costi di overhead del 7% (288 byte di codici di ripristino per ogni 4096 byte di dati memorizzati). I codici di correzione degli errori vengono applicati non solo ai dati, ma anche alle informazioni di servizio nel superblocco, inode, indici di directory e bitmap. Il controllo dell'integrità e i tentativi di recuperare i dati mancanti vengono effettuati ad ogni operazione di lettura. Se non è possibile garantire la correttezza delle informazioni, l'operazione termina con un errore “-EIO”, escludendo il ritorno occulto di dati danneggiati.
Esperimenti condotti hanno dimostrato che durante l'irradiazione della scheda i.MX 8M Plus con Linux e il file system ext4 con protoni a energia compresa tra 20 e 58 MeV, il 90% di tutti i guasti si verificava a livello di file system e driver dei dispositivi di memorizzazione. È stata inoltre effettuata una simulazione di singoli disturbi di bit durante la lettura dal supporto: BeamFS e Btrfs hanno riconosciuto con successo il danneggiamento dei dati e hanno sempre restituito un errore, mentre ext4 ed ext3 restituivano silenziosamente dati distorti.
BeamFS garantisce l'integrità e il ripristino solo nella fase dalla lettura del supporto fisico fino al trasferimento nella cache delle pagine in memoria RAM. L'integrità della memorizzazione nella RAM può essere mantenuta grazie a chip di memoria con correzione degli errori.
Tra le limitazioni di BeamFS si segnalano l'assenza di supporto per journaling e modalità Copy-on-Write (CoW): i metadati vengono scritti sul dispositivo in modo non ordinato, quindi in caso di interruzione improvvisa è necessaria una verifica completa tramite fsck.
Oltre a BeamFS, recentemente sono state proposte altre due file system per il nucleo Linux:
- Alla conferenza Linux Plumbers Conference 2026, tenutasi alcuni giorni fa, un ingegnere della Huawei ha presentato (video, diapositive) il file system XMFS (cross-node eXpress Memory File System) per il kernel Linux, progettato per l'uso in cluster con memoria condivisa tra tutti i nodi (simile a tmpfs, ma per la memoria di tutti i nodi). XMFS consente di utilizzare l'interfaccia POSIX standard dei file system per lavorare con la memoria esterna, indirizzata direttamente tramite tecnologie come CXL 3.0 (Compute Express Link) e Huawei United Bus. Il progetto si trova attualmente in fase di prototipo sperimentale e sta passando test interni, e non è ancora pronto per essere integrato nel kernel.

Il file system presenta un'architettura classica per i file system distribuiti, con un modulo dedicato server, responsabile della registrazione, del mantenimento delle tabelle inode e della corrispondenza tra contenuti e metadati con la memoria dei singoli nodi.

Durante i test dell'uso di XMFS per attività come l'accesso condiviso alle immagini dei contenitori da nodi diversi, l'implementazione ha mostrato prestazioni vicine a quelle di tmpfs, includendo pagine di memoria grandi (2 MB huge pages).


- Grazie all'AI è stato sviluppato il file system MeshXFS, un fork di XFS, adattato per l'uso simultaneo su più nodi in un cluster. MeshXFS consente di montare un dispositivo a blocchi comune in modalità lettura-scrittura su nodi diversi, mantenendo l'integrità e gestendo i lock durante l'accesso simultaneo ai dati. Il progetto è iniziato come un esperimento per testare la possibilità di creare, attraverso modelli AI, un driver Linux con un file system che supporta lock distribuiti, accesso parallelo e recupero da guasti. Il lavoro principale è stato svolto utilizzando Claude Opus, ma per risolvere problemi particolarmente complessi sono stati coinvolti modelli di Claude Fable, GPT, Gemini e Astra. L'esperimento è stato dichiarato un successo e sono già state pubblicate diverse versioni operative di MeshXFS.
Tra le funzionalità aggiuntive implementate sopra XFS, si segnala due modalità di gestione dei blocchi distribuiti (sincronizzazione tramite rete e archiviazione dello stato su un disco condiviso separato), garantendo la coerenza della cache su nodi diversi, registrando per il ripristino e adattando il formato del disco e le utility per le specificità del file system cluster. È supportato il lavoro con uno storage condiviso connesso tramite iSCSI (testato su 16 nodi), o nella replica del dispositivo a blocchi tramite DRBD. La coordinazione dei blocchi, le funzioni di rilevamento dei nodi, il controllo dell'accessibilità e la determinazione dei nodi guasti sono implementati in un unico modulo generale del kernel. Il funzionamento è stato testato in Proxmox VE 9, RHEL 9, Ubuntu 24.04/26.04 e Debian 12/13.
Fonte: opennet.ru




