diario de ext4 jbd2 activo incluso en un sistema de archivos vacío

8

He tenido varios problemas con mis sistemas de archivos ext4 que parecen deberse al diario jbd2 . Hice una publicación relacionada aquí y la reformulo con la esperanza de que alguien pueda ayudar.

Para un ejemplo mínimo, comienzo con una memoria USB vacía de 8 gb y uso gparted para crear una partición ext4. El comando utilizado por gparted al crear el sistema de archivos ext4 es:

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

Compruebo el sistema de archivos con gparted:

e2fsck -f -y -v /dev/sde1

y lo monte:

sudo mount /dev/sde1 /media/test

El disco está vacío, pero el registro en diario está muy activo en este disco (/ dev / sde1). Los otros discos son SSD ext4 formateados de manera similar. Una instantánea de 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]

¿Qué está haciendo jbd2 con / dev / sde1?

Si sigo los mismos pasos con un disco de 2Tb más grande, iotop indica que jbd2 escribe constantemente en este disco vacío a una velocidad de Mb / s tan pronto como lo monte.

En los otros discos, que tienen el sistema operativo y / home, he intentado encontrar si los archivos están modificando los procesos para causar este comportamiento, pero no pude encontrar ninguno. También moví muchos de los procesos intensivos en disco para usar un tmpfs. Y usado noatime.

Tengo otro disco duro que no es SSD en esta máquina, / dev / sdb, que también es ext4 pero no fue formateado por gparted (que me dio un compañero de trabajo). No aparece en iotop. Así que supongo que hay un problema con gparted.

Cualquier sugerencia es apreciada. También cualquier consejo sobre cómo modificar particiones existentes para solucionar el problema sin tener que comenzar desde cero sería genial.

Hay algunas publicaciones relacionadas con jbd2 pero no ayudaron (por ejemplo, aquí ).

Pablo
fuente
¿Comenzaste a iotop antes de formatear el disco? En ese caso, muestra los datos escritos durante el formato.
jippie
@jippie Comencé iotop después de formatear los discos. El disco en el ejemplo mínimo está vacío. En los discos con un formato similar, la actividad jbd2 ocurre incluso si no se escriben archivos (comprobado con find en todo mi sistema de archivos).
Paul
¿Intentaste montarlo con mount -o noatime ... ...?
jippie
He intentado noatime. No parecía hacer nada.
Paul
Podría estar relacionado: bugs.launchpad.net/ubuntu/+source/linux/+bug/607560
Glutanimate

Respuestas:

7

Parece que ext4 hace su 'formato rápido' al posponer una gran parte de su inicialización hasta que esté montado (¿la opción uninit_bg, tal vez?) Y sospecho que jbd2 está haciendo esto después de formatear la unidad por primera vez. Uno de los comentarios aquí sugirió que jbd2 escribe en la partición después de la creación durante un tiempo proporcional a su tamaño, y sugirió 10 minutos por 200 GB, lo que indicaría 50 minutos por TB. Ayer formateé un disco ext4 de 3TB y jbd2 estaba escribiendo por años, pero ahora se ha detenido.

btrfs no hace esto, por cierto, pero todavía no confío en él para unidades externas; por ejemplo, necesita un kernel reciente (3.4+, creo) o el kernel funcionará (y posiblemente perderá datos) si extrae la unidad sin desmontarlo primero (lo que, por supuesto, sucede si pierde potencia).

rocko
fuente
Wow, nunca pensé en eso (y de alguna manera lo extrañé después de leer el mismo hilo). Intentaré confirmar con respecto a uninit_bg, pero si usted o alguien más está seguro, puedo marcarlo como respondido.
Paul