web-dev-qa-db-fra.com

La journalisation ext4 jbd2 est active même sur un système de fichiers vide

J'ai eu plusieurs problèmes avec mes systèmes de fichiers ext4 qui semblent être dus à une journalisation jbd2 . J'ai fait un post connexe ici et je le reformule dans l'espoir que quelqu'un pourra peut-être aider.

Par exemple, je commence avec une clé USB vide de 8 Go et utilise gparted pour créer une partition ext4. La commande utilisée par gparted lors de la création du système de fichiers ext4 est la suivante:

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

Je vérifie le système de fichiers avec gparted:

e2fsck -f -y -v /dev/sde1

et je le monte:

Sudo mount /dev/sde1 /media/test

Le disque est vide, mais la journalisation est très active sur ce disque (/ dev/sde1). Les autres disques sont des disques SSD ext4 de même format. Un instantané d'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]

Que fait jbd2 avec/dev/sde1?

Si je suis les mêmes étapes avec un disque plus grand de 2 To, iotop indique que jbd2 écrit en permanence sur ce disque vide au débit de Mb/s dès que je le monte.

Sur les autres disques, qui ont le système d'exploitation et/home, j'ai essayé de trouver si des processus sont en train de modifier des fichiers afin de provoquer ce problème, mais ils n'en ont trouvé aucun. J'ai également déplacé de nombreux processus gourmands en disques pour utiliser un fichier tmpfs. Et utilisé noatime.

J'ai un autre disque dur non-SSD sur cette machine,/dev/sdb, qui est également ext4 mais n'a pas été formaté par gparted (celui-ci m'a été donné par un collègue). Il n'apparaît pas dans iotop. Donc, je suppose qu'il y a un problème avec gparted.

Toutes les suggestions sont appréciées. De même, des conseils sur la façon de modifier les partitions existantes pour résoudre le problème sans avoir à repartir de zéro seraient utiles.

Il y a quelques publications liées à jbd2 mais elles n’ont pas aidé (par exemple ici ).

8
Paul

Il semblerait qu'ext4 fasse son "formatage rapide" en postposant une bonne partie de son initialisation jusqu'à ce qu'il soit monté (l'option uninit_bg, peut-être?) Et je suppose que jbd2 le fait après le premier formatage du disque. L'un des commentaires ici a suggéré que jbd2 écrit sur la partition après la création pendant un temps proportionnel à sa taille et a suggéré 10 minutes par 200 Go, ce qui indiquerait 50 minutes par To. Hier, j’avais formaté un lecteur ext4 de 3 To et jbd2 écrivait depuis des lustres, mais il s’est maintenant arrêté.

btrfs ne le fait pas, mais je ne le fais pas encore pour les lecteurs externes - par exemple, vous avez besoin d'un noyau récent (3.4+, je pense) ou le noyau va avoir un oops (et éventuellement perdre des données) si vous supprimez le lecteur. sans le démonter d’abord (ce qui bien sûr se produit s’il perd de la puissance).

7
rocko