En esta publicación, ofrezco consejos sobre cómo configurar su matriz de almacenamiento ftScalableTM (de aquí en adelante abreviado como ftScalable) para optimizar su rendimiento. Comprendiendo su carga de trabajo y patrones de E/S y siguiendo algunas pautas simples, puede configurar su ftScalable para lograr sus requisitos de disponibilidad y rendimiento.
Terminología
El término "disco lógico" se refiere a un disco lógico VOS, que está compuesto de uno o más discos miembros. Los VOS dividen los datos en todos los discos miembros. Antes de la introducción del ftScalable, cada disco miembro era un par de unidades de disco físico. Con la llegada del 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 el ftScalable.
Un VDISK es una colección de 1 o más discos físicos, organizados en un disco virtual usando un tipo de RAID específico.
"Modo degradado" se refiere al funcionamiento del VDISK después de que uno de sus discos duros físicos haya fallado pero antes de que comience la operación de recuperación.
"Modo de recuperación" se refiere al funcionamiento del VDISK mientras se está reconstruyendo después de un fallo del disco.
Tipos de RAID
Aunque hay muchos tipos de RAID soportados por el ftScalable, aquí sólo describiré los más comunes.
RAID-0: Un VDISK RAID-0 separa los datos de todas las unidades de disco físico del conjunto. Proporciona los más altos grados de rendimiento de E/S, pero NO ofrece tolerancia a fallos. La pérdida de cualquier unidad de disco físico causará la pérdida total de datos. Además, el ftScalable no puede poner fuera de servicio automáticamente las unidades físicas marginales y reconstruir proactivamente los datos usando una unidad de repuesto. Este tipo de RAID nunca debe ser usado en entornos de misión crítica.
RAID-1: Un VDISK RAID-1 es un simple par de discos físicos espejados. Ofrece un buen rendimiento de lectura y escritura y puede sobrevivir a la pérdida de una sola unidad. La lectura puede ser manejada por cualquiera de los dos discos físicos, mientras que la escritura debe ser realizada en ambos. La recuperación de una unidad que ha fallado es fácil, y sólo requiere que el compañero superviviente vuelva a espejarse. 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 está compuesto por múltiples conjuntos de discos RAID-1, permitiendo que los datos se dividan en todos los pares RAID-1. Un VDISK RAID-10 ofrece un alto rendimiento y la capacidad de sobrevivir potencialmente a múltiples fallos físicos de los discos sin perder datos. El impacto en el rendimiento mientras se ejecuta 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 la paridad y el rayado para ofrecer una alta disponibilidad a un costo reducido en comparación con el espejado. Un RAID-5 VDISK utiliza el equivalente a la capacidad de un disco físico para la paridad, mientras que un RAID-6 utiliza el equivalente a dos discos. Un VDISK RAID-5 puede sobrevivir al fallo de un solo disco sin pérdida de datos, mientras que un VDISK RAID-6 puede sobrevivir al fallo de dos discos. Ambos tipos ofrecen un excelente rendimiento de lectura, pero el rendimiento de escritura se ve afectado por la necesidad de escribir no sólo el bloque de datos, sino también por las operaciones de lectura / modificación / reescritura necesarias para el bloque o bloques de paridad. El fallo de la unidad (modo degradado) tiene un impacto medio en el rendimiento, mientras que el modo de recuperación tiene un impacto alto en el rendimiento.
Escoger un tipo de RAID
Cada tipo de RAID tiene ventajas e inconvenientes específicos. Si los entiendes, podrás seleccionar el tipo de RAID que mejor se adapte a tu entorno.
Para datos y aplicaciones donde la velocidad de escritura no es importante, o donde lograr la máxima velocidad de acceso no es importante, el RAID-5 es una buena elección. A cambio de aceptar un rendimiento de escritura más bajo y una mayor latencia, se pueden utilizar menos discos para una capacidad determinada, y aún así lograr un alto grado de tolerancia a los fallos. Sin embargo, también debe tener en cuenta el impacto de ejecutar con un conjunto de RAID degradado (es decir, una unidad de disco con fallos) en su aplicación. El rendimiento de E/S y la latencia en los tipos RAID basados en paridad sufrirán más durante el modo degradado y el modo de recuperación en comparación con los tipos 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 escrituras, o que realizan más escrituras que lecturas, o que no deben encontrar un rendimiento degradado en caso de un fallo de la unidad, los tipos de RAID basados en espejos (RAID-1 o RAID-10) ofrecen una mejor solución. Ambos tipos de RAID eliminan la penalización de lectura antes de 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 porque permite eliminar los datos en varias unidades físicas, lo que puede aumentar significativamente el rendimiento general de lectura y escritura. (Pero por favor, lea la sección titulada "Discos lógicos de varios miembros de VOS frente a los VDISKs RAID-10 ftScalable", más abajo).
Si no puedes decidir si seleccionar un tipo de RAID basado en paridad o en espejo, la opción más segura es utilizar uno de los tipos de RAID basados en espejo.
Asignando LUNs a VDISKS
Para repasar, uno o más discos físicos componen un VDISK. Un VDISK puede ser dividido en uno o más LUNs. Cada LUN está asignado a un disco miembro específico del VOS. Uno o más discos miembros se combinan en un único disco lógico VOS.
Le recomiendo encarecidamente que asigne un solo LUN a un VDISK. Mientras que el ftScalable soporta el tallado de un VDISK en múltiples LUNs, el uso de esta opción puede introducir importantes penalizaciones de rendimiento que afectan tanto al rendimiento de E/S como a la latencia.
Hay varias razones para estas penalizaciones, pero la básica es fácil de entender. Cada vez que el ftScalable tiene que acceder a uno de los LUNs en una configuración de múltiples LUNs por VDISK, tiene que buscar los cabezales de la unidad de disco. Cuantos más LUNs componen un VDISK, mayor es el movimiento de los cabezales. Cuanto más movimiento de cabeza, mayores son las latencias. Recuerden, todas las E/S deben ser eventualmente manejadas por las unidades físicas que componen el VDISK; la memoria caché del array no puede reemplazar esta E/S física.
Stratus ha realizado pruebas de referencia que demuestran que el rendimiento de E/S agregado de un VDISK de 4 LUN es aproximadamente la mitad del rendimiento del mismo VDISK configurado como un solo LUN, ¡mientras que la latencia puede ser más de cuatro veces mayor!
Asignar los discos lógicos VOS a los LUNs
El enfoque más simple es asignar un disco lógico VOS a cada LUN. Si necesita un disco lógico VOS que sea más grande que un solo LUN, o si quiere aprovechar las ventajas de rendimiento de la separación, entonces puede crear un disco lógico VOS de varios miembros, donde cada disco miembro es un solo LUN.
Discos Lógicos Multi-Miembros VOS versus VDISKs RAID-10 escalables por pies
Puede implementar el rayado a nivel VOS (creando un disco lógico de varios miembros VOS), o a nivel de ftScalable (creando un RAID-10 VDISK), o incluso una combinación de ambos métodos (digamos, combinando múltiples LUNs, cada uno de los cuales es un RAID-5 VDISK, en un único disco lógico de varios miembros VOS). Si desea utilizar el striping, le recomiendo que utilice el RAID-1 o el RAID-5 para los VDISKS, con 1 LUN por VDISK, y combine estos LUNs en discos lógicos VOS multimiembro. VOS utiliza una cola separada de peticiones de disco para cada LUN y así, al maximizar el número de LUNs, se maximiza el rendimiento y se minimiza la latencia.
Asignación de archivos a los discos lógicos VOS
Cuando sea posible, asigne los archivos de acceso aleatorio y los de acceso secuencial a discos lógicos separados. La mezcla de los dos tipos de métodos de acceso a los archivos en el mismo disco lógico aumenta el tiempo necesario en el peor de los casos para acceder a los archivos de acceso aleatorio y reduce el máximo rendimiento posible de los archivos secuenciales.
Resumen
Puede lograr un acceso fiable al disco de alto rendimiento y baja latencia usando estas sencillas directrices.
Si cree que tiene un buen caso para usar una configuración diferente a la que hemos recomendado aquí, por favor contacte con su equipo de cuenta. Siempre estamos disponibles para revisar las configuraciones existentes de ftScalable y ofrecer orientación para situaciones específicas de los clientes.
Espero que esta información sea útil. Si tiene preguntas o comentarios, por favor, responda a este post.
Agradecimientos
Joe Sanzio proporcionó una ayuda inestimable durante la redacción de este post. Cualquier error que quede es mío.