Determinar el número de unidades en un grupo RAID
Cuántas unidades serán necesarias en un grupo RAID para obtener el rendimiento que necesita para el servidor de base de datos, de correo electrónico o de archivos, o para la nueva implementación de VMware?
Sabe que necesita almacenamiento y tiene una idea bastante aproximada de cómo dimensionar la capa SAN. Pero, cómo puede determinar el número correcto y el tipo adecuado de discos? Cuántas unidades serán necesarias en un grupo RAID para obtener el rendimiento que necesita para el servidor de base de datos, de correo electrónico o de archivos, o para la nueva implementación de VMware? Puede haber demasiadas unidades en un grupo RAID o incluso en la matriz RAID de almacenamiento actual?
A continuación trataremos estos parámetros para las matrices RAID y tecnología de disco subyacente. Cuándo debería utilizar SAS, SATA, FC o SCSI? Que otros indicadores existen (como por ejemplo el número máximo óptimo de ejes por controlador) para dimensionar las matrices de almacenamiento? Qué pasa con las especificaciones de rendimiento de otros distribuidores?
Los cuadros de características de los distribuidores le informarán de todo lo que necesita saber sobre las matrices de almacenamiento y las unidades de disco: capacidad en bruto, productividad (normalmente en MB/segundo), E/S por segundo (IOPS), fiabilidad (MTBF, tiempo medio entre averías) y tipo de unidad (SAS, SATA, FC, etc). La mayoría de las matrices de almacenamiento van a tener interfaces de Canal de Fibra en la entrada (algunos ofrecen InfiniBand) y pueden ser FC, SATA o SAS en el área de discos. Admiten RAID a no ser que la matriz sea JBOD (Just a Bunch Of Disks, Sólo un montón de discos). El almacenamiento de conexión directa (DAS) es el entorno habitual si no se tiene una SAN y puede referirse a unidades internas del servidor o a la matriz RAID SCSI conectada a uno o dos servidores.
RAID es, básicamente, un grupo de discos, normalmente con una o ambas características de paridad y distribución. La paridad es la redundancia de los bloques de datos en los discos; la distribución permite a la unidad individual sumar las velocidades y las capacidades de alimentación, proporcionando un rendimiento mayor de lo que proporciona un único disco. Cada tipo de RAID tiene ventajas e inconvenientes en materia de fiabilidad, rendimiento y costo. (El nivel de redundancia que elija puede costarle una gran cantidad de capacidad utlizable)
Algunos aspectos de RAID pueden afectar al rendimiento o a las E/S. (RecueDRe que necesitará un alto rendimiento de E/S en aplicaciones sensibles a la latencia como las bases de datos o el correo electrónico.) El rendimiento en RAID puede sufrir un revés durante un fallo de la unidad porque el controlador RAID tendrá una elevada dedicación a la reconstrucción del grupo RAID utilizando todas sus unidades de reserva en caliente.
Espera un momento, Joel. Me acabo de comprar cuatro unidades de 1 TB. Qué quieres decir que sólo tengo 2,7 TB de capacidad utilizable?
Capacidad utilizable y capacidad en bruto. La capacidad con la que tenemos que contar no será exactamente la que aparece en el cuadro de especificaciones. Esa unidad SATA de 750 GB seguramente tendrá unos 690 GB efectivos debido a la geometría del disco o ""sobrecarga"". En una unidad de 1 TB podría disponer de unos 900 GB.
El tipo de RAID también afecta a la capacidad utilizable. La mayoría de las matrices RAID nos permiten tener una (o más) unidades de reserva, un disco que está esperando a aumentar su actividad durante el fallo de una unidad en un grupo RAID o que empezara a reconstruir la redundancia en esa unidad después de un fallo del disco. Cuando calcule la capacidad utilizable no olvide restar la capacidad de la unidad destinada a las unidades de repuesto en caliente.
Qué quiere decir que sólo vamos a obtener 200 MB/segundo? La tabla de caracteristicass indica que es una matriz RAID de 800 MB/segundo.
El rendimiento proporcionado por su almacenamiento SAN variará de forma significativa dependiendo de si el acceso a los datos puede ser definido como lecturas secuenciales sostenidas, lecturas aleatorias, escrituras secuenciales sostenidas, escrituras aleatorias o alguna combinación de ellas. No se preocupe -- no será necesario examinar los informes de prueba de cada LUN a no ser que quiera identificar un problema específico de la aplicación. Puede que tenga una mezcla de las opciones anteriores, a no ser que esté dimensionando una aplicación específica.
Tenga en cuenta que:. En una matriz RAID la escritura aleatoria es la de peor rendimiento y la lectura secuencial sostenida es la mejor rendimiento. Adivine cuál de esas estadísticas de rendimiento va a aparecer de forma prominente en la tabla de características del vendedor.
El número máximo de unidades por cada par de controladores suele estar especificado y ese número seguramente será "demasiado". Tiene que saber cuántas unidades se admiten cuando se llega a un rendimiento máximo y cuántas puede añadir antes de que el rendimiento se vea afectado notablemente. (Esto sólo es un problema en el almacenamiento modular, las grandes matrices corporativas soportarán perfectamente un número masivo de unidades.) Cuando dimensione los requerimientos de su disco SAN, le recomiendo que para el acceso de su DBA o de su administrador de correo electrónico tenga en cuenta sus requisitos específicos.
Tipo de unidades
Cómo puede identificar el tipo de unidades necesarias para su entorno? Categorizando los requisitos de capacidad de esta forma:
Las aplicaciones sensibles a las E/S serán la primera categoría. Las aplicaciones sensibles al rendimiento "throughput" (flujo y edición de vídeo, copias de seguridad en D2D o VTL, etc.) serán otra. Los servidores de archivos básicos, los servidores Web, los de impresión, el espacio de la unidad base y el espacio para archivar irán en la categoría de archivo.
En cuanto a las aplicaciones transaccionales, como las aplicaciones con bases de datos o de correo electrónico, los requisitos de capacidad de sus servidores estarán en la categoría de las aplicaciones sensibles a las E/S. Recomendación: SAS de 15K o discos FC y muchos de ellos. Debería determinar el tipo RAID y calcular la capacidad utilizable y si ve que necesita cinco SAS de 300 GB y 15K RPM o unidades de Canal de Fibra para llegar a esa capacidad de utilización, podría probar mejor con diez SAS de 15K y 146 GB o unidades de Canal de Fibra. Con el doble de ejes obtendrá más E/S y diez unidades de 15K y 146 GB costarían menos que cinco unidades de 15K y 300 GB.
Si tiene un entorno de almacenamiento grande y necesita muchas unidades, será más inteligente tener unidades de 300 GB y 15K, ya que tendrá los ejes necesarios para sacar partido de las E/S y todavía podrá utilizar su capacidad. Si tiene un objetivo para la cantidad de E/S que necesita, la consideración del rendimiento que aparece más abajo le dará una regla general para conseguir este requisito. Puede encontrarse con que necesita 20 unidades de 76 GB y 15K. Sus grupos RAID seguramente no serán tan grandes, pero puede crear más de un grupo RAID y quien los integre podrá optimizar cómo será utilizado por el servidor que acceda a este conjunto de recursos de almacenamiento. (Cuantas más unidades tenga en un grupo RAID, más tiempo taDRará la recuperación durante un fallo.)
La edición y el flujo de vídeo, las copias de seguridad y determinados tipos de servidores de archivos estarán en la categoría de aplicaciones sensibles al rendimiento. (Una carga de trabajo que ponga peticiones "simultáneas" en los recursos de almacenamiento podría necesitar SAS de 10K o de 15K o discos de Canal de Fibra, pero los discos SATA de 7 200 RPM con el tipo adecuado de controladores también podría proporcionar el rendimiento necesario.) He visto un rendimiento de escritura secuencial sostenida de 800 MB/segundo en servidores de almacenamiento que utilizan controladores RAID en unidades SATA más modernas. Nota: si su servidor Web, de archivos o de impresión no tienen una demanda de velocidad o un requerimiento de E/S, querrá ponerlos en la categoría mas baja y barata de las aplicaciones de archivo. Esta sería la de las unidades SATA de 750 GB o 1 TB y de 7 200 RPM. También recomiendo RAID 6 para soluciones de almacenamiento SATA, ya que verá el doble de fallos en las unidades SATA en comparación con las unidades SAS o de Canal de Fibra, de acueDRo con las estadísticas MTBF de los fabricantes.
Selección de RAID
Si quiere una alta disponibilidad en su solución de almacenamiento, tendrá cierto nivel de redundancia o paridad para proteger sus datos en el caso de uno o más fallos del disco. Seguramente también necesitará maximizar la distribución (RAID 0) para acumular el rendimiento de las unidades de disco individuales y, en realidad, alguna combinación de paridad y distribución. Aquí es donde llegamos a RAID 50 (5+0 o 0+5) o RAID 10 (1+0 o 1/0). Comparemos las ofertas más comunes de RAID (las soluciones RAID-1/0, RAID-5, RAID 50 Y RAID-6) basándonos en la velocidad, la utilización del espacio y el rendimiento durante las reconstrucciones y los fallos.
Comparación de tipos RAID
RAID-1/0 permite la distribución de los datos (RAID-0) y su redundancia (RAID-1). (RAID-0-1 no es lo mismo que RAID-1/0; no recomiendo RAID-0-1 para los datos de Microsoft Exchange.) El rendimiento de las transacciones con RAID-1/0 es bueno porque cualquier disco en espejo (redundante) puede responder a las peticiones de lectura. No es necesario calcular la información de paridad para manejar las escrituras del disco de forma eficiente. Cada disco en el grupo espejo (redundante) tiene que realizar la misma escritura.
Si un disco falla en una matriz RAID-1/0, el rendimiento de escritura no se ve afectado porque un disco del grupo de redundancia todavía puede aceptar las escrituras. Las lecturas se ven afectadas de forma moderada porque ahora sólo un disco físico puede responder a las peticiones de lectura. Cuando el disco que ha fallado se sustituye, el redundante se establece de nuevo y los datos tienen que copiarse o reconstruirse. Sin embargo, la capacidad del disco se reduce a la mitad porque estamos creando una redundancia de 1 a 1 en los discos.
RAID-5 implica calcular la paridad que puede utilizarse con los datos del disco que ha sobrevivido para recrear los datos en un disco que ha fallado. Escribir en una matriz RAID-5 hace que se escriban hasta cuatro E/S por cada E/S real y el cálculo de paridad puede consumir los recursos del controlador o del servidor. El rendimiento de las transacciones con RAID-5 puede seguir siendo bueno, en particular cuando se utiliza un controlador de almacenamiento para calcular la paridad.
Cuando un disco falla en una matriz RAID-5, la matriz está en un estado degradado, el rendimiento es menor y las latencias son mayores. Esta situación se produce porque la mayoría de matrices extienden la información de paridad al mismo tiempo a través de todos los discos de la matriz y esto puede combinarse con los bloques de datos que han sobrevivido para reconstruir los datos en tiempo real. Tanto las lecturas como las escrituras tienen que acceder a múltiples discos físicos para reconstruir los datos en un disco peDRido, aumentando por tanto la latencia y reduciendo el rendimiento en una matriz RAID-5 durante un fallo.
Cuando el disco que ha fallado se sustituye, la paridad y los bloques que han sobrevivido se utilizan para reconstruir los datos peDRidos, un proceso largo que puede taDRar días. Si un segundo disco de la matriz RAID-5 falla durante el modo provisional de recuperación de datos o durante la reconstrucción, la matriz se pieDRe. RAID-6 se ha creado para tratar esta vulnerabilidad.
Los niveles RAID 0+5 (05) y 5+0 (50) son técnicas que aplican una distribución de bloques con paridad distribuida combinada con la distribución de los bloques. RAID 05 y 50 forman matrices grandes combinando la distribución de bloques y la paridad de RAID 5 con la distribución de bloques de RAID 0. RAID 05 es una matriz RAID 5 formada por varias matrices distribuidas RAID 0; es menos frecuente que RAID 50, que es una matriz RAID 0 distribuida a través de elementos RAID 5. RAID 50 y 05 mejoran el rendimiento de RAID 5 con el añadido de RAID 0, en particular durante las escrituras. También proporciona una tolerancia mejor a los fallos que un único nivel RAID, especialmente si está configurada como RAID 50. La mayoría de las características de RAID 05 y 50 son parecidas a las de RAID 03 y 30. RAID 50 y 05 son preferibles para entornos de transacciones con archivos más pequeños que 03 y 30. Si va a realizar edición de vídeo le sugiero investigar RAID 03 y 30.
RAID-6 añade otro bloque de paridad y proporciona aproximadamente el doble de protección de datos que RAID-5, pero con el costo de rendimiento aún menor de escritura. A medida que los discos físicos son más grandes, y en consecuencia los tiempos de reconstrucción de las RAID son más largos, RAID-6 puede ser necesaria para evitar el fallo de las LUN si se produce un error que no se puede corregir durante la reconstrucción o si falla un segundo disco en el grupo de matrices durante la reconstrucción. Debido a la capacidad del disco, algunos proveedores soportan RAID-6 en lugar de RAID-5.
Para conseguir el objetivo de E/S en los requisitos de Exchange 2007 para una capacidad determinada, RAID 5 puede necesitar en realidad más ejes que RAID 10.
Al final, el rendimiento depende de las características de rendimiento de las unidades, de la configuración de los grupos RAID y del tipo de RAID. Cuando elegimos RAID 5 (o RAID 6) es importante tener en cuenta que cada E/S del host tiene 4 operaciones asociadas debido a que es una escritura RAID 5 de distribución parcial o una escritura RAID 6 de distribución doble. Las operaciones leen la paridad de unidad/lectura, la paridad recalculada, la unidad de escritura, la paridad de escritura y reducen la velocidad efectiva de E/S de la unidad en 1/4.
Seleccionar un tipo RAID
Para seleccionar un tipo RAID tendrá que equilibrar los requisitos de capacidad, productividad, E/S por transacción y rendimiento por fallo/reconstrucción. RAID-1/0 es la configuración ideal para bases de datos y correo electrónico y funciona bien con discos de gran capacidad. Tiene más escrituras en relación a las E/S totales en su entorno? Utilice RAID 1/0. RAID 1/0 le dará consistencia en el rendimiento incluso durante el fallo de una unidad.
Para RAID-5 y RAID-6, el rendimiento de reconstrucción puede tener un efecto significativo en la productividad del almacenamiento, recortándolo hasta la mitad dependiendo de la matriz y de la configuración del almacenamiento. Las reconstrucciones programadas fuera de las horas de producción pueden compensar esta péDRida de rendimiento, pero tendrá que sacrificar la fiabilidad. En un entorno de duplicación continua en clúster (CCR) puede evitar que la reducción de la productividad afecte a los usuarios moviendo el servidor Mailbox al nodo pasivo y por tanto convirtiéndolo en el nodo activo. Si ninguna de estas opciones está disponible, el rendimiento adicional de E/S debería diseñarse en la arquitectura para dar cabida a las condiciones de reconstrucción de RAID-5 o RAID-6 durante las horas de producción. Este rendimiento de E/S adicional puede ser hasta el doble de los requisitos de E/S en un estado sin fallos.
Si su solución de copia de seguridad (VTL o D2D) necesita sostener un flujo de datos (throughput) determinado, tendrá que considerar cuántos recursos de la unidad serían necesarios para manejar ese nivel de rendimiento de "escritura secuencial sostenida". Para decirlo de una forma sencilla, si su matriz RAID puede realizar escrituras secuenciales sostenidas de 350 MB/segundo de acueDRo con las especificaciones, puede que para obtener esa cifra deba balancear la carga de los recursos del disco a través de todos los controladores. Es necesario comprobar que hay suficientes unidades para obtener el máximo rendimiento de la matriz. Normalmente puede hacerlo por lo menos con dos o tres ""bandejas"" de discos. Planifique la creación de los grupos RAID para cada "canal" (tramos de datos que van hacia los controladores RAID en la matriz RAID). Así que si tiene una matriz RAID con controlador dual, querrá tener sus grupos RAID distribuidos uniformemente entre todos los controladores que tenga.
Sobre el autor: Joel Lovell es asesor sénior de almacenamiento de Storage Engine Inc. Su especialidad es el almacenamiento de alto rendimiento y la consolidación del almacenamiento. Ha sido formado por EMC en soluciones de continuidad empresarial, infraestructura de almacenamiento de empresas y gestión de almacenamiento para empresas. Anteriormente trabajó como especialista en almacenamiento estratégico para el continente americano en Silicon Graphics y como ingeniero sénior de sistemas en EMC.