Предотвращение повреждения файловой системы в встроенной системе 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, чтобы все изменения в файлах и метаданных файловой системы записывались в журнал, а не только метаданные. Это позволит избежать неполных ситуаций записи, таких как размер файла, который увеличивается, но данные, которые были добавлены, теряются и заменяются нулевыми символами.

  • Есть ли файловая система, которая позволяет мне вставить некоторый блок в середине файла в O (1)?
  • Если моя программа обнаруживает, что потеря мощности произойдет через несколько секунд, что она может сделать, чтобы избежать повреждения данных?
  • Настройки формата диска для Linux-загрузочного
  • Interesting Posts

    Как смонтировать удаленный каталог sshfs на общедоступном сервере на недоступном клиентском компьютере?

    Установка Linux на внешний жесткий диск и многозадачность с помощью Windows 7/8

    Ubuntu – PulseAudio – приемник всегда проигрывает синхронизацию

    Как получить deboostrap (через live-build), чтобы использовать брекетинг Raspbian?

    iptables / pf разрешить только XY-приложение / пользователь?

    Как изменить ulimit для открытых файлов на SUSE Linux Enterprise Server 10.4 на постоянной основе?

    невозможно создать ключевое слово id_resolver для сопоставления идентификаторов nfs

    уклоняющийся модуль в ошибке apache: «Невозможно найти структуру модуля API` evasive24_module »

    Дисковое пространство недоступно для раздела

    Печать состояния файлов, обрабатываемых при использовании find

    Правило rsyslog не применяется

    Изменение размера (увеличения) основного раздела ОС

    Полная установка на RAID1 + LVM

    echo $ 1 = некотируемая разнесенная строка?

    Файл, содержащий файловую систему ext

    Linux и Unix - лучшая ОС в мире.