Dla jądra Linux wprowadzone zostały nowe systemy plików BeamFS, XMFS oraz MeshXFS

W dyskusji na liście mailingowej deweloperów jądra Linux opublikowano łatki implementujące system plików BeamFS, który wykorzystuje kodowanie Reed-Solomon do identyfikacji i odzyskiwania uszkodzonych danych na miejscu w konfiguracjach z jednym nośnikiem. Głównymi obszarami zastosowań BeamFS są urządzenia komputerowe satelitów, sprzęt w gabinetach radioterapii oraz inne systemy działające w warunkach podwyższonej radiacji, dla których powrót uszkodzonych danych jest ważniejszy niż niewłaściwe odczytanie informacji.

Domyślnie BeamFS może odzyskać do 8 utraconych bajtów w każdym 255-bajtowym bloku przy narzuceniu 7% (288 bajtów kodów odzyskiwania na każde 4096 bajtów przechowywanych danych). Kody korekcji błędów stosowane są nie tylko dla danych, ale również dla informacji kontrolnych w superbloku, inode, indeksach katalogów i bitmapach. Sprawdzanie integralności oraz próby odzyskania brakujących danych są przeprowadzane przy każdej operacji odczytu. Jeśli nie uda się zapewnić poprawności informacji, operacja kończy się błędem „-EIO”, co wyklucza ukryty powrót uszkodzonych danych.

Przeprowadzone eksperymenty wykazały, że podczas naświetlania płytki i.MX 8M Plus z Linuxem i systemem plików ext4 protonami o energii od 20 do 58 MeV, 90% wszystkich awarii występowało na poziomie systemu plików i sterowników urządzeń przechowywania. Przeprowadzono także symulację pojedynczych zniekształceń bitów podczas odczytu z nośnika: BeamFS i Btrfs skutecznie rozpoznały uszkodzenie danych i zawsze zwracały błąd, podczas gdy ext4 i ext3 cicho zwracały uszkodzone dane.

BeamFS zapewnia integralność i odzyskiwanie danych tylko na etapie odczytu z fizycznego nośnika do przekazywania do pamięci podręcznej w pamięci RAM. Integralność przechowywania w pamięci RAM można utrzymać za pomocą pamięci z korekcją błędów.
Wśród ograniczeń BeamFS zauważono brak wsparcia dla dziennikowania i trybu Copy-on-Write (CoW) — metadane są zapisywane na nośniku w sposób nieuporządkowany, dlatego w przypadku nieskutecznego zakończenia działania wymagana jest pełna kontrola za pomocą fsck.

Oprócz BeamFS niedawno dla jądra Linux zaproponowano jeszcze dwa systemy plików:

  • Podczas konferencji Linux Plumbers Conference 2026, która odbyła się kilka dni temu, inżynier z firmy Huawei zaprezentował (wideo, slajdy) system plików XMFS (cross-node eXpress Memory File System) dla jądra Linux, zaprojektowany do użytku w klastrach z współdzieloną pamięcią operacyjną dla wszystkich węzłów (jak tmpfs, ale dla pamięci wszystkich węzłów). XMFS umożliwia korzystanie z standardowego interfejsu POSIX systemów plików do pracy z pamięcią zewnętrzną, adresowaną bezpośrednio przy pomocy takich technologii jak CXL 3.0 (Compute Express Link) i Huawei United Bus. Projekt znajduje się na etapie prototypu eksperymentalnego, który przechodzi wewnętrzne testy i na razie nie jest gotowy do włączenia do jądra.

    System plików ma klasyczną architekturę typową dla rozproszonych systemów plików z wydzieloną serwery, odpowiedzialną za dziennikowanie, utrzymanie tabel inode oraz mapowanie zawartości i metadanych z pamięcią poszczególnych węzłów.

    Podczas testowania użycia XMFS do zadań takich jak współdzielenie obrazów kontenerów z różnych węzłów, implementacja wykazała wydajność zbliżoną do tmpfs przy włączeniu dużych stron pamięci (2 MB huge pages).


    Odtwarzaj wideo
  • Dzięki AI powstał system plików MeshXFS, będący forkiem XFS, dostosowanym do jednoczesnego używania na wielu węzłach w klastrze. MeshXFS umożliwia zamontowanie wspólnego urządzenia blokowego w trybie odczytu-zapisu na różnych węzłach, zachowanie integralności oraz zarządzanie blokadami podczas jednoczesnego dostępu do danych. Projekt rozpoczął się jako eksperyment mający na celu sprawdzenie możliwości stworzenia przy pomocy modeli AI sterownika Linux z systemem plików, który wspierałby rozproszone blokady, równoległy dostęp oraz odzyskiwanie po awariach. Główna praca została wykonana przy użyciu Claude Opus, ale w celu rozwiązania szczególnie trudnych problemów punktowo angażowane były modele Claude Fable, GPT, Gemini i Astra. Eksperyment został uznany za udany i już opublikowano kilka działających wersji MeshXFS.

    Wśród dodatkowych możliwości zrealizowanych na bazie XFS wyróżniają się dwa tryby zarządzania rozproszonymi blokadami (synchronizacja przez sieć i przechowywanie stanu na osobnym wspólnym dysku), zapewnienie spójności pamięci podręcznej na różnych węzłach, prowadzenie dziennika do odzyskiwania oraz dostosowanie formatu dysku i narzędzi do specyfiki systemu plików klastrów. Obsługiwane jest połączenie z wspólną pamięcią masową przez iSCSI (testowane na 16 węzłach) lub replikacja urządzenia blokowego przy użyciu DRBD. Koordynacja blokad, funkcje wykrywania węzłów, sprawdzanie dostępności oraz identyfikacja węzłów uszkodzonych zostały zrealizowane w jednym wspólnym module jądra. Działanie było testowane w Proxmox VE 9, RHEL 9, Ubuntu 24.04/26.04 oraz Debian 12/13.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster