Предотвращение повреждения файловой системы в встроенной системе Linux

В наши дни я работаю над встроенной системой. Необходимо отключить питание без надлежащего отключения. Мы думаем об Aufs как файловой системе только для чтения. Но проблема в том, что в приложении есть некоторые обновляемые данные, а также пользователю разрешено изменять IP, дату и т. Д. Таким образом, системе нужен дополнительный раздел R / W.

У меня есть несколько вопросов для уточнения.

  1. Как мы можем защитить повреждение системы при внезапном сбое питания?
  2. Я хочу знать, какова лучшая файловая система для встроенной системы?
  3. Может ли ext3 / ext4, как файловая система журнала, автоматически восстанавливать неполный файл обратно?
  4. Является ли BTRFS в RAID1 лучшим решением на данный момент?
  5. Есть ли какое-либо другое широко используемое решение во встроенных системах для предотвращения коррупции системы?

One Solution collect form web for “Предотвращение повреждения файловой системы в встроенной системе Linux”

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

Существует много соображений о том, как обрабатывать последовательность сбоев в любой файловой системе. Если ваше приложение только создает новые файлы или перезаписывает существующие файлы, создавая временный файл и атомарно переписывая с помощью переименования, то по умолчанию данные = упорядоченный режим ext4 будет в порядке. Хотя до тех пор, пока не будет завершен вызов функции fsync () в записи файла AND, или ОС сбросит свой кеш, нет гарантии, что данные будут там после сбоя питания. Это также подразумевает, что ваши устройства хранения выполняют функцию fsync ().

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

  • Как восстановить раздел ext3 после работы с измененным размером?
  • sfdisk показывает невозможное значение и (c, h, s), ожидаемое в другой системе
  • Какая файловая система обеспечивает лучшую защиту для защиты данных от коррупции из-за потери мощности?
  • Linux и Unix - лучшая ОС в мире.