файловые системы ext4 часто развращают

У нас есть случайные отключения электроэнергии в нашей среде, которые, похоже, вызывают повреждение данных на наших машинах Ubuntu с файловыми системами ext4.

По моему мнению, по умолчанию ext4 использует data=ordered

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

Означает ли это, что, если есть перебой в электропитании, и операция записи на диск прерывается, что может быть повреждение файловой системы?

Если я хочу полностью устранить повреждение файловой системы из-за перебоев в подаче электроэнергии, я бы предположил, что буду использовать data=journaled , есть ли какие-либо негативные последствия для этого, кроме удара производительности?

Бонус: Как изменить тип ведения журнала в моей файловой системе из data=ordered по другому. Я предполагаю, что мне нужно будет внести изменения в журнал, но я не совсем уверен, как и в каком порядке выполнять эти операции.

Просто становится очень неприятно, что Ubuntu (initramfs) не имеет каких-либо утилит восстановления файловой системы, поэтому любой способ, которым мы можем помочь предотвратить появление в реальном времени компакт-диска, замечательно.

Мой / etc / fstab

 # / etc / fstab: информация о статической файловой системе.
 #
 # Используйте 'blkid -o value -s UUID' для печати универсально уникального идентификатора
 # для устройства;  это можно использовать с UUID = как более надежный способ назвать
 #, которые работают, даже если диски добавлены и удалены.  См. Fstab (5).
 #
 #                
 proc / proc proc по умолчанию 0 0
 # / был включен / dev / sda1 во время установки
 UUID = 9cd71f51-53bb-44c7-affa-14293e59d596 / ext4 errors = remount-ro 0 1
 # swap был включен / dev / sda5 во время установки
 UUID = 5568cee1-a50b-4409-ad67-cdc5bfb592a3 нет swap sw 0 0
 / dev / scd0 / media / cdrom0 udf, iso9660 user, noauto, exec, utf8 0 0

Версия ОС

 -bash-4.0 # uname -a
 Linux LG-F3-19 2.6.31-14-server # 48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU / Linux
 -bash-4.0 # lsb_release -a
 Нет доступных модулей LSB.
 Идентификатор дистрибьютора: Ubuntu
 Описание: Ubuntu 9.10
 Выпуск: 9.10
 Codename: кармический

Изображение отказа: http://imgur.com/odo4iBY

Ссылки: https://www.kernel.org/doc/Documentation/filesystems/ext4.txt http://www.ibm.com/developerworks/library/l-journaling-filesystems/

  • Как узнать, когда я установил пакет FOO
  • Почему отправка электронной почты с помощью mutt работает в gmail, но не в Evernote?
  • Что делает adduser для этого useradd?
  • chmod 600 терпит неудачу
  • Как расширить / загрузить раздел на Ubuntu 15.10?
  • Почему для доступа к SD-карте требуется аутентификация?
  • Не удалось экспортировать FUSE через NFS
  • Monodevelop D Bindings для Debian / Ubuntu?
  • One Solution collect form web for “файловые системы ext4 часто развращают”

    Все три режима ведения журнала данных должны оставить полностью неповрежденную файловую систему после сбоя питания. Поэтому он всегда должен монтироваться без ошибок. Разница заключается только в данных в ваших файлах; data=writeback режим data=writeback записи может оставить устаревшие данные (т. е. то, что было data=writeback в секторах диска до записи вашего приложения). data=ordered и data=journaled не должны этого делать.

    Скорее всего, вы видите, что барьеры ввода-вывода не работают над вашей настройкой. Во-первых, убедитесь, что вы не монтируете с barrier=0 / nobarrier . Это повышает производительность, но приведет к повреждению при сбое питания.

    Если барьеры ввода-вывода включены, возможно также, что вы проходите через слой хранения, который их не поддерживает. В более ранних версиях LVM не делал, а различные уровни mdraid этого не делали. (Это было исправлено в Linux 2.6.33, поэтому, только если вы все еще используете Lucid.)

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

    Также обратите внимание, что диски с флэш-памятью выполняют большую работу под капотом, и многие из них не справляются с отказом питания. (Например, для выравнивания износа иногда требуется перемещение полного флэш-блока данных. Если питание падает в середине, на некоторых флэш-дисках происходят плохие вещи.)

    Наконец … вы считали ИБП?

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