SmashByte Servers / Almacenamiento

Diseño de RAID NVMe para aplicaciones con alta carga de escritura

Niveles de RAID, resistencia (endurance) y rendimiento para cargas de trabajo intensivas en escritura.

Las aplicaciones con alta carga de escritura exigen más al almacenamiento que la mayoría de las cargas de trabajo. Los sistemas de registro (logging), las bases de datos de series temporales, la ingesta de video y las plataformas transaccionales generan tráfico de escritura constante. Los SSD NVMe ofrecen el rendimiento bruto que estas cargas de trabajo necesitan, pero la capa de RAID subyacente determina cuánta de esa velocidad se aprovecha realmente y con qué eficacia se sobrevive a un fallo.

Este artículo cubre la selección del nivel de RAID, la planificación de la resistencia y el diseño del rendimiento para arreglos NVMe intensivos en escritura.

Compensaciones de los niveles de RAID para escrituras

No todos los niveles de RAID manejan bien las escrituras intensivas. El RAID basado en paridad introduce amplificación de escritura y penalizaciones de latencia que pueden anular el beneficio de la velocidad de NVMe.

RAID 1 y RAID 10

El espejado (mirroring) y la distribución con espejado ofrecen el mejor rendimiento de escritura y la recuperación más sencilla. RAID 10 es la opción predeterminada para OLTP de alta escritura, colas de mensajes y cachés, porque no tiene penalización por cálculo de paridad.

RAID 5 y RAID 6

Estos niveles sacrifican rendimiento de escritura a cambio de eficiencia de capacidad. Cada escritura requiere leer los datos y la paridad antiguos, calcular la nueva paridad y luego escribir ambos. Para cargas de trabajo NVMe intensivas en escritura, la latencia y la amplificación de escritura suelen superar el ahorro de capacidad.

RAID 0

La distribución (striping) sin redundancia maximiza la velocidad y la capacidad, pero no ofrece protección. Úselo solo para datos efímeros cuya pérdida sea aceptable, como espacio temporal de trabajo o cachés que puedan reconstruirse.

Resistencia y amplificación de escritura

Los SSD NVMe están clasificados para un número finito de ciclos de programación/borrado, expresado como escrituras de disco por día (DWPD) o terabytes totales escritos (TBW). Las cargas de trabajo intensivas en escritura consumen este presupuesto rápidamente si no se tiene cuidado.

  • Estime las escrituras diarias y ajuste la resistencia del SSD a la carga de trabajo
  • Reserve capacidad libre (overprovisioning) para reducir la amplificación de escritura provocada por la recolección de basura
  • Supervise los indicadores de nivelación de desgaste (wear-leveling) y planifique el reemplazo antes de alcanzar los umbrales
  • Evite la utilización completa del disco; tanto el rendimiento como la resistencia se degradan cerca de la capacidad máxima

Para cargas sostenidas intensivas en escritura, las unidades de clase empresarial con clasificaciones de resistencia más altas suelen ser más económicas a lo largo del ciclo de vida que las unidades de consumo reemplazadas prematuramente.

Comparación de niveles de RAID para cargas de trabajo de alta escritura

Nivel de RAID Rendimiento de escritura Tolerancia a fallos Ideal para
RAID 1BuenoUn discoVolúmenes críticos pequeños
RAID 10ExcelenteUno por espejoOLTP, cachés, colas
RAID 5Penalización moderadaUn discoCargas intensivas en lectura o de escritura ligera
RAID 6Penalización más severaDos discosArreglos de archivo o de gran capacidad
RAID 0MáximoNingunaSolo datos temporales efímeros

Rendimiento y profundidad de cola

Las unidades NVMe exponen muchas colas paralelas, lo que les permite manejar miles de operaciones concurrentes. Para aprovechar este rendimiento, el controlador RAID, el controlador (driver) y la aplicación deben soportar colas profundas. Los cuellos de botella pueden ocultarse en:

  • Firmware del controlador RAID que serializa las operaciones de E/S
  • Sistemas de archivos con la configuración de colas predeterminada
  • Hilos de aplicación que envían escrituras de una en una
  • Núcleos de CPU incapaces de seguir el ritmo de las interrupciones

Realice pruebas con cargas de trabajo y profundidades de cola realistas. Las pruebas sintéticas con colas poco profundas rara vez reflejan el comportamiento en producción.

¿Necesita almacenamiento optimizado para escrituras intensivas?

SmashByte Servers diseña arreglos de almacenamiento NVMe con el nivel de RAID, la resistencia y el perfil de rendimiento adecuados para aplicaciones intensivas en escritura.

Solicitar ayuda con el diseño de almacenamiento