Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

Parte 1. Acerca de la CPU
Parte 2. Acerca de la memoria

Hoy analizaremos las métricas del subsistema de disco en vSphere. Un problema de almacenamiento es la razón más común de una máquina virtual lenta. Si, en el caso de la CPU y la RAM, la solución de problemas finaliza en el nivel del hipervisor, entonces, si hay problemas con el disco, es posible que deba ocuparse de la red de datos y el sistema de almacenamiento.

Discutiré el tema usando el ejemplo del acceso en bloque a los sistemas de almacenamiento, aunque para el acceso a archivos los contadores son aproximadamente los mismos.

Un poco de teoría

Cuando se habla del rendimiento del subsistema de disco de las máquinas virtuales, la gente suele prestar atención a tres parámetros interrelacionados:

  • número de operaciones de entrada/salida (Operaciones de entrada/salida por segundo, IOPS);
  • rendimiento;
  • retraso de las operaciones de entrada/salida (Latencia).

Número de IOPS Suele ser importante para cargas de trabajo aleatorias: acceso a bloques de disco ubicados en diferentes lugares. Un ejemplo de tal carga podrían ser bases de datos, aplicaciones comerciales (ERP, CRM), etc.

Ancho de banda importante para cargas secuenciales: acceso a bloques ubicados uno tras otro. Por ejemplo, los servidores de archivos (pero no siempre) y los sistemas de videovigilancia pueden generar tal carga.

El rendimiento está relacionado con el número de operaciones de E/S de la siguiente manera:

Rendimiento = IOPS * Tamaño de bloque, donde Tamaño de bloque es el tamaño del bloque.

El tamaño del bloque es una característica bastante importante. Las versiones modernas de ESXi permiten bloques de hasta 32 KB de tamaño. Si el bloque es aún mayor, se divide en varios. No todos los sistemas de almacenamiento pueden funcionar de manera eficiente con bloques tan grandes, por lo que existe un parámetro DiskMaxIOSize en la Configuración avanzada de ESXi. Al usarlo, puede reducir el tamaño máximo de bloque omitido por el hipervisor (más detalles aquí). Antes de cambiar este parámetro, recomiendo consultar con el fabricante del sistema de almacenamiento o al menos probar los cambios en una mesa de laboratorio. 

Un tamaño de bloque grande puede tener un efecto perjudicial en el rendimiento del almacenamiento. Incluso si la cantidad de IOPS y el rendimiento son relativamente pequeños, se pueden observar latencias altas con un tamaño de bloque grande. Por tanto, preste atención a este parámetro.

Estado latente – el parámetro de rendimiento más interesante. La latencia de E/S para una máquina virtual consta de:

  • retrasos dentro del hipervisor (KAVG, Average Kernel MilliSec/Read);
  • Retraso proporcionado por la red de datos y el sistema de almacenamiento (DAVG, Average Driver MilliSec/Command).

La latencia total que es visible en el sistema operativo invitado (GAVG, Average Guest MilliSec/Command) es la suma de KAVG y DAVG.

Se miden GAVG y DAVG y se calcula KAVG: GAVG–DAVG.

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento
fuente

Echemos un vistazo más de cerca KAVG. Durante el funcionamiento normal, KAVG debería tender a cero o al menos ser mucho menor que DAVG. El único caso que conozco en el que se espera que KAVG sea alto es el límite de IOPS en el disco de la VM. En este caso, cuando intente exceder el límite, KAVG aumentará.

El componente más importante de KAVG es QAVG: el tiempo de cola de procesamiento dentro del hipervisor. Los componentes restantes de KAVG son insignificantes.

La cola en el controlador del adaptador de disco y la cola en las lunas tienen un tamaño fijo. Para entornos muy cargados, puede resultar útil aumentar este tamaño. es describe cómo aumentar las colas en el controlador del adaptador (al mismo tiempo aumentará la cola a las lunas). Esta configuración funciona cuando solo una VM está trabajando con la luna, lo cual es poco común. Si hay varias VM en la luna, también debes aumentar el parámetro Disk.SchedNumReqExcepcional (instrucciones  aquí). Al aumentar la cola, disminuye QAVG y KAVG respectivamente.

Pero nuevamente, primero lea la documentación del proveedor de HBA y pruebe los cambios en una mesa de laboratorio.

El tamaño de la cola a la luna puede verse afectado por la inclusión del mecanismo SIOC (Control de E/S de almacenamiento). Proporciona acceso uniforme a la luna desde todos los servidores del clúster cambiando dinámicamente la cola a la luna en los servidores. Es decir, si uno de los hosts ejecuta una VM que requiere una cantidad desproporcionada de rendimiento (VM vecina ruidosa), SIOC reduce la longitud de la cola a la luna en este host (DQLEN). Más detalles aquí.

Hemos resuelto KAVG, ahora un poco sobre DAVG. Aquí todo es simple: DAVG es el retraso introducido por el entorno externo (red de datos y sistema de almacenamiento). Cada sistema de almacenamiento moderno y no tan moderno tiene sus propios contadores de rendimiento. Para analizar los problemas con DAVG, tiene sentido analizarlos. Si todo está bien en el lado de ESXi y del almacenamiento, verifique la red de datos.

Para evitar problemas de rendimiento, elija la Política de selección de ruta (PSP) correcta para su sistema de almacenamiento. Casi todos los sistemas de almacenamiento modernos admiten PSP Round-Robin (con o sin ALUA, acceso asimétrico a unidades lógicas). Esta política le permite utilizar todas las rutas disponibles al sistema de almacenamiento. En el caso de ALUA, sólo se utilizan los caminos hacia el controlador propietario de la luna. No todos los sistemas de almacenamiento en ESXi tienen reglas predeterminadas que establecen la política Round-Robin. Si no existe una regla para su sistema de almacenamiento, utilice un complemento del fabricante del sistema de almacenamiento, que creará una regla correspondiente en todos los hosts del clúster, o cree una regla usted mismo. Detalles aquí

