He configurado un nivel 5 de incursión de software de Linux que consiste en discos de 4 * 2 TB. La matriz de discos se creó con un tamaño de banda de 64k y ningún otro parámetro de configuración. Después de la reconstrucción inicial, intenté crear un sistema de archivos y este paso lleva mucho tiempo (aproximadamente media hora o más). Traté de crear un sistema de archivos xfs y ext3, ambos tomaron mucho tiempo, con mkfs.ext3 Observé el siguiente comportamiento, que podría ser útil:
- escribir tablas de inodo se ejecuta rápidamente hasta llegar a 1053 (~ 1 segundo), luego escribe aproximadamente 50, espera dos segundos, luego se escriben los siguientes 50 (según la pantalla de la consola)
- cuando trato de cancelar la operación con Control + C se cuelga durante medio minuto antes de que se cancele realmente
El rendimiento de los discos individualmente es muy bueno, he ejecutado bonnie ++ en cada uno por separado con valores de escritura / lectura de alrededor de 95 / 110MB / s. Incluso cuando ejecuto bonnie ++ en cada unidad en paralelo, los valores solo se reducen en aproximadamente 10 MB. Por lo tanto, estoy excluyendo la programación de hardware / E / S en general como fuente de problemas.
Probé diferentes parámetros de configuración para stripe_cache_size y readahead size sin éxito, pero no creo que sean tan relevantes para la operación de creación del sistema de archivos.
Los detalles del servidor:
- Servidor Linux 2.6.35-27-genérico # 48-Ubuntu SMP x86_64 GNU / Linux
- mdadm - v2.6.7.1
¿Alguien tiene una sugerencia sobre cómo depurar esto más?
fuente
time mkfs.xfs -l sunit=128 -d agsize=64g,sunit=128,swidth=512 -b size=4096 /dev/md0 -f
que tomó aproximadamente el mismo tiempo que mkfs sin ningún parámetroSospecho que te encuentras con el típico problema de escritura pequeña RAID5. Para escrituras por debajo del tamaño de una franja, tiene que hacer una lectura-modificación-escritura tanto para los datos como para la paridad. Si la escritura es del mismo tamaño que la banda, simplemente puede sobrescribir la paridad, ya que sabe cuál es el valor y no tiene que volver a calcularlo.
fuente
Su mkfs y el rendimiento posterior del sistema de archivos podrían mejorar si especifica el ancho de banda y el ancho de banda al crear el sistema de archivos. Si está utilizando los bloques predeterminados de 4k, su zancada es 16 (banda RAID de 64k dividida por el bloque del sistema de archivos de 4k) y su ancho de banda es 48 (zancada del sistema de archivos de 16 multiplicado por los 3 discos de datos en su matriz).
fuente