Regresar a RAID: Los lectores de Ars “¿Y si?” edición

Me pongo ansioso si no puedo ver las luces parpadeantes en la gran ventana de Terminal en el fondo mientras se ejecutan las pruebas.
Agrandar / / Me pongo ansioso si no puedo ver las luces parpadeantes en la gran ventana de Terminal en el fondo mientras se ejecutan las pruebas.

Jim Salter

En una cobertura anterior que enfrentaba a ZFS con RAID de kernel de Linux, algunos lectores tenían algunas preocupaciones de que nos hubiéramos perdido algunos trucos para el ajuste de mdraid. En particular, Louwrentius quería que volviéramos a probar mdadm con los mapas de bits deshabilitados, y targetnovember pensó que quizás XFS podría superar a ext4.

Escribir intento mapas de bits son una característica de mdraid que permite que los discos que se han caído y reingresado a la matriz se vuelvan a sincronizar en lugar de reconstruir desde cero. La “antigüedad” del mapa de bits en el disco de retorno se utiliza para determinar qué datos se han escrito en su ausencia, lo que le permite actualizarse solo con los nuevos datos, en lugar de reconstruirlos desde cero.

XFS y ext4 son simplemente dos sistemas de archivos diferentes. Ext4 es el sistema de archivos raíz predeterminado en la mayoría de las distribuciones, y XFS es una empresa de gran impacto que se ve con mayor frecuencia en matrices en los cientos o incluso miles de tebibytes. Probamos ambos esta vez, con el soporte de mapa de bits deshabilitado.

Ejecutar toda la panoplia de pruebas que utilizamos en artículos anteriores no es trivial: el conjunto completo, que prueba una amplia gama de topologías, bloques, números de proceso y tipos de E / S, tarda alrededor de 18 horas en completarse. Pero encontramos el tiempo para ejecutar algunas pruebas contra las topologías de peso pesado, es decir, las que tienen los ocho discos activos.

Una nota sobre los resultados de hoy

El marco que utilizamos para las pruebas de ZFS destruye, construye, formatea y monta matrices automáticamente, así como ejecuta las pruebas reales. Nuestras pruebas originales de mdadm se ejecutaron de forma individual y manual. Para asegurarnos de tener la mejor experiencia de manzanas a manzanas, adaptamos el marco para funcionar con mdadm.

Durante esta adaptación, descubrimos un problema con nuestra prueba de escritura asincrónica 4KiB. Para ZFS, utilizamos --numjobs=8 --iodepth=8 --size=512M. Esto crea ocho archivos separados de 512MiB cada uno, para los ocho fio procesos para trabajar. Desafortunadamente, este tamaño de archivo es lo suficientemente pequeño como para que mdraid decida comprometer la prueba completa en un único lote secuencial, en lugar de hacer realmente 4GiB de escrituras aleatorias.

Para lograr que mdadm coopere, tuvimos que ajustar hacia arriba hasta llegar a --size=2G-en cuyo punto mdadmEl rendimiento de escritura se desplomó a menos del 20 por ciento de su rendimiento de “ráfaga” cuando se utilizan archivos más pequeños. Desafortunadamente, esto también extiende enormemente la duración de la prueba de escritura asincrónica 4KiB, e incluso fio‘s --time_based La opción no ayuda, ya que en los primeros cientos de milisegundos, mdraid ya ha aceptado toda la carga de trabajo en su búfer de escritura.

Dado que los resultados de nuestra prueba serían de otra manera ligeramente diferentes fio configuraciones, ejecutamos nuevas pruebas tanto para ZFS como para mdraid con mapas de bits predeterminados habilitados, además del nuevo --bitmap none y pruebas del sistema de archivos XFS.

RAIDz2 vs mdraid6

Aunque hoy solo estamos probando configuraciones de ocho discos de ancho, estamos probando configuraciones de paridad rayada y espejo rayado. Primero, compararemos nuestras opciones de paridad: ZFS RAIDz2 y Linux mdraid6.

Blocksize 1MiB

Cuando creamos una nueva matriz mdraid6 de ocho discos con soporte de mapa de bits deshabilitado, nuestras escrituras asincrónicas se aceleraron significativamente, pero el aumento adicional del 27.9 por ciento aún no trajo mdraid6 a ninguna parte dentro de la distancia de grito de los valores predeterminados de ZFS, mucho menos el correcto recordsize=1M resultado.

