Uno de los problemas más frecuentes en la mayoría de los entornos actuales es el rendimiento de los sistemas de almacenamiento.

Esta problemática es, si cabe, más grave aún en los sistemas virtualizados, ya que en base, las máquinas virtuales son ficheros, con todas las ventajas y desventajas que ello conlleva.

Factores externos


Normalmente los problemas de almacenamiento, se deben en su gran mayoría a alguno de estos 3 factores externos, aunque pueda perfectamente deberse a cualquier otro:

  1. Diseño inicial erróneo o infradimensionado.
  1. Crecimiento de necesidades de recursos sin un crecimiento adecuado y lógico del sistema de almacenamiento.
  1. Problemas de firmware o sistema operativo.

    El más frecuente en las infraestructuras de virtualización se debe al crecimiento de las necesidades, en este caso el número de máquinas virtuales, sin un incremento adecuado en las capacidades y prestaciones del sistema de almacenamiento.

    Sintomas y cuellos de botella


    Estos problemas acaban generando un cuello de botella que a simple vista se manifiesta en lentitud general de toda la infraestructura. Esta lentitud a veces se manifiesta de forma leve, otras un poco más grave y en los casos más extremos hemos llegado a ver la imposibilidad «física» de trabajar dada la exasperante lentitud de los sistemas.

    Generalmente, los cuellos de botellas se producen en alguno de estos componentes de las cabinas de almacenamiento.

    • Memoria caché: es el espacio donde trabajamos nuestras operaciones de I/O. Algunos fabricantes consideran un valor de más del 70% de ocupación como crítico.
    • Procesador de las controladoras: es el encargado de realizar todos los cálculos necesarios para generar las operaciones de las controladoras, como escritura/lectura, cálculo de las paridades del raid, etc. Un valor de uso por encima del 80% no suele ser recomendable.
    • Discos: es la última capa de nuestra SAN y marcan el rendimiento del array en gran parte, ya que suelen ser los responsables de la mayoría de los cuellos de botella.
    • Capa de acceso: comprende desde la topología de acceso a nivel externo como los switchs o las HBA, como los propios puertos de el array de almacenamiento.

    Atacando el problema


    Lógicamente para detectar cualquier cuello de botella es necesario un completo y fácil sistema de monitorización en el sistema de almacenamiento, en el cual seamos capaces de evaluar de un vistazo rápido los 6 u 8 parámetros más importantes del sistema.

    Si nos encontramos frente a un problema de uso de CPU en las controladoras, normalmente el problema tiene difícil solución, ya que pocas sistemas del mercado permiten un upgrade de procesadores. En caso de enfrentarnos a este problema, normalmente no nos quedan más que un upgrade de controladoras o en su defecto, la sustitución completa del sistema.

    En caso de que el cuello de botella, se detecte en la memoria cache, tiene más fácil solución en los sistemas de almacenamientos modernos, ya que la gran mayoría permite la ampliación de esta.

    Otro problema muy habitual suele el ser el de los discos y la afirmación de «comprar discos por necesidades de espacio» en lugar de las más acertada «comprar discos por rendimiento«. Al final el rendimiento de un array, salvando las distancias, la marcan el número de ejes de disco que componen la estructura de datos sobre la que estamos trabajando. Este problema tiene muy fácil solución, ya que con una simple ampliación de discos podremos habitualmente aumentar el rendimiento.

    Los problemas asociados a la capa de acceso al array de almacenamiento suelen ser menos frecuentes, pero no por ello menos importantes. El más habitual acostumbra a ser la elección errónea de iSCSI en lugar de FC en entornos con necesidades de I/O altas, lo que termina generando una saturación de la red SAN, no por throughput si no por número de entradas/salidas.

    Hay que señalar que tanto iSCSI como FC son métodos totalmente válidos de acceso a la SAN, pero cada uno enmarcado dentro de las necesidades de rendimiento para las que ha sido diseñado.

    Como veis, la cantidad de problemas y de soluciones es muy amplio, con múltiples variaciones para cada uno de los fabricantes. Es muy importante que cuando vayamos a adquirir una cabina siempre nos dejemos recomendar por un partner experto o el propio fabricante, nadie mejor que ellos para recomendarnos lo más óptimo. Igualmente, en caso de problemas, transmitir desde un principio nuestras sensaciones al soporte técnico, acelerará la resolución del problema sin duda.

    Recomendaciones

    Por último, unas breves recomendaciones a la hora de adquirir nuestro sistema de almacenamiento:

    • Realizar un correcto análisis previo de nuestras necesidades para, en base a ello, dimensional correctamente nuestra cabina.
    • Valorar el futuro crecimiento de nuestros sistemas así como de su rendimiento. Hay que tener en cuenta que las SAN tienen un tiempo mínimo de vida estimado entre 3 y 5 años, con lo cual es crucial su dimensionamiento futuro.
    • Adquirir un sistema que sea como «una goma elástica» y que nos permita crecer acorde a nuestras necesidades y (importante) con un coste asumible.
    • Que el sistema adquirido tenga una monitorización que nos permita saber en todo momento qué sucede en nuestro array de almacenamiento.
    • Que permita operaciones de mantenimiento como upgrades de firmware en caliente, sin ningún tipo de parada.
    • Es muy importante que el soporte técnico, sea humano, que tenga nombres y correo electrónico. En caso de problemas, saber que te atiende un ser humano y no una máquina es muy importante.
    • Valorar la optimización de espacio de la cabina en base a los TB netos disponibles así como del coste por TB neto.
    • Tener siempre presente: disco por rendimiento no por espacio .

    Espero que este post os sirva de utilidad, tanto si tenéis algún problema de rendimiento como si queréis prevenirlos.

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Post Relacionados: