Paso-a-paso – vscsiStats

Que tal gente, hoy lunes después de una semana pasada algo ocupada  y de no haber podido postear nada decidí regresar con información que a mi parecer es muy interesante y les va servir mucho, este día les voy a hablar de una utilidad de VMware con la cual podemos monitorear directamente los adaptadores virtuales SCSI de nuestras vms, la información es recolectada al nivel del kernel de vmware, con esto tenemos la capacidad de ver el comportamiento de nuestros  VMDKs o RDMs sin importar que tipo de almacenamiento tengamos o mejor dicho el protocolo que manejamos(iSCSI, NFS, Fibra).

Para poder comenzar con el uso de esta herramienta tenemos que ir directamente a su directorio, esto porque no se encuentra directamente en el PATH, lo cual no nos permite invocarla desde cualquier ubicación .

Paso 1

Vamos al directorio :

/usr/lib/vmware/bin/

Paso 2

Ejecutamos la aplicación y pedimos que se nos enlisten las maquinas o procesos :

‘ ./vscsiStats  –l ’

Paso 3

Una vez enlistados los procesos, decidimos que proceso o vm es la que queremos monitorear,  el numero del proceso será identificado como  worldGroupID, en este caso el ID que monitorearemos será el 4292 , para ello ingresamos el comando :

‘./vscsiStats -s -w 4292 ’

“-s” nos indica que comienze el monitoreo, y  “-w” nos indica el proceso o vm a monitorear.

Paso  4

Una vez transcurrido el tiempo necesario o el tiempo que hayamos decidido para monitorear la vm exportamos la información directamente a un archivo CSV (comma delimited value) a nuestra carpeta temporal, para esto ingresamos el siguiente comando:

‘./vscsiStats -w 4292 -p all –c vscsi.csv > /tmp/vscsi.csv ’

en este caso “-p” nos indica el tipo de información que exportaremos (ioLength, seekDistance, outstandingIOs, latency, interarrival)

“-c” indica que esta información sera exportada en formato .csv.

Paso 5

Una vez exportado el archivo , cancelamos el monitoreo con el commando:

‘./vscsiStats –x’

Utilizamos una herramienta de scp para copiar el archivo de la ruta /tmp de nuestro servidor ESX , en mi caso WinSCP:

Graficar resultados de vscsiStats

Honestamente nunca me ha gustado estar leyendo números y el archivo CSV que generamos con vscsiStats es números y mas números,  navegando por internet me encontré con un muy buen macro de Excel para poder graficar estos datos y tener una manera mas “amigable” de leerlos, aquí les dejo el link a dicho macro:

http://www.gabesvirtualworld.com/wp-content/uploads/2010/02/vscsiStats-excel-macro.txt

Paso 1

Abrimos el archivo csv con Excel, y tecleamos  ‘Alt + F11’ , esto nos dará acceso a Visual Basic:

Paso 2

Copiamos el texto tal cual de el macro y tecleamos ‘F5´ esto nos generara una serie de worksheets con las graficas , estas serán nombradas basadas en el contenido de dichas graficas y del handleID de nuestro disco :

Aquí le dejo un ejemplo de las graficas generadas :

Usos de vscsiStats

1-. Identificar workloads o tipos de acceso a disco (secuencial o al azar).

2-. Tamaños de las operaciones de IO, ej.  4k 8k, etc

3-. Latencia de nuestro almacenamiento , recordemos que en el caso de vscsiStats el protocolo no importa, por lo cual podemos monitorear NFS cosa que con esxtop no es posible.

6 comments on “Paso-a-paso – vscsiStats

  1. Alvaro July 19, 2010 6:16 pm

    Que tal estimado, te felicito nuevamente por tu Blog.

    Tengo una duda, con la esta utilidad vscsiStats, cómo puedo interpretar los datos? Acabo de realizar el ejercicio pero no entiendo los gráficos reportados.

    Cómo puedo identificar el workload? Tamaño de operaciones de I/O y la latencia?

    Gracias!

    • amalanco July 25, 2010 10:49 pm

      que tal Álvaro una disculpa por la tardanza pero he estado como loco con un proyecto y hasta hoy tuve un poco de tiempo libre.. , mira para poder saber el tamaño de las operaciones es muy simple en nuestro archivo de excel vas a encontrar una slide de “io length of commands”, ahí veras el tamaño de tus operaciones, Ej. una operación de 4k serian 4096 . Para la parte de latencia también en nuestro excel ya con todos los slides (una vez ejecutado el macro), podemos ver que tenemos slides de “latency of write IOs..”, ahí podrías darte cuenta cual es tu latencia en cuanto a la escritura y “latency of IO reads” para lectura.

      Si quieres identificar el tipo de workload te recomiendo que primero leas este documento http://communities.vmware.com/servlet/JiveServlet/downloadBody/10104-102-1-8040/vpact-vmware-vscsistats.pdf , ahí te puedes dar cuenta que un workload esta constituido por una serie de comportamientos de tu arquitectura, incluyendo aplicaciones, infraestructura física, usuarios concurrentes etc. , esto sirve mucho en el momento de consolidar una infraestructura física ya existente dentro VMware para poder determinar junto con tus especialistas de almacenamiento que configuración del mismo es la mas apropiada para tu proyecto.

      saludos.

Leave a Reply