Tanto las lecturas como las escrituras sincrónicas no se vieron afectadas por el soporte de mapa de bits o la falta de este. Las escrituras RAIDz2 son más del doble de la velocidad de las escrituras mdraid6, incluso con el mapa de bits, mientras que las lecturas mdraid6 son un poco menos del doble de la velocidad de las lecturas RAIDz2.

A pesar de que solo se probó sin mapa de bits, XFS se quedó atrás de ext4 en cada prueba de 1MiB.

Blocksize 4KiB

Las pequeñas operaciones aleatorias son la pesadilla de cualquier RAID6 convencional. Tampoco son el escenario ideal de RAIDz2, pero la capacidad de RAIDz2 para evitar quedar atrapado en un ciclo de lectura-modificación-reescritura le brinda una ventaja de rendimiento de escritura de 6: 1 frente a mdraid6. A Mdraid6 le va mucho mejor en lecturas aleatorias, con una ventaja de lectura de 2: 1.

En estas pruebas de bloques pequeños, XFS se mantuvo firme con ext4, e incluso lo superó ligeramente en escrituras asincrónicas 4KiB. Ninguno de estos cambios —sistema de archivos o compatibilidad con mapas de bits— tuvo un gran impacto en el rendimiento general de 4Kdra de mdraid6.

ZFS Mirrors vs mdraid10

Los administradores que necesitan el máximo rendimiento deben dejar atrás las matrices de paridad y pasar a los espejos. En el lado mdraid, mdraid10 supera a mdraid6 en todas las métricas de rendimiento que probamos, y un conjunto de espejos ZFS supera de manera similar a mdraid10 en cada métrica probada.

Blocksize 1MiB

Al igual que las matrices de paridad, mdraid10 obtiene un impulso de escritura de 1MiB, pero es mucho más pequeño que mdraid6, y ese pequeño impulso no cambia materialmente la relación de mdraid10 con los espejos ZFS más rápidos.

La desactivación de mapas de bits no tiene ningún impacto en el rendimiento de lectura y, a diferencia de RAIDz2, los espejos ZFS también ganan en el rendimiento de lectura de 1MiB.

XFS una vez más rastrea ext4 en todas las métricas probadas.

Blocksize 4KiB

En el tamaño de bloque de 4KiB, RAID10 tiene una ventaja moderada sobre los espejos ZFS: las lecturas no almacenadas en caché son aproximadamente un 35 por ciento más rápidas. Pero mdraid10 da una ventaja de 4: 1 en escritura y una ventaja de 12: 1 en escritura sincrónica.

La presencia o ausencia de mapas de bits no tiene una diferencia visible en ninguna operación de 4KiB. El rendimiento de XFS es igual al de ext4 en escrituras y lecturas sincronizadas, pero un poco más lento en escrituras asincrónicas.

Conclusiones

Si bien la desactivación de la compatibilidad con mapas de bits tiene cierto impacto en el rendimiento de escritura de mdraid6 y mdraid10, no es día y noche en nuestras pruebas y no altera materialmente la relación de ninguna de las topologías con su equivalente ZFS más cercano.

No recomendamos deshabilitar mapas de bits si le importa esa relación de rendimiento con ZFS o no. Las características de seguridad son importante, y mdraid es un poco más frágil sin mapas de bits. Hay una opción para mapas de bits “externos”, que pueden almacenarse en un SSD rápido, pero tampoco lo recomendamos, hemos visto bastantes quejas sobre problemas con mapas de bits externos corruptos.

Si su gran criterio es el rendimiento, tampoco podemos recomendar XFS sobre ext4. XFS siguió a ext4 en casi todas las pruebas, a veces significativamente. Los administradores con matrices masivas (cientos de tebibytes o más) pueden tener otras razones relacionadas con la estabilidad y las pruebas para elegir XFS. Pero los aficionados con algunos discos están bien equipados y, al parecer, pueden obtener un poco más de rendimiento de ext4.

Recent Articles

El plan de recuperación de Big Oil se está desmoronando

La industria del petróleo y el gas está en crisis. Los precios del crudo cayeron en territorio negativo al comienzo de la pandemia de...

Beneficiarios de la subvención 2020 del sur de Australia

El Comité de Subvenciones Comunitarias de la Semana Nacional de la Ciencia en Australia del Sur se complace en anunciar a los beneficiarios de...

Related Stories

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí