Все жалуются на свою память, но никто не жалуется на свой ум (Ф. Ларошфуко).

Файловая система BeamFS предложена для включения в ядро Linux


Файловая система BeamFS предложена для включения в ядро Linux

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

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

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

BeamFS разбивает каждый блок данных размером 4 КБ на 16 чередующихся кодовых слов Рида — Соломона RS(255,239). Это позволяет исправлять до восьми поврежденных байтов на кодовое слово, при этом требуется около 7 % дополнительной памяти для хранения информации, необходимой для исправления ошибок.

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

Если восстановление не удается, файловая система возвращает ошибку ввода-вывода, а не предоставляет потенциально поврежденные данные без предупреждения. Идея проста: лучше вернуть ошибку, чем предоставить неверную информацию без предупреждения.

Кроме того, для исправления ошибок BeamFS не требует наличия нескольких устройств хранения или зеркальных копий. Вместо этого она использует избыточность, хранящуюся вместе с данными, хотя объем данных, которые она может восстановить, ограничен схемой исправления ошибок.

Разработчик опубликовал экспериментальные результаты тестирования на системах x86-64 и ARM64 под управлением Linux 7.3-rc5. В ходе имитации однобитовой ошибки BeamFS почти во всех случаях восстанавливала исходные данные, а в одном случае выдала ошибку ввода-вывода вместо некорректного содержимого.

В ходе тех же тестов файловые системы ext3 и ext4 иногда возвращали поврежденные данные, не обнаруживая проблему, в то время как Btrfs обнаруживала повреждение, но не могла его исправить. Эти результаты применимы только к протестированным сценариям и не должны рассматриваться как общее сравнение надежности файловых систем.

Однако у BeamFS есть несколько важных ограничений. В настоящее время в ней не реализована поддержка журналирования и копирования при записи, а это значит, что при неожиданном завершении работы может потребоваться полная проверка целостности файловой системы с помощью fsck.beamfs.

Что еще более важно, проект все еще находится на стадии эксперимента. В документации прямо указано на известные ошибки, которые могут привести к потере данных, уязвимостям в системе безопасности и сбоям ядра. Некоторые проблемы уже устранены в ветке разработки, но файловая система не считается безопасной для производственных задач.

На данный момент это первоначальный запрос на рассмотрение и обсуждение среди разработчиков файловых систем Linux. Пока нет информации о том, когда BeamFS может быть включена в основное ядро Linux и будет ли это сделано.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала