En resumen: si usa una tarjeta RAID de gama baja (sin caché), hágase un favor y cambie a RAID de software. Si usa una tarjeta de gama media a alta (con BBU o NVRAM), entonces el hardware es a menudo (¡pero no siempre!) A continuación, una buena opción.
Respuesta larga: cuando el poder de cómputo era limitado, las tarjetas RAID de hardware tenían la ventaja significativa de descargar el cálculo de paridad / síndrome para los esquemas RAID que las involucraban (RAID 3/4/5, RAID6, ecc).
Sin embargo, con el rendimiento cada vez mayor de la CPU, esta ventaja básicamente desapareció: incluso la CPU antigua de mi computadora portátil (Core i5 M 520, generación Westmere) tiene un rendimiento XOR de más de 4 GB / sy un rendimiento del síndrome RAID-6 de más de 3 GB / s en un núcleo de ejecución única .
La ventaja que mantiene RAID de hardware hoy en día es la presencia de una memoria caché DRAM protegida contra pérdida de energía, en forma de BBU o NVRAM. Esta memoria caché protegida proporciona una latencia muy baja para el acceso de escritura aleatorio (y las lecturas acertadas) y básicamente transforma las escrituras aleatorias en escrituras secuenciales. Un controlador RAID sin tal caché es casi inútil . Además, algunos controladores RAID de gama baja no solo vienen sin un caché, sino que deshabilitan por la fuerza el caché DRAM privado del disco, lo que conduce a un rendimiento más lento que sin la tarjeta RAID. Un ejemplo son las tarjetas PERC H200 y H300 de DELL: si el firmware más reciente no ha cambiado eso, deshabilitan totalmente la caché privada del disco (y no se puede volver a habilitar mientras los discos están conectados al controlador RAID). Hazte un favor y hazlonunca, nunca, compre tales controladores. Si bien incluso los controladores de gama alta a menudo deshabilitan la caché privada del disco, al menos tienen su propia caché protegida, lo que hace que la caché privada de HDD (¡pero no SSD!) Sea algo redundante.
Sin embargo, este no es el final. Incluso los controladores capaces (el que tiene caché BBU o NVRAM) pueden dar resultados inconsistentes cuando se usan con SSD, básicamente porque los SSD realmente necesitan un caché privado rápido para la programación / borrado eficiente de páginas FLASH. Y aunque algunos controladores (¿la mayoría?) Le permiten volver a habilitar la memoria caché privada del disco (por ejemplo: PERC H700 / 710 / 710P permite que el usuario lo vuelva a habilitar), si esa memoria caché privada no está protegida contra escritura, corre el riesgo de perder datos en caso de que de pérdida de potencia. El comportamiento exacto realmente es controlador y firmware dependiente (por ejemplo: en un Dell S6 / i con 256 MB de caché BM y caché de disco habilitado , tuve no hay pérdidas durante las pruebas múltiples, prevista pérdida de potencia), dando incertidumbre y mucha preocupación.
Los RAID de software de código abierto, por otro lado, son bestias mucho más controlables: su software no está incluido dentro de un firmware patentado y tiene patrones y comportamientos de metadatos bien definidos. El software RAID asume (correctamente) que el caché DRAM privado del disco no está protegido, pero al mismo tiempo es crítico para un rendimiento aceptable, por lo que generalmente no lo deshabilitan, sino que usan los comandos ATA FLUSH / FUA para asegurarse de que es crítico los datos aterrizan en almacenamiento estable. Como a menudo se ejecutan desde los puertos SATA conectados al conjunto de chips SB, su ancho de banda es muy bueno y el soporte del controlador es excelente.
Sin embargo, si se usa con discos duros mecánicos, el patrón de acceso de escritura aleatorio sincronizado (por ejemplo, bases de datos, máquinas virtuales) sufrirá mucho en comparación con un controlador RAID de hardware con caché WB. Por otro lado, cuando se usa con SSD empresariales (es decir, con un caché de escritura protegido por pérdida de potencia), el RAID de software a menudo se destaca y ofrece resultados aún más altos que los que se pueden lograr con las tarjetas RAID de hardware. Dicho esto, debe recordar que los SSD de los consumidores (léase: con caché de escritura no protegida), aunque son muy buenos para leer y escribir asíncronamente, ofrecen IOPS muy bajas en cargas de trabajo de escritura sincronizada.
También tenga en cuenta que los RAID de software no se crean todos de la misma manera. El software RAID de Windows tiene una mala reputación, en cuanto al rendimiento, e incluso Storage Space no parece muy diferente. Linux MD Raid es excepcionalmente rápido y versátil, pero la pila de E / S de Linux se compone de múltiples piezas independientes que debe comprender cuidadosamente para extraer el máximo rendimiento. RAID de paridad ZFS (ZRAID) es extremadamente avanzado pero, si no está configurado correctamente, puede proporcionarle IOP muy pobres; espejo + rayas, por otro lado, funciona bastante bien. De todos modos, necesita un dispositivo SLOG rápido para el manejo de escritura sincrónica (ZIL).
Línea de fondo:
- Si sus cargas de trabajo no están sincronizadas con escritura aleatoria sensible, no necesita una tarjeta RAID
- Si necesita una tarjeta RAID, no compre un controlador RAID sin caché WB
- si planea usar el software SSD, se prefiere RAID, pero tenga en cuenta que para escrituras aleatorias sincronizadas altas necesita un SSD protegido contra pérdida de potencia (es decir: Intel S4600, Samsung PM / SM863, etc.). Para un rendimiento puro, la mejor opción es probablemente Linux MD Raid, pero hoy en día generalmente uso espejos ZFS rayados. Si no puede permitirse perder la mitad del espacio debido a los espejos y necesita funciones avanzadas de ZFS, elija ZRAID pero piense detenidamente en la configuración de sus VDEV.
- si, incluso usando SSD, realmente necesita una tarjeta RAID de hardware, use SSD con cachés protegidas contra escritura (Micron M500 / 550/600 tiene protección parcial, no realmente suficiente pero mejor que nada), mientras que las series Intel DC y S tienen una pérdida total de energía protección, y lo mismo puede decirse de las unidades SSD Samsung empresariales)
- Si necesita RAID6 y usará HDD mecánicos normales, considere comprar una tarjeta RAID rápida con 512 MB (o más) de caché WB. RAID6 tiene una penalización de alto rendimiento de escritura, y un caché WB del tamaño adecuado puede al menos proporcionar un almacenamiento intermedio rápido para pequeñas escrituras síncronas (por ejemplo: diario del sistema de archivos).
- si necesita RAID6 con discos duros pero no puede / no desea comprar una tarjeta RAID de hardware, piense detenidamente en la configuración de RAID de su software. Por ejemplo, una posible solución con Linux MD Raid es usar dos matrices: una pequeña matriz RAID10 para escritura de diarios / registros de DB, y una matriz RAID6 para almacenamiento sin procesar (como servidor de archivos). Por otro lado, el software RAID5 / 6 con SSD es muy rápido, por lo que probablemente no necesite una tarjeta RAID para la configuración de todos los SSD.