Además, algunos fabricantes de sistemas de almacenamiento recomiendan cambiar el número de IOPS por ruta del valor estándar de 1000 a 1. En nuestra práctica, esto hizo posible "exprimir" más rendimiento del sistema de almacenamiento y reducir significativamente el tiempo necesario para la conmutación por error. en caso de falla o actualización del controlador. Consulte las recomendaciones del proveedor y, si no hay contraindicaciones, intente cambiar este parámetro. Detalles aquí.

Contadores de rendimiento del subsistema de disco de máquina virtual básica

Los contadores de rendimiento del subsistema de disco en vCenter se recopilan en las secciones Almacén de datos, Disco y Disco virtual:

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

En la sección Almacenamiento de Datos Existen métricas para los almacenamientos en disco de vSphere (almacenes de datos) en los que se encuentran los discos de VM. Aquí encontrará contadores estándar para:

  • IOPS (solicitudes promedio de lectura/escritura por segundo), 
  • rendimiento (tasa de lectura/escritura), 
  • retrasos (lectura/escritura/latencia más alta).

En principio, todo queda claro por los nombres de los contadores. Permítame llamar su atención una vez más sobre el hecho de que las estadísticas aquí no son para una VM específica (o disco de VM), sino estadísticas generales para todo el almacén de datos. En mi opinión, es más conveniente mirar estas estadísticas en ESXTOP, al menos teniendo en cuenta que el período mínimo de medición es de 2 segundos.

En la sección Disco Hay métricas en los dispositivos de bloque que utiliza la VM. Hay contadores de IOPS del tipo sumatorio (el número de operaciones de entrada/salida durante el período de medición) y varios contadores relacionados con el acceso al bloque (Comandos abortados, Restablecimientos de bus). En mi opinión, también es más conveniente ver esta información en ESXTOP.

Sección Disco virtual – el más útil desde el punto de vista de encontrar problemas de rendimiento del subsistema de disco VM. Aquí puede ver el rendimiento de cada disco virtual. Es esta información la que se necesita para comprender si una máquina virtual en particular tiene un problema. Además de los contadores estándar para el número de operaciones de E/S, volumen de lectura/escritura y retrasos, esta sección contiene contadores útiles que muestran el tamaño del bloque: Tamaño de solicitud de lectura/escritura.

En la siguiente imagen se muestra un gráfico del rendimiento del disco de la VM, donde puede ver la cantidad de IOPS, la latencia y el tamaño del bloque. 

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

También puede ver métricas de rendimiento para todo el almacén de datos si SIOC está habilitado. Aquí encontrará información básica sobre la latencia promedio y los IOPS. Por defecto, esta información sólo se puede ver en tiempo real.

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

ESXTOP

ESXTOP tiene varias pantallas que brindan información sobre el subsistema de disco host en su conjunto, las máquinas virtuales individuales y sus discos.

Comencemos con información sobre máquinas virtuales. La pantalla “Disk VM” se abre con la tecla “v”:

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

NVDISCO es el número de discos de VM. Para ver información de cada disco, presione “e” e ingrese el GID de la VM de interés.

El significado de los parámetros restantes en esta pantalla se desprende claramente de sus nombres.

Otra pantalla útil a la hora de solucionar problemas es el Adaptador de disco. Llamado por la tecla “d” (los campos A,B,C,D,E,G están seleccionados en la imagen siguiente):

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

NPTH – el número de caminos hacia las lunas que son visibles desde este adaptador. Para obtener información para cada ruta en el adaptador, presione "e" e ingrese el nombre del adaptador:

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

AQLEN – tamaño máximo de cola en el adaptador.

También en esta pantalla están los contadores de retraso de los que hablé anteriormente: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

La pantalla Dispositivo de disco, a la que se accede presionando la tecla "u", proporciona información sobre dispositivos de bloques individuales: lunas (los campos A, B, F, G, I están seleccionados en la imagen a continuación). Aquí puedes ver el estado de la cola de las lunas.

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

DQLEN – tamaño de cola para un dispositivo de bloque.
ACTV – número de comandos de E/S en el kernel ESXi.
QUED – número de comandos de E/S en la cola.
%DÓLAR ESTADOUNIDENSE – ACTV/DQLEN × 100%.
CARGA – (ACTV + QUED) / DQLEN.

Si %USD es alto, debería considerar aumentar la cola. Cuantos más comandos haya en la cola, mayor será el QAVG y, en consecuencia, el KAVG.

También puede ver en la pantalla del dispositivo de disco si VAAI (vStorage API para integración de matrices) se está ejecutando en el sistema de almacenamiento. Para hacer esto, seleccione los campos A y O.

El mecanismo VAAI le permite transferir parte del trabajo desde el hipervisor directamente al sistema de almacenamiento, por ejemplo, poner a cero, copiar bloques o bloquear.

Análisis del rendimiento de VM en VMware vSphere. Parte 3: Almacenamiento

Como puede ver en la imagen de arriba, VAAI funciona en este sistema de almacenamiento: las primitivas Zero y ATS se utilizan activamente.

Consejos para optimizar el trabajo con el subsistema de disco en ESXi

  • Preste atención al tamaño del bloque.
  • Establezca el tamaño de cola óptimo en el HBA.
  • No olvide habilitar SIOC en los almacenes de datos.
  • Elija una PSP de acuerdo con las recomendaciones del fabricante del sistema de almacenamiento.
  • Asegúrese de que VAAI esté funcionando.

Artículos útiles sobre el tema:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

Fuente: habr.com

Añadir un comentario