Rendimiento RAID práctico?

8

Siempre he pensado que lo siguiente es una regla general para RAID:

  • RAID 0: el mejor rendimiento para LEER y ESCRIBIR desde la extracción, el mayor riesgo
  • RAID 1: redundante, decente para READ (creo que puede leer desde diferentes partes de un archivo desde diferentes discos duros), no es lo mejor para WRITE
  • RAID 0 + 1 (01): combina la redundancia de RAID 1 con el rendimiento de RAID 0
  • RAID 1 + 0 (10): versión ligeramente mejor de RAID 0 + 1
  • RAID 5: buen rendimiento de LECTURA, mal rendimiento de ESCRITURA, redundante

¿ES ESTE ASUNTO CORRECTO? (y cómo se comparan con una configuración JBOD para el rendimiento de R / W IO)

¿Ciertas configuraciones prácticas de RAID son mejores para diferentes aplicaciones: juegos, edición de video, base de datos (Acccess o SQL)?

Estaba pensando en las unidades de disco duro, pero ¿esto también se aplica a las unidades de estado sólido?

wag2639
fuente
Mi comprensión de la redundancia de cada una de las clases RAID es bastante buena, simplemente no estoy seguro del rendimiento de E / S de lectura y escritura.
wag2639
En cuanto a JBOD, sé que no ofrece rendimiento ni redundancia, solo lo mencioné como referencia base.
wag2639

Respuestas:

12

Raid 0 . Gran velocidad de lectura y escritura. El riesgo de falla aumentó a medida que aumenta el número de discos miembros. Sin paridad.

Raid 1 . Gran velocidad de lectura solo si el controlador se implementa correctamente : si usa controladores RAID de Areca y LSI, pueden ofrecer casi la misma capacidad de lectura para los conjuntos Raid 1 que los conjuntos Raid 0 (dentro del 10%). Tenga en cuenta que para las soluciones de raid de software hay dos tipos, software de sistema operativo y software de placa base.

La mayoría de Raid de tipo placa base no ofrece un buen rendimiento de lectura de Raid 1. La última vez que verifiqué que Windows y Linux no tenían una buena implementación de las lecturas Raid 1 también. BSD tenía una implementación de Raid 1 implementada correctamente que utiliza el método de lectura roundrobin.

En resumen, use Raid 1 para redundancia y velocidad de lectura si usa controladores avanzados.

Raid 1/0 y Raid 0/1 . Esto es una cosa combinada. Digamos que tienes 10 discos. La incursión 1/0 es que hay espejo en cada conjunto: Conjunto A (1 + 2), Conjunto B (3 + 4), Conjunto C (5 + 6), Conjunto D (7 + 8), Conjunto E (9+ 10), luego haga un conjunto de tiras en los 5 conjuntos (AE). De esta manera, cada uno de los conjuntos puede tener una falla de unidad, pero si dos unidades fallan en el mismo conjunto, ya está.

La incursión 0/1 es tener el conjunto de tiras A (1 + 2 + 3 + 4 + 5) y el conjunto B (6 + 7 + 8 + 9 + 10) y reflejar los dos conjuntos. De esta manera, si la unidad 2 y la unidad 9 fallan, la mayoría de los controladores consideran esto como una falla total (que, de hecho, todavía tiene todos los datos).

Hay poca diferencia de rendimiento entre los dos, pero no creo que generalmente se obtengan ambos de un controlador Raid.

Raid 5 . una bolsa muy mixta: para lecturas secuenciales, es más rápido que la incursión 1/0, y para lecturas aleatorias es un poco más lento que eso. Tenga en cuenta que el rendimiento de la incursión 5 depende mucho de la velocidad del controlador (por ejemplo, no puede esperar mucho en incursión a bordo).

Raid 6 . La redundancia aumentó en comparación con la incursión 5. Dos unidades pueden fallar en cualquier momento, y cuando se reconstruye la matriz después de que falla una unidad todavía hay redundancia (tenga en cuenta que cuando falla la unidad incursión 5, la matriz es similar a la incursión 0 - cualquier falla de unidad = pérdida total )

JBOD . No hay ventaja que se me ocurra.

bubu
fuente
gracias ... entonces, por lo que estoy leyendo, usando placas base de consumo generales con el objetivo de juegos de rendimiento, la incursión 0 es mejor sin tener un controlador de incursión dedicado separado. (No me importa si tengo que volver a instalar los programas os + y los datos estarán en otro lugar, posible raid 5 array)
wag2639
2
eres muy correcto aunque me temo que el rendimiento con la incursión de la placa base no será muy diferente del uso de la incursión de software basada en el sistema operativo (aunque, por supuesto, la diferencia es que su unidad de sistema no puede ser atacada en una incursión de software basada en el sistema operativo). Además, el rendimiento de raid5 en la incursión de la placa base es patético (¡hasta 15-20MB / s en algunos casos!)
bubu
2

Como su pregunta implica, no existe realmente una "mejor" configuración RAID, solo la mejor para un conjunto particular de circunstancias, con el costo a menudo como uno de los factores más importantes.

Sin entrar en las minucias de los controladores y el software, estas serían mis reglas generales.

RAID 0 es el más rápido ya que puede leer y escribir en muchos discos a la vez, y no se desperdicia espacio por redundancia. Pierde cualquier disco y pierde el conjunto, por lo que RAID 0 solo debe usarse en una máquina que no le interesa, o es fácil de restaurar y no contiene datos que usted valora. Una máquina de juego podría adaptarse a este escenario, aunque, sinceramente, la diferencia de velocidad no es tan notable que estaría dispuesto a aceptar el mayor riesgo de tener que reconstruir la máquina. También puede ser útil para áreas de "scratch" realmente rápidas si tiene un software que necesita ese tipo de cosas.

RAID 1 es la configuración de espejo muy común, generalmente de 2 discos. Las lecturas generalmente son apenas dos veces más rápidas que un solo disco, mientras que las escrituras son un poco más lentas que un solo disco. En los servidores, RAID 1 es una excelente opción para los archivos de su sistema operativo. También es una buena opción cuando necesita redundancia, sus necesidades de almacenamiento no son tan grandes como para requerir RAID 5 y podría beneficiarse de la velocidad de lectura adicional (los archivos de registro de la base de datos se colocan comúnmente en RAID 1).

RAID 2 a 4 (no en la pregunta) generalmente no se utilizan, excepto por los productos de ciertos proveedores en el lado empresarial.

RAID 5 es un compromiso entre no desperdiciar demasiado espacio en la redundancia y obtener el rendimiento adicional de los discos adicionales. Las velocidades de lectura son muy buenas ya que todos los discos pueden participar. Las velocidades de escritura a veces pueden ser un problema con RAID 5, aunque creo que a veces se exagera dependiendo de la situación. Incluso con el hardware que realiza los cálculos de paridad, las pequeñas escrituras aleatorias sufren en RAID 5, ya que cada operación de escritura lógica requiere 4 E / S (leer desde el disco de datos, leer desde el disco de paridad, escribir el disco de datos, escribir el disco de paridad). Elija RAID 5 cuando desee maximizar la cantidad de almacenamiento que obtiene de un conjunto de discos sin dejar de tener un buen grado de seguridad. Evite cuando su aplicación tenga necesidades de alto rendimiento y requiera muchas pequeñas escrituras aleatorias (discos duros de máquinas virtuales, archivos de datos de bases de datos). También tenga en cuenta que los discos grandes modernos tardan muuucho tiempo en reconstruirse cuando fallan como parte de un conjunto RAID 5, y eso pone sus datos en riesgo por más tiempo por una segunda falla de disco. RAID 6 puede reducir este riesgo a expensas de un rendimiento de escritura aleatorio aún peor.

RAID 1/0 y 0/1 tienen casi las mismas características de rendimiento. Sin embargo, es preferible 1/0 porque una falla significa reconstruir solo el par de discos involucrados en lugar de una franja completa de discos. RAID 1/0 es la configuración de propósito general más rápida de las mencionadas en la pregunta. El rendimiento de lectura y escritura es excelente (las lecturas pueden realizarse desde todos los discos a la vez, esencialmente, las escrituras tienen que suceder en múltiples discos pero no se necesita un ciclo de lectura / lectura / escritura / escritura como RAID 5), aunque RAID 5 puede ganar en ciertas circunstancias. RAID 1/0 es (como era de esperar) también el más caro en casi todos los casos. Solo debe usarse cuando el rendimiento es crítico, los datos son muy valiosos y la aplicación no tiene tolerancia para el tiempo de inactividad. A menudo, los servidores de bases de datos (o al menos sus archivos de datos) son buenos candidatos para RAID 1/0.

Las unidades de estado sólido se pueden poner en configuraciones RAID, particularmente por su valor de redundancia. Sin embargo, muchos SSD pueden superar el bus (SATA) al que están conectados, especialmente para operaciones de lectura, por lo que el efecto de rendimiento de RAID es menos convincente con los SSD.

Jeremy
fuente
0

Si compra un controlador RAID de hardware, vaya con RAID5. Tiene la menor sobrecarga y el controlador de raid de hardware casi eliminará la penalización por sobrecarga de escritura, ya que calcula los bits de paridad en el hardware. Raid5 también lee múltiples discos mejorando simultáneamente la velocidad de lectura y escritura.

Sí, esto también se aplica a las unidades de estado sólido. Una prueba de SSD en Raid0 mostró aumentos de velocidad casi lineales.

Raid5 es, con mucho, la tecnología más utilizada en el mundo de los servidores, pero para una computadora portátil con solo 2 discos duros, sugeriría raid1 reflejada.

JBOD no tiene redundancia en caso de que falle un disco duro, pero dependiendo de la configuración puede eliminar los datos para aumentar el rendimiento como una incursión.

Mella
fuente
1
JBOD generalmente no puede crear bandas porque está diseñado para usarse con discos de diferentes tamaños; si tiene el mismo tamaño, ya debería estar usando RAID 1 o RAID 0.
Darth Android