ext4 jbd2 Journaling auch bei leerem Dateisystem aktiv


8

Ich hatte mehrere Probleme mit meinen ext4-Dateisystemen, die anscheinend auf jbd2- Journaling zurückzuführen sind. Ich habe einen ähnlichen Beitrag hier und es mit der Hoffnung bin Umformulierung , dass jemand Hilfe der Lage sein kann.

Als minimales Beispiel beginne ich mit einem leeren 8-GB-USB-Stick und verwende gparted , um eine ext4-Partition zu erstellen. Der Befehl, den gparted beim Erstellen des ext4-Dateisystems verwendet, lautet:

mkfs.ext4 -j -O extent -L DataTraveler8gb /dev/sde1

Ich überprüfe das Dateisystem mit gparted:

e2fsck -f -y -v /dev/sde1

und ich montiere es:

sudo mount /dev/sde1 /media/test

Die Festplatte ist leer, aber das Journaling ist auf dieser Festplatte (/ dev / sde1) sehr aktiv. Die anderen Festplatten sind ext4-SSDs, die ähnlich formatiert sind. Ein Schnappschuss von 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]

Was macht jbd2 mit / dev / sde1?

Wenn ich die gleichen Schritte mit einer größeren 2-TB-Festplatte befolge, zeigt iotop an, dass diese leere Festplatte ständig von jbd2 mit einer Geschwindigkeit von Mb / s beschrieben wird, sobald ich sie einbinde.

Auf den anderen Datenträgern mit Betriebssystem und / oder Home habe ich versucht festzustellen, ob Dateien von Prozessen geändert werden, um dieses Verhalten zu verursachen, konnte jedoch keine finden. Ich habe auch viele der festplattenintensiven Prozesse verschoben, um ein tmpfs zu verwenden. Und noatime verwendet.

Ich habe eine andere Nicht-SSD-Festplatte auf diesem Computer, / dev / sdb, die ebenfalls ext4 ist, aber nicht von gparted formatiert wurde (mir von einem Kollegen gegeben). Es erscheint nicht in iotop. Ich gehe also von einem Problem mit gparted aus.

Anregungen sind willkommen. Auch Tipps zum Ändern vorhandener Partitionen, um das Problem zu beheben, ohne von vorne beginnen zu müssen, sind hilfreich.

Es gibt einige Beiträge zu jbd2, aber sie haben nicht geholfen (z. B. hier ).


Sie haben iotop gestartet, bevor Sie die Festplatte formatiert haben? In diesem Fall werden die während des Formats geschriebenen Daten angezeigt.
Jippie

@jippie Ich habe iotop nach dem Formatieren der Festplatte (n) gestartet. Die Festplatte im minimalen Beispiel ist leer. Auf den ähnlich formatierten Datenträgern tritt die jbd2-Aktivität auch dann auf, wenn keine Dateien geschrieben wurden (überprüft mit find auf meinem gesamten Dateisystem).
Paul

Haben Sie versucht, es mit zu montieren mount -o noatime ... ...?
Jippie

Ich habe es mittags versucht. Es schien nichts zu tun.
Paul

Antworten:


7

Es scheint, dass ext4 sein 'schnelles Format' ausführt, indem es einen Großteil seiner Initialisierung nachträglich veröffentlicht, bis es gemountet ist (die Option uninit_bg vielleicht?), Und ich vermute, dass jbd2 dies tut, nachdem Sie das Laufwerk zum ersten Mal formatiert haben. Einer der Kommentare hier schlug vor, dass jbd2 nach der Erstellung für eine Zeit proportional zur Größe in die Partition schreibt, und schlug 10 Minuten pro 200 GB vor, was 50 Minuten pro TB bedeuten würde. Ich habe gestern ein 3 TB ext4-Laufwerk formatiert und jbd2 hat ewig weggeschrieben, aber es hat jetzt aufgehört.

btrfs tut dies übrigens nicht, aber ich vertraue es noch nicht für externe Laufwerke - z. B. benötigen Sie einen aktuellen Kernel (3.4+, glaube ich), oder der Kernel wird oops (und möglicherweise Daten verlieren), wenn Sie das Laufwerk entfernen ohne es zuerst abzunehmen (was natürlich passiert, wenn es die Energie verliert).


Wow, daran habe ich nie gedacht (und irgendwie habe ich es verpasst, nachdem ich den gleichen Thread gelesen habe). Ich werde versuchen, dies in Bezug auf uninit_bg zu bestätigen, aber wenn Sie oder jemand anderes sicher sind, kann ich es als beantwortet markieren.
Paul
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.