¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Hola Habr! En este artículo le diremos si vale la pena organizar matrices RAID basadas en soluciones de estado sólido SATA SSD y NVMe SSD, y ¿habrá grandes beneficios con esto? Decidimos investigar este problema considerando los tipos y tipos de controladores que permiten hacer esto, así como el alcance de aplicación de dichas configuraciones.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

De una forma u otra, cada uno de nosotros al menos una vez en la vida escuchó definiciones como "RAID", "RAID-array", "RAID-controller", pero difícilmente le dimos mucha importancia a esto, porque todo esto es poco probable para un boyardo PC común y corriente. Interesante. Pero todo el mundo quiere altas velocidades de los discos internos y un funcionamiento sin problemas. Después de todo, no importa cuán potente sea el hardware de la computadora, la velocidad del disco se convierte en un cuello de botella cuando se trata del rendimiento combinado de la PC y el servidor.

Este fue exactamente el caso hasta que los HDD tradicionales fueron reemplazados por SSD NVMe modernos con capacidades comparables de 1 TB o más. Y si antes en las PC a menudo había combinaciones de SSD SATA + un par de HDD de gran capacidad, hoy están comenzando a ser reemplazadas por otra solución: SSD NVMe + un par de SSD SATA de gran capacidad. Si hablamos de servidores corporativos y “nubes”, muchos ya han migrado con éxito a los SSD SATA, simplemente porque son más rápidos que las “latas” convencionales y son capaces de procesar una mayor cantidad de operaciones de E/S simultáneamente.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Sin embargo, la tolerancia a fallos del sistema todavía está en un nivel bastante bajo: no podemos, como en la "Batalla de los psíquicos", predecir con una precisión de hasta una semana cuándo morirá una determinada unidad de estado sólido. Y si los HDD "mueren" gradualmente, lo que le permite detectar los síntomas y tomar medidas, entonces los SSD "mueren" inmediatamente y sin previo aviso. ¿Y ahora es el momento de descubrir por qué es necesario todo esto? ¿Vale la pena organizar matrices RAID basadas en soluciones de estado sólido SATA SSD y NVMe SSD? ¿Se obtendrán importantes beneficios de esto?

¿Por qué necesita una matriz RAID?

La misma palabra "matriz" ya implica que para crearlo se utilizan varias unidades (HDD y SSD), que se combinan mediante un controlador RAID y el sistema operativo las reconoce como un único almacenamiento de datos. La tarea global que pueden resolver las matrices RAID es minimizar el tiempo de acceso a los datos, aumentar la velocidad de lectura/escritura y la confiabilidad, lo que se logra gracias a la capacidad de recuperación rápida en caso de falla. Por cierto, no es necesario utilizar RAID para realizar copias de seguridad domésticas. Pero si tiene su propio servidor doméstico, al que necesita acceso constante las 24 horas del día, los 7 días de la semana, ese es un asunto diferente.

Hay más de una docena de niveles de matrices RAID, cada una de las cuales se diferencia en la cantidad de unidades que se utilizan y tiene sus ventajas y desventajas: por ejemplo, RAID 0 le permite obtener un alto rendimiento sin tolerancia a fallas, RAID 1 le permite refleja automáticamente los datos sin aumentar la velocidad, y las combinaciones RAID 10 contienen las posibilidades de lo anterior. RAID 0 y 1 son los más simples (ya que no requieren cálculos de software) y, como resultado, los más populares. En última instancia, la elección a favor de uno u otro nivel RAID depende de las tareas asignadas a la matriz de discos y de las capacidades del controlador RAID.

RAID doméstico y corporativo: ¿cuál es la diferencia?

La base de cualquier negocio moderno son grandes volúmenes de datos que deben almacenarse de forma segura en los servidores de la empresa. Y además, como señalamos anteriormente, se les debe proporcionar acceso constante las 24 horas del día, los 7 días de la semana. Está claro que, junto al hardware, también es importante la parte del software, pero en este caso seguimos hablando de equipos que garantizan un almacenamiento y procesamiento fiable de la información. Ningún software salvará a una empresa de la ruina si el hardware no cumple con las tareas que se le asignan.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Para estas tareas, cualquier fabricante de hardware ofrece los llamados dispositivos empresariales. Kingston cuenta con potentes soluciones de estado sólido en forma de modelos SATA Kingston 450R (DC450R) и Serie DC500, así como los modelos NVMe DC1000M U.2 NVMe, DCU1000 U.2 NVMe y DCP-1000 PCI-e, destinados a su uso en centros de datos y supercomputadoras. Las matrices de estas unidades se suelen utilizar junto con controladores de hardware.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Para el mercado de consumo (es decir, para PC domésticas y servidores NAS), unidades como Kingston KC2000 NVMe PCIe, pero en este caso no es necesario comprar un controlador de hardware. Puede limitarse a una PC o un servidor NAS integrado en la placa base, a menos, por supuesto, que planee montar usted mismo un servidor doméstico para tareas atípicas (iniciar un pequeño alojamiento doméstico para amigos, por ejemplo). Además, las matrices RAID domésticas, por regla general, no requieren cientos o miles de unidades, ya que se limitan a dos, cuatro y ocho dispositivos (generalmente SATA).

Tipos y tipos de controladores RAID

Hay tres tipos de controladores RAID según los principios de implementación de matrices RAID:

1. Software en el que la gestión de la matriz recae en la CPU y la DRAM (es decir, el código del programa se ejecuta en el procesador).

2. Integrado, es decir, integrado en las placas base de una PC o servidor NAS.

3. Hardware (modular), que son tarjetas de expansión discretas para conectores PCI/PCIe en placas base.

¿Cuál es su diferencia fundamental entre sí? Los controladores RAID de software son inferiores a los integrados y de hardware en términos de rendimiento y tolerancia a fallas, pero no requieren equipo especial para funcionar. Sin embargo, es importante asegurarse de que el procesador del sistema host sea lo suficientemente potente como para ejecutar el software RAID sin afectar negativamente el rendimiento de las aplicaciones que también se ejecutan en el host. Los controladores integrados suelen estar equipados con su propia memoria caché y utilizan una determinada cantidad de recursos de la CPU.

Pero los de hardware tienen su propia memoria caché y un procesador incorporado para ejecutar algoritmos de software. Normalmente, le permiten implementar todo tipo de niveles RAID y admitir varios tipos de unidades a la vez. Por ejemplo, los controladores de hardware modernos de Broadcom pueden conectar simultáneamente dispositivos SATA, SAS y NVMe, lo que permite no cambiar el controlador al actualizar servidores: en particular, al pasar de SATA SSD a NVMe SSD, no es necesario cambiar los controladores.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

En realidad, en esta nota llegamos a la tipología de los propios controladores. Si hay tres modos, ¿debería haber otros? En este caso, la respuesta a esta pregunta será afirmativa. Dependiendo de las funciones y capacidades, los controladores RAID se pueden dividir en varios tipos:

1. Controladores ordinarios con función RAID
En toda la jerarquía, este es el controlador más simple que le permite combinar HDD y SSD en matrices RAID de niveles “0”, “1” o “0+1”. Esto se implementa mediante programación en el nivel de firmware. Sin embargo, estos dispositivos difícilmente pueden recomendarse para su uso en el segmento corporativo, porque no tienen caché y no admiten matrices de niveles "5", "3", etc. Pero para un servidor doméstico básico son bastante adecuados.

2. Controladores que funcionan en conjunto con otros controladores RAID
Este tipo de controlador se puede combinar con controladores de placa base integrados. Esto se implementa según el siguiente principio: un controlador RAID discreto se encarga de resolver los problemas "lógicos" y el integrado se encarga de las funciones de intercambio de datos entre unidades. Pero hay un matiz: el funcionamiento paralelo de estos controladores sólo es posible en placas base compatibles, lo que significa que su ámbito de aplicación es muy limitado.

3. Controladores RAID independientes
Estas soluciones discretas contienen a bordo todos los chips necesarios para trabajar con servidores de clase empresarial, y tienen su propio BIOS, memoria caché y procesador para una rápida corrección de errores y cálculos de suma de comprobación. Además, cumplen con altos estándares de confiabilidad en cuanto a fabricación y cuentan con módulos de memoria de alta calidad.

4. Controladores RAID externos
No es difícil adivinar que todos los controladores enumerados anteriormente son internos y reciben energía a través del conector PCIe de la placa base. ¿Qué quiere decir esto? Y ese fallo de la placa base puede provocar errores en el funcionamiento de la matriz RAID y pérdida de datos. Los controladores externos se salvan de este malentendido, ya que están alojados en una caja separada con fuente de alimentación independiente. En términos de confiabilidad, estos controladores proporcionan el más alto nivel de almacenamiento de datos.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell y Cisco son sólo algunas de las empresas que actualmente ofrecen controladores RAID de hardware.

Modos de funcionamiento de los controladores RAID SAS/SATA/NVMe

El objetivo principal de los controladores HBA y RAID trimodo (o controladores con funcionalidad trimodo) es crear RAID de hardware basado en NVMe. Los controladores de la serie 9400 de Broadcom pueden hacer esto: por ejemplo, MegaRAID 9460-16i. Pertenece a un tipo de controlador RAID independiente, está equipado con cuatro conectores SFF-8643 y, gracias al soporte Tri-Mode, permite conectar unidades SATA/SAS y NVMe simultáneamente. Además, también es uno de los controladores con mayor eficiencia energética del mercado (consume sólo 17 vatios de energía, con menos de 1,1 vatios para cada uno de los 16 puertos).

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

La interfaz de conexión es PCI Express x8 versión 3.1, que permite un rendimiento de 64 Gbit/s (se espera que los controladores para PCI Express 2020 aparezcan en 4.0). El controlador de 16 puertos se basa en un chip de 2 núcleos SAS3516 y SDRAM DDR72-4 de 2133 bits (4 GB), así como la capacidad de conectar hasta 240 unidades SATA/SAS o hasta 24 dispositivos NVMe. En términos de organización de matrices RAID, se admiten los niveles "0", "1", "5" y "6", así como "10", "50" y "60". Por cierto, memoria caché. MegaRAID 9460-16i y otros controladores de la serie 9400 están protegidos contra fallas de voltaje mediante el módulo opcional CacheVault CVPM05.

La tecnología de tres modos se basa en la función de conversión de datos SerDes: convertir la representación en serie de datos en interfaces SAS/SATA a formato paralelo en PCIe NVMe y viceversa. Es decir, el controlador negocia velocidades y protocolos para funcionar sin problemas con cualquiera de los tres tipos de dispositivos de almacenamiento. Esto proporciona una manera perfecta de escalar las infraestructuras del centro de datos: los usuarios pueden usar NVMe sin realizar cambios significativos en otras configuraciones del sistema.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Sin embargo, al planificar configuraciones con unidades NVMe, vale la pena considerar que las soluciones NVMe utilizan 4 carriles PCIe para conectarse, lo que significa que cada unidad utiliza todas las líneas de puertos SFF-8643. Resulta que solo se pueden conectar cuatro unidades NVMe directamente al controlador MegaRAID 9460-16i. O limítese a dos soluciones NVMe mientras conecta simultáneamente ocho unidades SAS (consulte el diagrama de conexión a continuación).

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

La figura muestra el uso del conector “0” (C0 / Conector 0) y el conector “1” para conexiones NVMe, así como los conectores “2” y “3” para conexiones SAS. Esta disposición se puede invertir, pero cada unidad NVMe x4 debe conectarse mediante carriles adyacentes. Los modos de funcionamiento del controlador se configuran a través de las utilidades de configuración StorCLI o Human Interface Infrastructure (HII), que opera en el entorno UEFI.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

El modo predeterminado es el perfil “PD64” (solo admite SAS/SATA). Como dijimos anteriormente, hay tres perfiles en total: el modo “solo modo SAS/SATA” (PD240 / PD64 / PD 16), el modo “solo NVMe” (PCIe4) y un modo mixto en el que se pueden almacenar todo tipo de unidades. puede operar: “PD64 -PCIe4" (soporte para 64 discos físicos y virtuales con 4 unidades NVMe). En modo mixto, el valor del perfil especificado debe ser "ProfileID=13". Por cierto, el perfil seleccionado se guarda como maestro y no se restablece incluso cuando se regresa a la configuración de fábrica mediante el comando Establecer valores predeterminados de fábrica. Sólo se puede cambiar manualmente.

¿Vale la pena crear una matriz RAID en un SSD?

Entonces, ya hemos entendido que las matrices RAID son la clave para un alto rendimiento. Pero, ¿vale la pena crear RAID a partir de SSD para uso doméstico y corporativo? Muchos escépticos dicen que el aumento de velocidad no es tan significativo como para derrochar en unidades NVMe. ¿Pero es esto realmente así? Difícilmente. La mayor limitación para el uso de SSD en RAID (tanto a nivel doméstico como empresarial) puede ser simplemente el precio. Digan lo que digan, el coste de un gigabyte de espacio en un disco duro es mucho más económico.

Conectar varias “unidades” de estado sólido a un controlador RAID para crear una matriz SSD puede tener un gran impacto en el rendimiento en determinadas configuraciones. Sin embargo, no olvide que el rendimiento máximo está limitado por el rendimiento del propio controlador RAID. El nivel RAID que mejor rendimiento ofrece es RAID 0.

¿Es necesario crear una matriz RAID a partir de un SSD y qué controladores se necesitan para ello?

Un RAID 0 convencional con dos SSD, que utiliza un método para dividir los datos en bloques fijos y distribuirlos en el almacenamiento de estado sólido, dará como resultado el doble de rendimiento en comparación con un solo SSD. Sin embargo, una matriz RAID 0 con cuatro SSD ya será cuatro veces más rápida que la SSD más lenta de la matriz (dependiendo de la limitación del ancho de banda en el nivel del controlador RAID SSD).

Basado en aritmética simple, un SSD SATA es aproximadamente 3 veces más rápido que un HDD SATA tradicional. Las soluciones NVMe son aún más eficientes: 10 veces o más. Siempre que dos discos duros en un RAID de nivel cero muestren el doble de rendimiento, incrementándolo en un 50%, dos SSD SATA serán 6 veces más rápidos y dos SSD NVMe serán 20 veces más rápidos. En particular, una sola unidad Kingston KC2000 NVMe PCIe puede alcanzar velocidades de lectura y escritura secuenciales de hasta 3200 MB/s, que en formato RAID 0 alcanzarán la impresionante cifra de 6 GB/s. Y la velocidad de lectura/escritura de bloques aleatorios de 4 KB de tamaño pasará de 350 IOPS a 000 IOPS. Pero... al mismo tiempo, el RAID “cero” no nos proporciona redundancia.

Se puede decir que en entornos domésticos no suele ser necesaria la redundancia de almacenamiento, por lo que la configuración RAID más adecuada para SSD es realmente RAID 0. Es una forma fiable de obtener importantes mejoras de rendimiento como alternativa al uso de tecnologías como la basada en Intel Optane. SSD. Pero hablaremos de cómo se comportan las soluciones SSD en los tipos RAID más populares (“1”, “5”, “10”, “50”) en nuestro próximo artículo.

Este artículo fue preparado con el apoyo de nuestros colegas de Broadcom, quienes proporcionan sus controladores a los ingenieros de Kingston para realizar pruebas con unidades SATA/SAS/NVMe de clase empresarial. Gracias a esta simbiosis amigable, los clientes no tienen que dudar de la confiabilidad y estabilidad de las unidades Kingston con controladores HBA y RAID de producción. Broadcom.

Para obtener más información sobre los productos Kingston, visite en el sitio web oficial compañía.

Fuente: habr.com

Añadir un comentario