Журналирование ext4 jbd2 активно даже на пустой файловой системе

Журналирование ext4 jbd2 активно даже на пустой файловой системе

У меня возникло несколько проблем с файловой системой ext4, которые, по-видимому, связаны сjbd2ведение дневника. Я сделал соответствующий постздесьи я перефразирую его в надежде, что кто-то сможет помочь.

Для простого примера я начну с пустой USB-флешки на 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, но они не помогли (например.здесь).

решение1

Похоже, что ext4 выполняет свое «быстрое форматирование», постпостигнув большую часть своей инициализации до тех пор, пока она не будет смонтирована (возможно, опция uninit_bg?), и я подозреваю, что jbd2 делает это после того, как вы впервые отформатировали диск. Один из комментариевздесьпредположил, что jbd2 пишет в раздел после создания в течение времени, пропорционального его размеру, и предложил 10 минут на 200 ГБ, что будет означать 50 минут на ТБ. Вчера я отформатировал диск ext4 на 3 ТБ, и jbd2 писал целую вечность, но теперь он остановился.

Кстати, btrfs этого не делает, но я пока не доверяю ей для внешних дисков — например, вам нужно последнее ядро ​​(3.4+, я думаю), иначе ядро ​​даст сбой (и, возможно, потеряет данные), если вы извлечете диск, не отмонтировав его предварительно (что, конечно, произойдет, если он отключится от питания).

Связанный контент