¿Cómo configuro RAID 5, especialmente el tamaño de banda, con unidades de 24 x 1.2 TB para CentOS 6?

8

Para un Dell R920 con discos de 24 x 1.2TB (y 1TB RAM), estoy buscando configurar una configuración RAID 5 para una E / S rápida. El servidor se utilizará para alojar máquinas virtuales KVM que leerán / escribirán archivos de todos los tamaños, incluidos archivos muy grandes. No estoy terriblemente interesado en la seguridad de los datos porque si el servidor falla por algún motivo, simplemente reaprovisionaremos el servidor de metal desnudo después de reemplazar las partes fallidas. Entonces, el rendimiento es la principal preocupación. Estamos considerando RAID 5 porque nos permite distribuir datos a través de múltiples ejes y, por lo tanto, nos brinda un mejor rendimiento y, aunque no es nuestra principal preocupación, también nos brinda cierta protección de datos. Nuestra NIC es dual de 10 Gbps.

Estoy limitando esta pregunta a RAID 5 solo porque creemos que dará el mejor rendimiento. Solo si hay una razón de rendimiento convincente consideraremos algo más. Pero creo que preferiría respuestas relacionadas con las configuraciones RAID 5.

Bien, con lo anterior, aquí están nuestros pensamientos de configuración actuales para:

  • 24 discos duros: RMCP3 : 1.2TB, 10K, 2.5 "6Gbps
  • Controlador RAID: H730P, soporte SAS de 12 Gbps, caché NV de 2 GB
  • 1 repuesto dinámico (solo para darnos una vida más larga si falla una unidad)
  • 23 unidades de datos (de las cuales 1 se contabiliza como paridad y 22 quedan para datos)
  • Tamaño de banda: 1 MB (unidades de datos de 1 MB / 22 = ~ 46,5 KB por disco, ¿o no entiendo el tamaño de banda?)
  • Política de lectura: lectura adaptativa anticipada
  • Política de escritura: escribir de nuevo
  • Política de caché de disco: habilitada

Si el tamaño de la banda es el TOTAL en las unidades de datos, entonces pensé que ~ 46.5KB por unidad nos dará un rendimiento muy bueno. Si el tamaño de la franja es por huso, entonces tengo todo esto mal.

¿El tamaño de la banda también es el tamaño que toma un solo archivo? Por ejemplo, si hay un archivo de 2 KB, ¿elegir un tamaño de banda de 1 MB significa que estamos desperdiciando casi un megabyte completo? ¿O pueden vivir varios archivos dentro de una franja?

Por último, cuando instalemos CentOS 6.5 (o la última), ¿necesitaremos hacer algo especial para asegurarnos de que el sistema de archivos utilice RAID de manera óptima? Por ejemplo, mkfs.ext4 tiene una opción -E stride que me dijeron que debería corresponder a la configuración RAID. Pero, durante una instalación de CentOS, ¿hay alguna forma de hacerlo?

Muchas gracias por sus pensamientos sobre la configuración de RAID 5 para una E / S rápida.

Steve Amerige
fuente
44
RAID 5 es lo que no desea usar si desea rendimiento ... sus velocidades de escritura pueden ser terribles.
Nathan C
1
¿Puede proporcionar algún contexto sobre la carga de trabajo de lectura / escritura y la aplicación para esta solución de almacenamiento?
ewwhite
1
si desea rendimiento, no use discos duros en absoluto ... lo más probable es que pueda lograr un mayor rendimiento con un buen sistema de almacenamiento SSD, o incluso soluciones de almacenamiento PCIe. si no le importa si se pierden datos, busque SSD o incluso soluciones de almacenamiento PCIe.
Dennis Nolte
2
@Tonny Verifiqué esto. Máximo de 16 discos para ese controlador.
ewwhite
77
Todos, por favor recuerden que no nacieron expertos, todos aprenden en algún momento. Sea amable con aquellos que saben menos que usted.
Chris S

Respuestas:

12

Utilice RAID 1 + 0 con su controlador y configuración de unidad. Si necesita más capacidad, un nivel RAID anidado como RAID 50/60 podría funcionar . Puede escapar con RAID 5 en un pequeño número de discos SAS empresariales (8 unidades o menos) porque los tiempos de reconstrucción no son malos. Sin embargo, 24 unidades es un terrible error. (Ah, y deshabilite la función de almacenamiento en caché de disco individual ... peligroso)

Hay muchas facetas en la E / S y el rendimiento del almacenamiento local. Hay operaciones de E / S / segundo, hay rendimiento, hay latencia de almacenamiento. RAID 1 + 0 es un buen equilibrio entre estos. Los aspectos positivos aquí son que está utilizando discos empresariales, un controlador de hardware capaz y una buena cantidad de discos. ¿Cuánta capacidad necesitas?

