Мой блог
Новая файловая система BeamFS для Linux исправляет поврежденные данные без резервных копий
В почтовую рассылку разработчиков ядра Linux поступило официальное предложение из 18 патчей, описывающее экспериментальную файловую систему под названием BeamFS. Проект ориентирован на работу в условиях жестких радиационных нагрузок и использует необычный подход к исправлению ошибок.
Создатель проекта Орельен Десбриер (Aurelien Desbrieres) разработал код, инструмент проверки патчей и сопроводительную документацию с привлечением искусственного интеллекта Claude. При этом все отправленные патчи снабжены специальной меткой Assisted-by в соответствии с требованиями политики ядра в отношении ИИ-ассистентов, которая возлагает всю ответственность за конечный код на человека-разработчика.
Как работает исправление данных в BeamFS
Традиционные отказоустойчивые файловые системы, такие как Btrfs и ZFS, восстанавливают поврежденную информацию за счет обращения к ее резервной копии на диске. Новая файловая система BeamFS принципиально отличается тем, что записывает коды коррекции ошибок Рида-Соломона непосредственно внутрь каждого блока данных.
Каждая операция чтения сопровождается проверкой по этим кодам. Небольшие повреждения исправляются «на лету» еще до того, как информация поступит в запрашивающее приложение. Если степень повреждения превышает возможности восстановления, процесс чтения прерывается с ошибкой, что предотвращает выдачу некорректных байтов.
Изначальная концепция проекта родилась из задач космических и специализированных компьютеров, используемых в радиотерапевтических кабинетах. В таких системах носители информации часто ограничены одним накопителем без возможности создания зеркальных копий. Воздействие нейтронов от медицинского оборудования может приводить к инверсии битов в памяти и на дисках. Разработчик подчеркивает, что в подобных условиях тихо отданный ошибочный байт несет гораздо большую угрозу, чем зафиксированный сбой чтения.
На текущем этапе BeamFS еще не проходила испытания в реальных условиях радиационного воздействия. Все тесты проводились путем симуляции повреждений — одиночные биты целенаправленно инвертировались при чтении данных на виртуальных машинах и USB-накопителях.
Согласно результатам технических тестов, файловые системы ext3 и ext4 при повреждениях возвращали ошибочные данные без каких-либо предупреждений, тогда как Btrfs полностью блокировала чтение файла. Разработка Орельена в ходе аналогичных проверок стабильно возвращала правильный файл. Исключение составил лишь один случай, когда инверсия бита затронула указатель на данные файла, после чего система безопасности также заблокировала доступ.
Автор отчета подчеркивает, что данное сравнение носит предварительный характер, поскольку файловые системы тестировались в неравных условиях с разным количеством внесенных ошибок, и документ не претендует на статус полноценного рейтинга.
Близка ли файловая система к включению в ядро Linux
Публикация патчей оформлена как запрос комментариев (RFC). Разработчик пока не требует немедленного слияния кода с основным репозиторием и обращается к мейнтейнерам за экспертной оценкой и ответами на два ключевых вопроса.
Первый вопрос касается архитектурного решения: стоит ли оформлять разработку в виде отдельной файловой системы или интегрировать ее наработки в уже существующую структуру. Второй момент касается журнала транзакций (лога), который традиционно используется для восстановления после аварийных отключений. В текущей версии BeamFS такой журнал отсутствует, а для восстановления после некорректного завершения работы применяется стандартная утилита fsck. Автор уточняет, требуется ли внедрить журнал до дальнейшего рецензирования кода или его можно добавить на последующих этапах.
На момент публикации единственная реакция в почтовой рассылке касалась исключительно алфавитного порядка расположения записи в файле MAINTAINERS. При этом документация проекта содержит строгое предупреждение: в коде присутствуют ошибки, способные привести к потере данных, появлению уязвимостей безопасности и падению ядра Linux, поэтому использовать систему для хранения важных файлов категорически не рекомендуется.

