У меня было несколько проблем с моими файловыми системами ext4, которые, по-видимому, связаны с журналированием jbd2 . Я сделал соответствующий пост здесь и перефразирую его в надежде, что кто-то сможет помочь.
В качестве минимального примера я начинаю с пустой 8-гигабайтной флешки и использую gparted для создания одного раздела ext4. Команда, используемая gparted при создании файловой системы ext4:
mkfs.ext4 -j -O extent -L DataTraveler8gb /dev/sde1
Я проверяю файловую систему с помощью gparted:
e2fsck -f -y -v /dev/sde1
и я монтирую это:
sudo mount /dev/sde1 /media/test
Диск пуст, но ведение журнала на этом диске очень активно (/ dev / sde1). Другие диски - это ext4 SSD, отформатированные аналогично. Снимок iotop:
% sudo iotop -oPa
Total DISK READ: 0.00 B/s | Total DISK WRITE: 2027.21 K/s
PID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
262 be/3 root 0.00 B 56.00 K 0.00 % 0.18 % [jbd2/sda1-8]
29069 be/3 root 0.00 B 0.00 B 0.00 % 0.16 % [jbd2/sde1-8]
891 be/3 root 0.00 B 4.00 K 0.00 % 0.03 % [jbd2/sdc1-8]
Что делает jbd2 с / dev / sde1?
Если я выполняю те же действия с большим диском объемом 2 ТБ, iotop указывает, что этот пустой диск постоянно записывается в jbd2 со скоростью Мбит / с, как только я его монтирую.
На других дисках, на которых установлены ОС и / home, я пытался выяснить, изменяются ли какие-либо файлы процессами, чтобы вызвать такое поведение, но не мог их найти. Я также перенес многие процессы с интенсивным использованием диска на использование tmpfs. И использовал noatime.
У меня есть другой жесткий диск без SSD на этом компьютере, / dev / sdb, который также является ext4, но не был отформатирован gparted (предоставлен мне коллегой). Это не появляется в iotop. Поэтому я предполагаю, что проблема с gparted.
Любые предложения приветствуются. Также были бы полезны любые советы о том, как изменить существующие разделы, чтобы устранить проблему без необходимости начинать с нуля.
Есть некоторые сообщения, связанные с jbd2, но они не помогли (например, здесь ).
mount -o noatime ... ...
?Ответы:
Кажется, что ext4 выполняет «быстрое форматирование», выполняя большую часть своей инициализации, пока она не смонтирована (возможно, опция uninit_bg?), И я подозреваю, что jbd2 делает это после первого форматирования диска. В одном из комментариев здесь предлагается, чтобы jbd2 записывал в раздел после создания в течение времени, пропорционального его размеру, и предлагалось 10 минут на 200 ГБ, что будет означать 50 минут на ТБ. Вчера я отформатировал диск ext4 объемом 3 ТБ, и jbd2 долго писал, но теперь он остановился.
btrfs этого не делает, кстати, но я пока не доверяю этому для внешних накопителей - например, вам нужно свежее ядро (3.4+, я думаю), иначе ядро упадет (и, возможно, потеряет данные), если вы извлечете диск без размонтирования сначала (что, конечно, происходит, если он теряет мощность).
источник