En esta publicación, ofrezco consejos sobre cómo configurar su matrizde almacenamiento ftScalableTM (en adelante, «ftScalable») para optimizar su rendimiento. Si conoce su carga de trabajo y sus patrones de E/S y sigue unas sencillas pautas, podrá configurar su ftScalable para cumplir sus requisitos de disponibilidad y rendimiento.
Terminología
El término «disco lógico» hace referencia a un disco lógico VOS, que se compone de uno o más discos miembros. VOS distribuye los datos en bandas (striping) entre todos los discos miembros. Antes de la introducción de ftScalable, cada disco miembro consistía en un par de unidades de disco físicas. Con la llegada de ftScalable, cada disco miembro está ahora asociado a un único LUN. Un LUN, o «unidad lógica», es una subdivisión de un disco virtual («VDISK») en ftScalable.
Un VDISK es un conjunto de una o varias unidades de disco físicas, organizadas en un disco virtual mediante un tipo específico de RAID.
El «modo degradado» se refiere al funcionamiento del VDISK después de que una de sus unidades de disco físico haya fallado, pero antes de que comience la operación de recuperación.
El «modo de recuperación» se refiere al funcionamiento del VDISK mientras se está reconstruyendo tras un fallo de la unidad.
Tipos de RAID
Aunque ftScalable admite muchos tipos de RAID, aquí solo describiré los más habituales.
RAID-0: Un VDISK RAID-0 distribuye los datos en bandas entre todas las unidades de disco físicas del conjunto. Ofrece el máximo rendimiento de E/S, pero NO proporciona tolerancia a fallos. La pérdida de cualquier unidad de disco física provocará la pérdida total de los datos. Además, el ftScalable no puede retirar automáticamente del servicio las unidades físicas que presentan problemas ni reconstruir los datos de forma proactiva utilizando una unidad de repuesto. Este tipo de RAID nunca debe utilizarse en entornos de misión crítica.
RAID-1: Un VDISK RAID-1 es un simple par de unidades de disco físicas en espejo. Ofrece un buen rendimiento de lectura y escritura y puede soportar la pérdida de una sola unidad. Las lecturas pueden gestionarse desde cualquiera de las dos unidades físicas, mientras que las escrituras deben realizarse en ambas unidades. La recuperación tras el fallo de una unidad es sencilla, ya que solo requiere volver a crear el espejo a partir de la unidad que ha sobrevivido. Por lo general, el impacto en el rendimiento es mínimo cuando se ejecuta en modo degradado o de recuperación.
RAID-10: Un VDISK RAID-10 se compone de varios conjuntos de discos RAID-1, lo que permite distribuir los datos entre todos los pares RAID-1. Un VDISK RAID-10 ofrece un alto rendimiento y la capacidad de soportar potencialmente múltiples fallos de unidades físicas sin perder datos. El impacto en el rendimiento al funcionar en modo degradado o de recuperación es similar al de un VDISK RAID-1.
RAID-5/RAID-6: Estos tipos de RAID utilizan algoritmos basados en paridad y distribución de datos para ofrecer una alta disponibilidad a un coste reducido en comparación con la duplicación. Un VDISK RAID-5 utiliza el equivalente a la capacidad de una unidad de disco física para la paridad, mientras que un RAID-6 utiliza el equivalente a dos unidades. Un VDISK RAID-5 puede soportar el fallo de una sola unidad de disco sin pérdida de datos, mientras que un VDISK RAID-6 puede soportar el fallo de dos unidades. Ambos tipos ofrecen un excelente rendimiento de lectura, pero el rendimiento de escritura se ve afectado por la necesidad de escribir no solo el bloque de datos, sino también las operaciones de lectura, modificación y reescritura necesarias para los bloques de paridad. El fallo de una unidad (modo degradado) tiene un impacto medio en el rendimiento, mientras que el modo de recuperación tiene un impacto elevado en el rendimiento.
Elegir un tipo de RAID
Cada tipo de RAID tiene sus ventajas y sus inconvenientes. Si los conoce, podrá elegir el tipo de RAID que mejor se adapte a su entorno.
Para datos y aplicaciones en los que la velocidad de escritura no es importante, o en los que no es fundamental alcanzar la máxima velocidad de acceso, RAID-5 es una buena opción. A cambio de aceptar un rendimiento de escritura inferior y una latencia mayor, se pueden utilizar menos discos para una capacidad determinada y, aun así, lograr un alto grado de tolerancia a fallos. Sin embargo, también debe tener en cuenta el impacto que tiene en su aplicación el funcionamiento con un conjunto RAID degradado (es decir, una unidad de disco averiada). El rendimiento de E/S y la latencia en los tipos de RAID basados en paridad se verán más afectados durante el modo degradado y el modo de recuperación en comparación con los tipos de RAID basados en espejo.
Para los datos y las aplicaciones cuyo rendimiento depende de la optimización de la velocidad y la latencia de las operaciones de escritura, o que realizan más operaciones de escritura que de lectura, o que no deben sufrir una disminución del rendimiento en caso de fallo de una unidad, los tipos de RAID basados en duplicación (RAID-1 o RAID-10) ofrecen una solución más adecuada. Ambos tipos de RAID eliminan la penalización de «lectura previa a la escritura» de RAID-5 o RAID-6, por lo que la escritura de datos es una operación sencilla. RAID-10 suele ser una mejor opción que RAID-1, ya que permite distribuir los datos en varias unidades físicas, lo que puede aumentar significativamente el rendimiento general de lectura y escritura. (Pero lea la sección titulada«Discos lógicos de varios miembros de VOS frente a VDISKs RAID-10 escalables de ftS», más abajo).
Si no sabes si elegir un tipo de RAID basado en paridad o en duplicación, la opción más segura es utilizar uno de los tipos de RAID basados en duplicación.
Asignación de LUN a discos virtuales
A modo de resumen, un VDISK está compuesto por uno o varios discos físicos. Un VDISK puede dividirse en uno o varios LUN. Cada LUN se asigna a un disco miembro específico de VOS. Uno o varios discos miembros se combinan para formar un único disco lógico VOS.
Te recomiendo encarecidamente que asignes un único LUN a un VDISK. Aunque ftScalable permite dividir un VDISK en varios LUN, el uso de esta opción puede provocar una pérdida significativa de rendimiento que afecta tanto al rendimiento de E/S como a la latencia.
Hay varias razones que explican estas penalizaciones, pero la principal es fácil de entender. Cada vez que el ftScalable tiene que acceder a uno de los LUN en una configuración con varios LUN por VDISK, tiene que desplazar los cabezales de la unidad de disco. Cuantos más LUN compongan un VDISK, mayor será el movimiento de los cabezales. Cuanto mayor sea el movimiento de los cabezales, mayores serán las latencias. Recuerde que, en última instancia, todas las operaciones de E/S deben ser gestionadas por las unidades físicas que componen el VDISK; la memoria caché de la matriz no puede sustituir a esta E/S física.
Stratus realizado pruebas de rendimiento que demuestran que el rendimiento agregado de E/S de un VDISK de 4 LUN es aproximadamente la mitad del rendimiento del mismo VDISK configurado como un único LUN, ¡mientras que la latencia puede ser más de cuatro veces mayor!
Asignación de discos lógicos VOS a LUN
La forma más sencilla es asignar un disco lógico VOS a cada LUN. Si necesita un disco lógico VOS de mayor tamaño que un solo LUN, o si desea aprovechar las ventajas de rendimiento que ofrece la distribución en bandas, puede crear un disco lógico VOS de varios miembros, en el que cada disco miembro sea un único LUN.
Discos lógicos VOS de varios miembros frente a discos VDISK RAID-10 de ftScalable
Puede implementar el striping a nivel de VOS (creando un disco lógico VOS de varios miembros), a nivel de ftScalable (creando un VDISK RAID-10) o incluso una combinación de ambos métodos (por ejemplo, combinando varios LUN, cada uno de los cuales es un VDISK RAID-5, en un único disco lógico VOS de varios miembros). Si desea utilizar el striping, le recomiendo que utilice RAID-1 o RAID-5 para los VDISK, con 1 LUN por VDISK, y que combine estos LUN en discos lógicos VOS de varios miembros. VOS utiliza una cola independiente de solicitudes de disco para cada LUN, por lo que maximizar el número de LUN maximiza el rendimiento y minimiza la latencia.
Asignación de archivos a discos lógicos de VOS
Siempre que sea posible, asigne los archivos de acceso aleatorio y los de acceso secuencial a discos lógicos distintos. Mezclar ambos tipos de acceso a archivos en un mismo disco lógico aumenta el tiempo máximo necesario para acceder a los archivos de acceso aleatorio y reduce el rendimiento máximo posible de los archivos secuenciales.
Resumen
Siguiendo estas sencillas pautas, podrás conseguir un acceso al disco fiable, de alto rendimiento y baja latencia.
Si cree que tiene motivos de peso para utilizar una configuración diferente a la que hemos recomendado aquí, póngase en contacto con su equipo de cuentas. Estamos siempre a su disposición para revisar las configuraciones actuales de ftScalable y ofrecerle asesoramiento adaptado a su situación específica.
Espero que esta información te resulte útil. Si tienes alguna pregunta o comentario, por favor, responde a esta publicación.
Agradecimientos
Joe Sanzio me ha prestado una ayuda inestimable durante la redacción de esta entrada. Cualquier error que pueda quedar es responsabilidad mía.