Puede encontrar límites en la cantidad de unidades que puede usar dentro de un grupo de discos virtuales. Los controladores PERC / LSI tradicionalmente limitaban esto a 16 unidades para niveles RAID individuales y RAID 1 + 0. La guía del usuario confirma esto . No podría usar los 24 discos en un solo RAID 5 o un solo grupo RAID 1 + 0.

Otro aspecto a tener en cuenta, dependiendo de su carga de trabajo, es que puede aprovechar el almacenamiento en caché SSD utilizando la funcionalidad LSI Cachecade en ciertos controladores PERC. Puede que no esté disponible para esto, pero comprender sus patrones de E / S ayudará a adaptar la solución de almacenamiento.


En cuanto a las opciones de creación del sistema de archivos ext4, gran parte de esto será abstraído por su controlador RAID de hardware. Debería poder crear un sistema de archivos sin ninguna opción especial aquí. Los parámetros a los que se refiere tendrán un mayor impacto en una solución RAID de software.

ewwhite
fuente
Alguna información muy útil aquí. Estamos buscando el rendimiento primero, el espacio total en disco segundo. Por lo tanto, no estamos considerando RAID 10 porque perderíamos la mitad de nuestros 24 TB disponibles de espacio en disco. Nuestras necesidades son muy pesadas en los datos y podemos pasar la TB de datos con bastante facilidad. Debido a que la consecuencia de la falla del servidor es una prioridad baja para nosotros (porque podemos reconstruir el servidor desde cero después de reparar el hardware defectuoso, es decir, la seguridad de los datos NO es nuestra consideración más importante), queremos maximizar la E / S del disco ( tanto local como NFS / otra historia) y velocidad de procesamiento general.
Steve Amerige
@SteveAmerige ¿Cuánto espacio en disco necesita? No puede UTILIZAR 24 discos en un grupo RAID, por lo que hay algunas consideraciones de diseño adicionales para su entorno. ¿Puede decirnos para qué sirve este sistema, qué tipo de datos están involucrados y cuáles son los requisitos de rendimiento real?
ewwhite
1
@SteveAmerige ¡Más detalles! El RAID 5 no es un iniciador. Simplemente NO debería usarlo en 2014. ¿Qué tipo de datos es este? ¿Cuál sería la tecnología de virtualización? KVM? VMware? Creo que el diseño aquí realmente necesita algún refinamiento, especialmente antes de invertir en tanto hardware ... ¿Sabes cuál será el tamaño del "conjunto de trabajo" de datos por VM? En los casos en que se conoce ese valor, puede almacenar en caché y optimizarlo. Almacenamiento escalonado. SSD ¿La carga de trabajo tiene sesgos de lectura o de escritura?
ewwhite
1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? No, no esta bien. Con unidades de este tamaño, y con tantos discos en un grupo, RAID 5 efectivamente le brinda seguridad de datos 0. También puede lanzar los discos en dos arreglos RAID 0 de 12 discos.
HopelessN00b
1
Al final, hice la siguiente configuración de las 24 unidades físicas: Grupo de discos 0, RAID 10 (4 unidades): VD 0: BOOT 100GB; VD 1: ROOT 2134.5GB. Grupo de discos 1, RAID 0 (10 unidades): VD 2: DATA1, 11172.5GB. Grupo de discos 2, RAID 0 (10 unidades): VD 3: DATA2, 11172.5GB. Es posible que no haya necesitado tener discos virtuales VD 0 BOOT y VD 1 ROOT separados. Lo hice para asegurarme de que el disco de arranque pudiera hacer un arranque estándar (no UEFI). Utilicé LVM más adelante, así que tuve / que usé exclusivamente VD 0 y VD 1; y / datos que usaron VD 2 y VD 3. ¡Muchas gracias por todos los comentarios!
Steve Amerige
5

¡NO use una sola matriz RAID 5 en 24 discos de 1TB! No me importa mucho a qué prefieres limitar las respuestas, es una mala idea y deberías buscar otras opciones.

Las probabilidades de que falle un disco aumentan con cada disco. También lo hace el tiempo que lleva reconstruir. Cuando una unidad falla y la reemplaza, utilizará la mayor cantidad de E / S en todos los discos como sea posible para generar los datos para la nueva. Es muy probable que uno de sus 23 discos buenos restantes falle durante este proceso, lo que le obligará a restaurar el servidor desde las copias de seguridad. Lo que dices que no te importa ... pero ¿estás dispuesto a aceptar hacerlo una vez al mes? ¿Una vez por semana? A medida que los discos envejecen, muy bien podría ponerse tan mal.

Además, si desea rendimiento, RAID5 lo está guiando en la dirección equivocada. En muchos casos, RAID5 tiene un rendimiento peor que otras opciones, ya que tiene que calcular la paridad para cada escritura y luego escribir eso también en una unidad. RAID5 no fue diseñado para el rendimiento.

