Журналирование в современных файловых системах необходимо чтобы восстановить файловую систему после сбоя, если во время сбоя выполнялись операции записи данных. Если запись данных была выполнена не полностью, то файловая система останется в повреждённом состоянии и её будет невозможно смонтировать.
При включённом журнале утилита fsck во время загрузки системы сможет её проверить и восстановить состояние из журнала. В этой статье мы рассмотрим как отключить журналирование в Ext4.
Отключение журналирования Ext4
Чтобы проверить включена ли для нужного раздела диска поддержка журналирования выполните:
sudo dumpe2fs /dev/nvme0n1p5 | grep has_journal
Здесь /dev/nvme0n1p5 — это файл вашего раздела, это может быть /dev/sda1 или что-то подобное. Если в строчке Filesystem Features есть строка has_journal, значит журнал включён. По умолчанию он включён и всё работает. Вы можете полностью отключить журналирование файловой системы, для этого выполните:
sudo tune2fs -O ^has_journal /dev/nvme0n1p5
Или же, если вы не хотите полностью отключать журналирование, но хотите повысить производительность файловой системы, можно включить режим writeback. В этом режиме в журнал данные вообще не записываются, только метаданные. Сначала данные попадают на диск, затем операция записывается в журнал. Так работает журналирование в XFS, JFS и ReiserFS. В этом режиме Ext4 показывает самую высокую производительность. Для его включения выполните:
sudo tune2fs -o journal_data_writeback /dev/nvme0n1p5
Чтобы вернуть режим журналирования по умолчанию выполните:
sudo tune2fs -o journal_data_ordered /dev/nvme0n1p5
Аналогично режим writeback можно включить через /etc/fstab. Здесь в опции монтирования нужного раздела надо добавить data=writeback:
sudo vi /etc/fstab
Чтобы ещё сильнее увеличить производительность можно сюда же добавить опцию noatime, она отключает обновление поля последнего доступа к файлу. Это очень сильно уменьшает количество обращений к диску и увеличивает срок жизни SSD.
Материал распространяется по лицензии CC-BY-SA