Пусть моя файловая система будет ext4 подключена с data=journal . Я не до конца понимаю, что происходит при отключении питания файловой системы в этом случае. Итак, у меня есть следующие вопросы:

  • При каких обстоятельствах данные, которые уже сохранены на жестком диске (независимо от того, твердотельный или жесткий диск), могут быть повреждены (изменены) при отключении питания?
  • При каких обстоятельствах данные, записываемые при пропадании питания, будут противоречивыми? (Я имею ввиду что-то будет написано но не равно начальным данным)
  • Что происходит, когда происходит потеря питания во время воспроизведения журнала на fschk?

1 ответ1

0

Я считаю, что этот вопрос относится не только к Linux или ext4, но и к любой файловой системе в целом.

Потеря мощности не уничтожит никаких данных, если на диск не будет записан файл.

Это в основном означает, что когда программа открывает файл, она может делать это разными способами.

Он может сделать так, чтобы просто читать из него, он может сделать так, чтобы записать в него с самого начала (перезаписать все) и добавить в файл (запись в конце файла).

Теперь хитрость в том, что файл имеет 2 сегмента. Это:

  • Оглавление,
  • Данные.

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

Чтение файла обратно - это, очевидно, сначала получение его местоположения, а затем фактического местоположения, получение количества 0 и 1 для формирования фактического файла в памяти.

Когда жесткий диск записывает данные в файл, он делает это, сначала записывая данные на диск, чтобы увидеть, каковы новые начальная и конечная точки (начало обычно одинаковое, но в случае, если данные были фрагментированы и использовался второй блок). его начальная и конечная точки записываются), а те записываются в таблицу разделов.

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

Поскольку чтение в файл фактически не изменяет содержимое диска, потеря мощности здесь не окажет никакого влияния.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .