"ext4lazyinit" funcionando desde hace 6 días en una nueva matriz RAID5

"ext4lazyinit" funcionando desde hace 6 días en una nueva matriz RAID5

Sé que hay muchos temas "ext4lazyinit". Pero se trata de discos duros de 4 a 6 TB y un cartel que indica que finalmente se completó después de unas horas.

Por mi parte, tengo un área RAID5 recién creada, con un disco de 5*14 TB (por lo tanto, un tamaño total de 51 TB), y "ext4lazyinit" se está ejecutando desde... 6 días (= desde el último reinicio, pero probablemente haya estado ejecutándose un par de días). antes de que). Y, por supuesto, genera constantemente E/S en el arreglo. No hay errores en ninguna parte, así que fuera de esto, todo parece estar bien.

Pero ¿por qué tardan tanto? Ok, la matriz de discos es grande, pero... ¡¿6 días?!

Al principio no estaba consciente de este comportamiento, así que en algún momento (un par de días después de haber creado la matriz raid) reinicié el sistema; el "ext4lazyinit" parece haberse reiniciado automáticamente después de eso, pero ¿es posible? ¿Que el reinicio ha dañado algo?

ps -ef|grep lazy
root       583     2  0 Dec02 ?        00:04:37 [ext4lazyinit]

¿Y hay alguna forma de monitorear el progreso de este proceso (algo así como cat /proc/mdstatque esté disponible para algunas operaciones de mdadm)? (No he podido encontrar nada en dmesg, journalctl ni en ningún otro registro)

Cabe señalar (¿y tal vez esto explique por qué es tan lento?), la cantidad de E/S parece constante a lo largo del tiempo, pero bastante baja (entonces, ¿quizás el proceso no se esté ejecutando a la velocidad máxima del disco duro?). ¿Hay alguna manera de aumentar esa velocidad?

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    0.00    0.42    1.17    0.00   98.17

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
mmcblk0           0.00         0.00         0.00          0          0
sda               3.00         0.00         8.50          0         17
sdb               5.00       256.00       264.50        512        529
sdc               4.00       192.00       200.50        384        401
sdd               4.00        64.00        72.50        128        145
sde               3.00         0.00         8.50          0         17
md0               0.50         0.00       256.00          0        512

Respuesta1

Estoy teniendo el mismo problema. Matriz RAID5 de 24 GB y ayer comencé un mkfs.ext4. Dejo esto aquí para cualquiera que encuentre este hilo con la información que encontré.

La forma más sencilla de hacer esto es simplemente mkfs.ext4 con las opciones diferidas desactivadas y luego esperar mucho tiempo hasta que inicialice todo. Si desea utilizar su matriz, de todos modos no será excelente en discos giratorios, ya que se producirán muchas E/S dispersas hasta que finalice el inicio diferido y esto eliminará por completo la velocidad de lectura/escritura.

mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/md0

Acelerarlo: Montar con esta opción: init_itable=0 (ese es el multiplicador de cuánto tiempo espera después de poner a cero un fragmento (el valor predeterminado es 10, lo que significa esperar 10 veces el tiempo que tomó poner a cero el último antes de continuar. 0 = hazlo de inmediato, pero acapara mucho más ancho de banda de E/S).

El enlace en los comentarios de arriba (¿Obligar a ext4lazyinit a terminar lo suyo?) es muy útil para monitorear el progreso. Escrituras actuales versus sectores totales de fdisk. Llevo un día y ahora estoy al 54%, así que supongo que estoy llegando allí... el inicio diferido se ejecuta a algo así como 10-12 MB/s de escritura.

Asegúrate de no estar haciendo nada más en el disco y:

echo 1 > /proc/sys/vm/block_dump  # Turn on logging in /var/log/syslog
fdisk -l /dev/md0                 # Note total sectors.
echo 0 > /proc/sys/vm/block_dump  # Turn of logging.  Don't fill the log :)

Divida los sectores en los que se escribe desde syslog con el total de fdisk.

Espero que ayude a la próxima persona que se encuentre con esto. Ahora solo tengo que esperar un día más hasta que esté listo y luego podré comenzar a usar la matriz a velocidades decentes. (Hasta entonces, todavía puedo sacar 30 MB/s, así que no es inútil)

información relacionada