Si REALMENTE no le importan sus datos, vaya con RAID 0. Pero aun así, cree algunas matrices separadas, no una RAID 0 de 24 discos gigantes.

Si desea rendimiento y algo de integridad, use RAID10. Perderá algo de espacio en disco, pero obtendrá un gran aumento de rendimiento.

O puede mirar cosas como ZFS que están diseñadas desde cero para trabajar con grandes cantidades de datos en discos.

Conceder
fuente
1
Para su información, soy un desarrollador de software que gestiona los servidores de nuestra división como un trabajo secundario. Eso significa que tengo muchas lagunas en mi conocimiento. Pero, he estado haciendo esto razonablemente exitoso durante un par de años. Esta es la primera vez que construyo un servidor tan grande, por lo que sus comentarios son muy apreciados. Agradezco mucho tu comentario sobre las limitaciones de RAID 5. Lo que queremos es rendimiento y espacio total disponible en el disco, pero estamos dispuestos a considerar algunas configuraciones RAID que nos brindan cierta seguridad de los datos (nuestra última prioridad).
Steve Amerige
1

Sus opciones:

  • RAID 0 : convierte todos sus discos en una sola unidad sin redundancia. Tiene el mayor rendimiento de lectura y escritura y el espacio más útil de cualquiera de las opciones, pero la pérdida de un solo disco significa la pérdida de todos los datos.

  • RAID 1 + 0 : convierte todos sus discos en una sola unidad con todos los datos presentes en dos discos. La velocidad de lectura es casi la misma que RAID 0, la velocidad de escritura se reduce a la mitad (ya que necesita escribir cada pieza de datos dos veces) y solo tiene la mitad de espacio disponible. La pérdida de un solo disco no tiene impacto en la disponibilidad de datos y un impacto mínimo en las velocidades de lectura / escritura.

  • RAID 5 : Esto convierte todos sus discos en una sola unidad, con un valor de paridad en un disco. La velocidad de lectura es ligeramente inferior a RAID 0, la velocidad de escritura es mucho más lenta, posiblemente más lenta que la velocidad de escritura de un solo disco no RAID (cada escritura requiere un ciclo de lectura-modificación-escritura en al menos dos discos), y usted perder el espacio de un disco para la información de paridad. La pérdida de un solo disco puede causar una reducción importante de la velocidad de lectura (la reconstrucción de los datos almacenados en él requiere la lectura de datos de todos los otros discos), pero no tiene ningún impacto en la disponibilidad de datos.

  • RAID 6 : Esto tiene esencialmente todas las ventajas y desventajas de RAID 5, excepto que almacena una suma de verificación más elegante además de un cálculo de paridad, y puede manejar la pérdida de dos discos sin pérdida de datos.

Si la seguridad de los datos es realmente irrelevante (esto incluye el tiempo dedicado a restaurar los datos de la fuente original, lo que puede llevar días y el tiempo perdido al volver a hacer los cálculos interrumpidos), recomiendo RAID 0. De lo contrario, si tiene una carga de trabajo que es casi lee exclusivamente y desea cierta confiabilidad, recomiendo RAID 6 (pero tenga en cuenta que el rendimiento se verá afectado al recuperarse de un disco fallido). Si tiene una carga de trabajo de lectura y escritura, le recomiendo RAID 1 + 0.

Dependiendo de la naturaleza precisa de su carga de trabajo (es decir, si una tarea determinada accede a un subconjunto bien definido de su espacio en disco), es posible que pueda configurar múltiples matrices RAID independientes, de modo que la falla de una no afecte a las demás. .

RAID 5 no proporciona beneficios en su situación. Tiene una penalización de rendimiento (especialmente para la escritura) en comparación con RAID 0, y con la cantidad de discos que tiene, es prácticamente seguro que un segundo disco fallará durante la recuperación, lo que no brinda ningún beneficio de seguridad de datos.

marca
fuente
1

De acuerdo, solo una pregunta clara: el tamaño de la raya. El tamaño de banda más grande es mejor a menos que su RAID sea tonto para leer / escribir siempre toda la banda de datos como la porción mínima de E / S.

¿Por qué? - un tamaño de banda pequeño implica la participación de varios discos en cualquier E / S larga, cuanto menos posibilidades hay de cargar varios discos con una E / S lógica. Una franja grande significa más posibilidades de que solo un disco (o algunos) se involucre en E / S. Esto puede parecer una deficiencia porque no hay impulso en comparación con múltiples discos, pero luego su carga casi aleatoria salta y te das cuenta de que la carga se distribuiría en todos los discos de manera más o menos uniforme.

Puede encontrar más teoría detrás de esto aquí: http://www.vinumvm.org/vinum/Performance-issues.html

poige
fuente