I/O Analyzer

En aquest document repassarem una utilitat dels Labs de VMware que ens servirà per provar el nostre sistema d'emmagatzematge, Sota un virtual appliance anomenat VMware IO Analyzer. Aquest senzill aparell ens mostrará unes gràfiques de rendiment a nivell de MV i d'amfitrió, utilitzarà per a ells Iometer & esxtop,

Nos descargaremos el appliance desde la web de VMware Labs, vendrà en format OVF i ho importarem amb el client de VMware en la nostra infraestructura virtual.

 

Una vez desplegado el appliance, antes de encenderlo, le podrem crear un disco duro addicional que serà on hagamos los tests, indicarem que el disco esté prerellenado con 'Thick Provision Eager Zeroed’ y lo ubicaremos en el datastore donde querramos hacer las proves. Borraremos además el de 100Mb que trae,

 

Encendemos el appliance virtual, entramos en la seva consola y seleccionaremos l'opció de “Configure Network” para configurar los paràmetres de red,

 

Configuraremos un direccionamiento IP estàtic o dinámico.

 

Una vez estemos ya amb una sessió iniciada y podremos des d'un altre equip connectant-nos amb un navegador.

 

Deberemos agregar los hosts en los cuales tenemos los appliance de IO Analyzer para realizar el benchmark en nuestra SAN, tot això des de “IOMETER TESTS”

 

Posteriormente seleccionaremos cada host, cada vapp de IO Analyzer, un Workload para testear y la dirección IP del vapp. Introduciremos varios MV's contra distintos/mismos datastores para comprobar el comportamiento de la(s) cabina(s). Indicaremos un mínimo de 120segundos, recomanable entre 5 y 10 minuts.

Podremos guardar estas configuraciones para cargarlas posteriormente, vienen varias plantillas de ejemplo, en este caso utilizaré la de 'Exchange_2007.icf', a més de les següents:

– Exchange 2003 – 4k block 80% Random – 60% Llegir
– Exchange 2007 – 8k block 80% Random – 55% Llegir
– SQL Server – 16k block 100% Random -66% Llegir
– Oracle OLTP – 8k block 88% Random – 72% Llegir
– Oracle DW – 32k block 20% Random – 90% Llegir
– Max IOPS 4k block 0% Random – 100% Llegir
– Max TP – 32k block 0 % Random – 100% Llegir

* Si no obtenemos resultados y tenemos un error 'InvalidEsxtopCsvFile’ podrá ser que no tenemos conexión a los host o que tenemos algún carácter especial en el password de root (se solucionaría introduciendo el carácterantes del símbolo).

 

Durante el proceso de estrés veremos cómo en las MV de IO Analyzer cargará el Iometer de forma automatizada, podremos ir a la pestañaResults Displaypara ir viendo el proceso antes de esperar a los reports 🙂

 

Una vez transcurrido el tiempo, iremos a la pestaña “RESULTS” & escogeremos el informe. Esta imagen es de un entorno ‘laboratoriomuy pobre, en la que hemos escaneado unicamente desde un vapp un disco en un datastore.

Observaremos unas estadísticas a nivel de guest (vistal del appliance de Iometer) y a nivel de host (esxtop). A nivel de guest:

– IOPS: Nombre d'operacions d'I/O per segon.
– ReadIOPS: Nombre d'operacions de lectura per segon.
– WriteIOPS: Nombre d'operacions d'escriptura per segon.
– MBPS: Rendiment total per segon.
– ReadMBPS: Rendiment de lectura per segon.
– WriteMBPS: Rendiment d'escriptura per segon.

A nivell d'amfitrió:

– CMD’s: Nombre d'operacions d'I/O per segon.
– READS/s: Nombre d'operacions de lectura per segon.
– WRITES/s: Nombre d'operacions d'escriptura per segon.
– MBREADS/s: Rendiment de lectura per segon.
– MBWRITES/s: Rendiment d'escriptura per segon.
– DAVG/cmd (msec): La latència entre les HBA i els discos.
– KAVG/cmd (msec): Latència creada pel vmkernel (hauria de ser propera a 0.00 ms).
– GAVG/cmd (sec): Latència total vista pel guest (DAVG + KAVG)
– QAVG/cmd (sec): La latència mitjana de la cua.

 

Dades com a referència:

– Discos de 7200 rpm (SATA) entre 75 – 100 IOPS.
– Discos de 10K rpm (SATA) entre 125 – 150 IOPS.
– Discos de 10K rpm (SAS) sobre 140 IOPS.
– Discos de 15K rpm (SAS) entre 175 – 210 IOPS.
– Discos SSD des de 6000 IOPS!!!

 

Aquesta altra imatge, amb un rendiment una mica superior ja que és un entorn de 'producció', veremos el escaneo combinado de dos máquinas sobre dos datastores distintos ubicados en dos cabinas distinas, nos serviría como comparativa clara.

 

Si volem, podremos grabar el comportamiento de una de nuestras máquinas con un proceso manual en el que exportaremos nuestra carga actual para luego importarlo en IO Analyzer. Para ello nos apoyaremos en el comando ‘vscsiStatspara obtener las estadísticas de la MV, si ejecutamos ‘vscsiStats -lnos listará todas las MVs de este host con sus worldGroupID (GID) y sus discos virtuales (handleID). Con ‘vscsiStats -s -t -w GID -i handleIDcomenzaremos a recolectar la información de la carga en dicho vHD para posteriormente reproducirlo. Guardaremos en un archivo la traza con ‘logchannellogger vscsiStats-traceChannel /tmp/stats.log

 

Pararem el procés amb ‘CTR + X’ quan tinguem prou informació, a més pararem el procés de recollida amb ‘vscsiStats -x -w GID -i handleID’.

Amb ‘vscsiStats -e /tmp/stats.log > /tmp/stats.csv’ convertirem els resultats en un fitxer CSV.

 

El primer serà pujar les traces des de “TRACE UPLOAD”, indicar-li un nom & descripció, li donarem la ruta completa del fitxer en format CSV a més del nom del host que el té & la contrasenya de root. “Upload”,

 

Seleccionarem com abans un host, la vapp de IOAnalyzer i la traça recentment generada, indicarem el disc on farà l’anàlisi, la velocitat d’execució (0.5x, 1.0x, 2.0x…) & li donem a “Run”,

 

I llest, veremos el resultado de unos análisis previamente ejecutados en otra MV que hemos trasladado a esta para probar un nuevo almacenamiento, etc.…

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

ESX System Analyzer

1 de June de 2012