Главная | IT | Для ядра Linux реализованы новые файловые системы BeamFS, XMFS и MeshXFS

Для ядра Linux реализованы новые файловые системы BeamFS, XMFS и MeshXFS

Для обсуждения в списке рассылки разработчиков ядра Linux опубликованы патчи с реализацией файловой системы BeamFS, использующей кодирование Рида — Соломона для определения и восстановления повреждённых данных по месту в конфигурациях с одним накопителем. Основными областями применения BeamFS называются бортовые компьютеры спутников, оборудование в кабинетах лучевой терапии и прочие системы, работающие в условиях повышенной радиации, для которых возвращение искажённых данных более критично, чем невозможность прочитать информацию.

По умолчанию BeamFS может восстановить до 8 потерянных байт в каждом 255-байтовом блоке при накладных расходах 7% (288 байт кодов восстановления на каждые 4096 байт хранимых данных). Коды коррекции ошибок применяются не только для данных, но и для служебной информации в суперблоке, inode, индексах директорий и битовых картах. Проверка целостности и попытки восстановления недостающих данных осуществляются при каждой операции чтении. Если гарантировать корректность информации не удаётся, операция завершается ошибкой «-EIO», что исключает скрытое возвращение повреждённых данных.

Проведённые эксперименты показали, что при облучении платы i.MX 8M Plus с Linux и ФС ext4 протонами с энергией от 20 до 58 мэВ, 90% всех сбоев возникало на уровне файловой системы и драйверов устройств хранения. Также была проведена симуляция одиночных искажений битов при чтении с носителя: BeamFS и Btrfs успешно распознали повреждение данных и всегда возвращали ошибку, в то время как ext4 и ext3 молча возвращали искажённые данные.

BeamFS обеспечивает целостность и восстановление только на стадии от чтения с физического носителя до передачи в страничный кэш в оперативной памяти. Целость хранения в оперативной памяти может поддерживаться при помощи чипов памяти с коррекцией ошибок.
Из ограничений BeamFS отмечается отсутствие поддержки журналирования и режима Copy-on-Write (CoW) — метаданные на накопитель записываются неупорядоченно, поэтому в случае некорректного завершения работы требуется полная проверка при помощи fsck.

Кроме BeamFS недавно для ядра Linux были предложены ещё две файловые системы:

  • На прошедшей несколько дней назад конференции Linux Plumbers Conference 2026 инженер из компании Huawei представил (видео, слайды) файловую систему XMFS (cross-node eXpress Memory File System) для ядра Linux, предназначенную для использования в кластерах с общей для всех узлов разделяемой оперативной памятью (как tmpfs, но для памяти всех узлов). XMFS даёт возможность использовать стандартный POSIX-интерфейс файловых систем для работы с внешней памятью, адресуемой напрямую при помощи таких технологий как CXL 3.0 (Compute Express Link) и Huawei United Bus. Проект находится на стадии экспериментального прототипа, проходящего внутреннее тестирование, и пока не готов для передачи в состав ядра.

    Файловая система имеет классическую для распределённых файловых систем архитектуру с выделением сервера, отвечающего за журналирование, поддержание таблиц inode и сопоставление содержимого и метаданных с памятью отдельных узлов.

    При тестировании использования XMFS для таких задач как совместный доступ к образам контейнеров с разных узлов реализация показала производительность близкую с tmpfs с включением больших страниц памяти (2 MB huge pages).

  • При помощи AI подготовлена файловая система MeshXFS, представляющая собой форк XFS, адаптированный для одновременного использования на нескольких узлах в кластере. MeshXFS даёт возможность примонтировать общее блочное устройство в режиме чтения-записи на разных узлах, поддерживать целостность и управлять блокировками при одновременном обращении к данным. Проект начинался как эксперимент по проверке возможности создания при помощи AI-моделей Linux-драйвера с файловой системой, поддерживающей распределённые блокировки, параллельный доступ и восстановление после сбоев. Основная работа выполнена при помощи Claude Opus, но для решения особо сложных проблем точечно привлекались модели Claude Fable, GPT, Gemini и Astra. Эксперимент признан успешным и уже опубликовано несколько рабочих релизов MeshXFS.

    Из дополнительных возможностей, реализованных поверх XFS, отмечены два режима управления распределёнными блокировками (синхронизация по сети и хранение состояния на отдельном общем диске), обеспечение непротиворечивости кэша на разных узлах, ведение журнала для восстановления и адаптация дискового формата и утилит для специфики кластерной ФС. Поддерживается работа с общим хранилищем, подключённым через iSCSI (протестировано на 16 узлах), или при репликации блочного устройства при помощи DRBD. Координация блокировок, функции обнаружения узлов, проверка доступности и определение сбойных узлов реализованы в одном общем модуле ядра. Работа проверена в Proxmox VE 9, RHEL 9, Ubuntu 24.04/26.04 и Debian 12/13.

Источник