ext4 journaling jbd2 attivo anche su filesystem vuoto


8

Ho avuto diversi problemi con i miei file system ext4 che sembrano dovuti al journaling jbd2 . Ho pubblicato un post correlato qui e lo sto riformulando con la speranza che qualcuno possa essere in grado di aiutare.

Per un esempio minimo, inizio con una chiavetta USB vuota da 8 GB e utilizzo gparted per creare una partizione ext4. Il comando utilizzato da gparted durante la creazione del file system ext4 è:

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

Controllo il file system con gparted:

e2fsck -f -y -v /dev/sde1

e lo monto:

sudo mount /dev/sde1 /media/test

Il disco è vuoto, ma il journaling è molto attivo su questo disco (/ dev / sde1). Gli altri dischi sono SSD ext4 formattati in modo simile. Un'istantanea di 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]

Cosa sta facendo jbd2 con / dev / sde1?

Se seguo gli stessi passaggi con un disco da 2 TB più grande, iotop indica che questo disco vuoto viene costantemente scritto da jbd2 alla velocità di Mb / s non appena lo monto.

Sugli altri dischi, che hanno il sistema operativo e / home, ho provato a trovare se i file sono stati modificati da processi per causare questo comportamento ma non sono riuscito a trovarne. Ho anche spostato molti dei processi ad alta intensità di disco per usare un tmpfs. E usato mezzogiorno.

Ho un altro disco rigido non SSD su questa macchina, / dev / sdb, che è anche ext4 ma non è stato formattato da gparted (dato a me da un collega). Non appare in Iotop. Quindi presumo che ci sia un problema con Gparted.

Eventuali suggerimenti sono apprezzati. Anche tutti i suggerimenti su come modificare le partizioni esistenti per risolvere il problema senza dover ricominciare da capo sarebbero grandi.

Ci sono alcuni post relativi a jbd2 ma non sono stati d'aiuto (es. Qui ).


Hai avviato iotop prima di aver formattato il disco? In tal caso, mostra i dati scritti durante il formato.
jippie,

@jippie Ho avviato iotop dopo aver formattato il / i disco / i. Il disco nell'esempio minimo è vuoto. Su dischi con formattazione simile, l'attività jbd2 si verifica anche se non viene scritto alcun file (controllato con find sull'intero filesystem).
Paul,

Hai provato a montarlo mount -o noatime ... ...?
jippie,

Ho provato il mezzogiorno. Non sembra fare nulla.
Paul,

Risposte:


7

Sembra che ext4 faccia il suo "formato veloce" postando molta della sua inizializzazione fino a quando non viene montato (l'opzione uninit_bg, forse?) E sospetto che jbd2 lo stia facendo dopo aver formattato per la prima volta l'unità. Uno dei commenti qui suggerito che jbd2 scrive sulla partizione dopo la creazione per un tempo proporzionale alle sue dimensioni, e ha suggerito 10 minuti per 200 GB, che indicano 50 minuti per TB. Ieri ho formattato un disco ext4 da 3 TB e jbd2 scriveva da anni, ma ora si è fermato.

btrfs non lo fa, a proposito, ma non mi fido ancora per le unità esterne - ad esempio, hai bisogno di un kernel recente (3.4+, credo) o il kernel si spegne (e possibilmente perde i dati) se rimuovi l'unità senza prima smontarlo (cosa che ovviamente accade se perde potenza).


Caspita, non ci avevo mai pensato (e in qualche modo l'ho perso dopo aver letto la stessa discussione). Cercherò di confermare per quanto riguarda uninit_bg, ma se tu o qualcun altro è sicuro, posso contrassegnare la risposta.
Paul
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.