Analizzatore I/O
In questo documento esamineremo un'utilità dei Lab di VMware che ci servirà per testare il nostro sistema di archiviazione, sotto un virtual appliance chiamato VMware IO Analyzer. Questo semplice appliance ci mostrerà dei grafici sulle prestazioni a livello di VM e di host, utilizzerà per questo Iometer & esxtop,
Scaricheremo l'appliance dal sito web di Laboratori VMware, verrà in formato OVF e lo importeremo con il client VMware nella nostra infrastruttura virtuale.
Una volta distribuito l'appliance, prima di accenderlo, potremo creare un disco rigido aggiuntivo che sarà dove faremo i test, indicheremo che il disco sia prerempito con 'Thick Provision Eager Zeroed'’ e lo posizioneremo nel datastore dove vogliamo fare i test. Cancelleremo inoltre quello da 100Mb che porta,
Accendiamo l'appliance virtuale, entriamo nella sua console e selezioniamo l'opzione di “Configura rete” per configurare i parametri di rete,
Configureremo un indirizzamento IP statico o dinamico.
Una volta avviata una sessione potremo da un altro computer collegarci con un browser.
Deberemos agregar los hosts en los cuales tenemos los appliance de IO Analyzer para realizar el benchmark en nuestra SAN, Tutto questo da “IOMETER TESTS”
Posteriormente seleccionaremos cada host, cada vapp de IO Analyzer, un Workload para testear y la dirección IP del vapp. Introduciremos varias MV’s contra distintos/mismos datastores para comprobar el comportamiento de la(s) cabina(s). Indicaremos un mínimo de 120segundos, recomendable entre 5 e 10 verbale.
Podremos guardar estas configuraciones para cargarlas posteriormente, vienen varias plantillas de ejemplo, en este caso utilizaré la de ‘Exchange_2007.icf’, In aggiunta a quanto segue:
– Sostituzione 2003 – 4k block 80% Random – 60% Read
– Sostituzione 2007 – 8k block 80% Random – 55% Read
– SQL Server – 16k block 100% Random -66% Read
– Oracle OLTP – 8k block 88% Random – 72% Read
– Oracle DW – 32k block 20% Random – 90% Read
– Max IOPS 4k block 0% Random – 100% Read
– Max TP – 32k block 0 % Random – 100% Read
* 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ácter ” antes 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ña “Results Display” para 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 ‘laboratorio’ muy 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: Número de operaciones de E/S por segundo.
– ReadIOPS: Número de operaciones de lectura por segundo.
– WriteIOPS: Número de operaciones de escritura por segundo.
– MBPS: Throughput total por segundo.
– ReadMBPS: Throughput de lectura por segundo.
– WriteMBPS: Throughput de escritura por segundo.
A nivel de host:
– CMD’s: Número de operaciones de E/S por segundo.
– READS/s: Número de operaciones de lectura por segundo.
– WRITES/s: Número de operaciones de escritura por segundo.
– MBREADS/s: Throughput de lectura por segundo.
– MBWRITES/s: Throughput de escritura por segundo.
– DAVG/cmd (msec): La latencia entre las HBA y los discos.
– KAVG/cmd (msec): Latencia creada por el vmkernel (debería ser cercana a 0.00 ms).
– GAVG/cmd (sec): Latencia total vista por el guest (DAVG + KAVG)
– QAVG/cmd (sec): La latencia media de la cola.
Datos como referencia:
– Discos de 7200 Rpm (SATA) tra 75 – 100 IOPS.
– Discos de 10K rpm (SATA) tra 125 – 150 IOPS.
– Discos de 10K rpm (SAS) busta 140 IOPS.
– Discos de 15K rpm (SAS) tra 175 – 210 IOPS.
– Discos SSD desde 6000 IOPS!!!
Esta otra imagen, con algo mayor rendimiento ya que es un entorno de ‘producción’, veremos el escaneo combinado de dos machines sobre dos datastores distintos ubicados en dos cabinas distinas, nos serviría como comparativa clara.
Se vogliamo, podremos grabar el comportamiento de una de nuestras machines con un proceso manual en el que exportaremos nuestra carga actual para luego importarlo en IO Analyzer. Para ello nos apoyaremos en el comando 'vscsiStats’ para ottenere las estadísticas de la MV, si ejecutamos 'vscsiStats -l’ nos listará todas las MVs de este host con sus worldGroupID (GID) y sus discos virtuales (handleID). Con 'vscsiStats -s -t -w GID -i handleID’ comenzaremos 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’
Pararemos el proceso con ‘CTR + X’ cuando tengamos suficiente información, además pararemos el proceso de recolección con ‘vscsiStats -x -w GID -i handleID’.
Con ‘vscsiStats -e /tmp/stats.log > /tmp/stats.csv’ convertiremos los resultados en un fichero CSV.
Lo primero será subir las trazas desde “TRACE UPLOAD”, indicarle un nombre & descrizione, le daremos la ruta completa del fichero en formato CSV además del nombre del host que lo tiene & el password de root. “Caricare”,
Seleccionaremos como antes un host, la vapp de IOAnalyzer y la traza recién generada, indicaremos el disco donde realizará el análisis, la velocidad de ejecución (0.5x, 1.0x, 2.0x…) & Diamo “Correre”,
E questo è tutto, veremos el resultado de unos análisis previamente ejecutados en otra MV que hemos trasladado a esta para probar un nuevo almacenamiento, and so on…























































