Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

Parte 1. Sobre a CPU
Parte 2. Sobre a memoria

Hoxe analizaremos as métricas do subsistema de discos en vSphere. Un problema de almacenamento é o motivo máis común dunha máquina virtual lenta. Se, no caso da CPU e da RAM, a resolución de problemas remata no nivel de hipervisor, entón se hai problemas co disco, é posible que teñas que xestionar a rede de datos e o sistema de almacenamento.

Tratarei o tema usando o exemplo do acceso en bloque a sistemas de almacenamento, aínda que para o acceso a ficheiros os contadores son aproximadamente os mesmos.

Un pouco de teoría

Cando se fala do rendemento do subsistema de discos das máquinas virtuais, a xente adoita prestar atención a tres parámetros interrelacionados:

  • número de operacións de entrada/saída (Operacións de entrada/saída por segundo, IOPS);
  • rendemento;
  • atraso das operacións de entrada/saída (Latencia).

Número de IOPS xeralmente importante para cargas de traballo aleatorias: acceso a bloques de disco situados en diferentes lugares. Un exemplo desta carga poderían ser bases de datos, aplicacións empresariais (ERP, CRM), etc.

Ancho de banda importante para cargas secuenciais: acceso a bloques situados un tras outro. Por exemplo, os servidores de ficheiros (pero non sempre) e os sistemas de videovixilancia poden xerar esa carga.

O rendemento está relacionado co número de operacións de E/S do seguinte xeito:

Rendemento = IOPS * Tamaño do bloque, onde Tamaño do bloque é o tamaño do bloque.

O tamaño do bloque é unha característica bastante importante. As versións modernas de ESXi permiten bloques de ata 32 KB de tamaño. Se o bloque é aínda máis grande, divídese en varios. Non todos os sistemas de almacenamento poden funcionar de forma eficiente con bloques tan grandes, polo que hai un parámetro DiskMaxIOSize na configuración avanzada de ESXi. Usalo, pode reducir o tamaño máximo de bloque omitido polo hipervisor (máis detalles aquí). Antes de cambiar este parámetro, recoméndolle que consulte co fabricante do sistema de almacenamento ou, polo menos, probe os cambios nun banco de laboratorio. 

Un tamaño de bloque grande pode ter un efecto prexudicial no rendemento do almacenamento. Aínda que o número de IOPS e o rendemento son relativamente pequenos, pódense observar altas latencias cun tamaño de bloque grande. Polo tanto, preste atención a este parámetro.

Latencia – o parámetro de rendemento máis interesante. A latencia de E/S para unha máquina virtual consiste en:

  • atrasos dentro do hipervisor (KAVG, Average Kernel MilliSec/Read);
  • atraso proporcionado pola rede de datos e o sistema de almacenamento (DAVG, Average Driver MilliSec/Command).

A latencia total que é visible no SO convidado (GAVG, MilliSec/Comando de invitado medio) é a suma de KAVG e DAVG.

GAVG e DAVG mídense e KAVG calcúlase: GAVG–DAVG.

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento
Orixe

Vexamos máis de cerca KAVG. Durante o funcionamento normal, o KAVG debería tender a cero ou polo menos ser moito menor que o DAVG. O único caso que sei de onde se espera que KAVG é alto é o límite de IOPS no disco VM. Neste caso, cando tente superar o límite, KAVG aumentará.

O compoñente máis significativo de KAVG é QAVG - o tempo de cola de procesamento dentro do hipervisor. Os compoñentes restantes de KAVG son insignificantes.

A cola no controlador do adaptador de disco e a cola para as lúas ten un tamaño fixo. Para ambientes moi cargados, pode ser útil aumentar este tamaño. Aquí describe como aumentar as filas no controlador do adaptador (ao mesmo tempo aumentará a cola ata as lúas). Esta configuración funciona cando só unha máquina virtual está a traballar coa lúa, o que é raro. Se hai varias máquinas virtuales na lúa, tamén debes aumentar o parámetro Disk.SchedNumReqOutstanding (instrucións  aquí). Ao aumentar a cola, diminúes QAVG e KAVG respectivamente.

Pero de novo, lea primeiro a documentación do provedor do HBA e proba os cambios nun banco de laboratorio.

O tamaño da cola ata a lúa pode verse afectado pola inclusión do mecanismo SIOC (Storage I/O Control). Proporciona acceso uniforme á lúa desde todos os servidores do clúster cambiando dinámicamente a cola á lúa nos servidores. É dicir, se un dos hosts está a executar unha máquina virtual que require un rendemento desproporcionado (VM veciño ruidoso), SIOC reduce a lonxitude da cola ata a lúa neste host (DQLEN). Máis detalles aquí.

Resolvemos KAVG, agora un pouco sobre DAVG. Aquí todo é sinxelo: DAVG é o atraso introducido polo entorno externo (rede de datos e sistema de almacenamento). Cada sistema de almacenamento moderno e non tan moderno ten os seus propios contadores de rendemento. Para analizar os problemas con DAVG, ten sentido miralos. Se todo está ben no ESXi e no almacenamento, comprobe a rede de datos.

Para evitar problemas de rendemento, escolla a política de selección de ruta (PSP) correcta para o seu sistema de almacenamento. Case todos os sistemas de almacenamento modernos admiten PSP Round-Robin (con ou sen ALUA, Acceso a unidade lóxica asimétrica). Esta política permítelle utilizar todas as rutas dispoñibles para o sistema de almacenamento. No caso de ALUA, só se utilizan os camiños ao controlador propietario da lúa. Non todos os sistemas de almacenamento en ESXi teñen regras predeterminadas que establecen a política Round-Robin. Se non hai ningunha regra para o seu sistema de almacenamento, use un complemento do fabricante do sistema de almacenamento, que creará unha regra correspondente en todos os hosts do clúster, ou creará unha regra vostede mesmo. Detalles aquí

Ademais, algúns fabricantes de sistemas de almacenamento recomendan cambiar o número de IOPS por ruta do valor estándar de 1000 a 1. Na nosa práctica, isto permitiu "espremer" máis o rendemento do sistema de almacenamento e reducir significativamente o tempo necesario para a conmutación por fallo. en caso de falla ou actualización do controlador. Comprobe as recomendacións do vendedor e, se non hai contraindicacións, intente cambiar este parámetro. Detalles aquí.

Contadores básicos de rendemento do subsistema do disco da máquina virtual

Os contadores de rendemento do subsistema de disco en vCenter recóllense nas seccións Datastore, Disk, Virtual Disk:

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

Na sección Almacén de datos hai métricas para os almacenamentos de discos de vSphere (almacenes de datos) nos que se atopan os discos de VM. Aquí atoparás contadores estándar para:

  • IOPS (promedio de solicitudes de lectura/escritura por segundo), 
  • rendemento (taxa de lectura/escritura), 
  • atrasos (lectura/escritura/latencia máxima).

En principio, todo queda claro a partir dos nomes dos contadores. Permítanme chamar a súa atención unha vez máis sobre o feito de que as estatísticas aquí non son para unha VM específica (ou disco de VM), senón estatísticas xerais para todo o almacén de datos. Na miña opinión, é máis conveniente mirar estas estatísticas en ESXTOP, polo menos baseándose no feito de que o período mínimo de medición é de 2 segundos.

Na sección Disco hai métricas en dispositivos de bloque que son utilizadas pola máquina virtual. Existen contadores para IOPS de tipo sumatorio (número de operacións de entrada/saída durante o período de medición) e varios contadores relacionados co acceso ao bloqueo (Comandos abortados, Restablecementos de bus). Na miña opinión, tamén é máis conveniente ver esta información en ESXTOP.

Sección Disco Virtual – o máis útil desde o punto de vista de atopar problemas de rendemento do subsistema de disco VM. Aquí podes ver o rendemento de cada disco virtual. É esta información a que se necesita para comprender se unha determinada máquina virtual ten algún problema. Ademais dos contadores estándar para o número de operacións de E/S, o volume de lectura/escritura e os atrasos, esta sección contén contadores útiles que mostran o tamaño do bloque: Tamaño da solicitude de lectura/escritura.

Na imaxe de abaixo hai un gráfico do rendemento do disco VM, onde podes ver o número de IOPS, a latencia e o tamaño do bloque. 

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

Tamén pode ver as métricas de rendemento de todo o almacén de datos se SIOC está activado. Aquí tes información básica sobre a latencia media e IOPS. Por defecto, esta información só se pode ver en tempo real.

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

ESXTOP

ESXTOP ten varias pantallas que proporcionan información sobre o subsistema do disco host no seu conxunto, as máquinas virtuais individuais e os seus discos.

Comecemos coa información sobre máquinas virtuais. A pantalla "Disk VM" chámase coa tecla "v":

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

NVDISK é o número de discos VM. Para ver a información de cada disco, prema "e" e introduza o GID da máquina virtual de interese.

O significado dos parámetros restantes nesta pantalla é claro cos seus nomes.

Outra pantalla útil á hora de solucionar problemas é o adaptador de disco. Chamado coa tecla "d" (os campos A,B,C,D,E,G están seleccionados na imaxe de abaixo):

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

NPTH – o número de camiños cara ás lúas que son visibles desde este adaptador. Para obter información de cada ruta do adaptador, prema "e" e introduza o nome do adaptador:

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

AQLEN – tamaño máximo da cola no adaptador.

Tamén nesta pantalla están os contadores de atraso dos que falei anteriormente: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

A pantalla do dispositivo de disco, que se chama premendo a tecla "u", ofrece información sobre dispositivos de bloque individuais: lúas (os campos A, B, F, G, I están seleccionados na imaxe de abaixo). Aquí podes ver o estado da cola das lúas.

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

DQLEN – tamaño da cola para un dispositivo de bloque.
ACTV – número de comandos de E/S no núcleo ESXi.
QUED – número de comandos de E/S na cola.
%USD – ACTV / DQLEN × 100 %.
CARGA – (ACTV + QUED) / DQLEN.

Se o %USD é alto, deberías considerar aumentar a cola. Cantos máis comandos hai na cola, maior será o QAVG e, en consecuencia, o KAVG.

Tamén podes ver na pantalla do dispositivo de disco se VAAI (API de vStorage para a integración de matrices) se está a executar no sistema de almacenamento. Para iso, seleccione os campos A e O.

O mecanismo VAAI permítelle transferir parte do traballo desde o hipervisor directamente ao sistema de almacenamento, por exemplo, poñer a cero, copiar bloques ou bloquear.

Análise do rendemento da máquina virtual en VMware vSphere. Parte 3: Almacenamento

Como podes ver na imaxe superior, VAAI traballa neste sistema de almacenamento: utilízanse activamente as primitivas cero e ATS.

Consellos para optimizar o traballo co subsistema de disco en ESXi

  • Preste atención ao tamaño do bloque.
  • Establece o tamaño de cola óptimo no HBA.
  • Non esquezas activar SIOC nos almacéns de datos.
  • Escolla unha PSP de acordo coas recomendacións do fabricante do sistema de almacenamento.
  • Asegúrate de que VAAI funciona.

Artigos útiles sobre o 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

Fonte: www.habr.com

Engadir un comentario