24 febrero 2013

Are my VMDK eager zeroed or lazy? vmkfstools -t0

How to know if a VMDK was created with "Thick Provision Eager Zeroed" or with "Thick Provision Lazy Zeroed? It´s so simple with some basic commands from cli: vmkfstools -t0


Example: vmkfstools -t0 "/vmfs/volumes/Datastore/VirtualMachine01 Disco01.vmdk"





Thick Provision Lazy Zeroed
Creates a virtual disk in a default thick format. Space required for the virtual disk is allocated when the virtual disk is created. Data remaining on the physical device is not erased during creation, but is zeroed out on demand at a later time on first write from the virtual machine.
Using the default flat virtual disk format does not zero out or eliminate the possibility of recovering deleted files or restoring old data that might be present on this allocated space. You cannot convert a flat disk to a thin disk.
Thick Provision Eager Zeroed
A type of thick virtual disk that supports clustering features such as Fault Tolerance. Space required for the virtual disk is allocated at creation time. In contrast to the flat format, the data remaining on the physical device is zeroed out when the virtual disk is created. It might take much longer to create disks in this format than to create other types of disks.
Thin Provision
Use this format to save storage space. For the thin disk, you provision as much datastore space as the disk would require based on the value that you enter for the disk size. However, the thin disk starts small and at first, uses only as much datastore space as the disk needs for its initial operations.

Analizar disc bottlenecks en VMware

Para analizar los cuellos de botella en VMware podemos utilizar las gráficas del performance de los host o bien utilizando el comando esxtop.  Básicamente tenemos que fijarnos en los parámetros que nos reportan info sobre la latencia que determinara en buen o mal rendimiento del storage (cabina).

>>>>Con la grafica performance:

Kernel disk command latency: mide el tiempo que tarda el VMkernel en procesar una peticion scsi y no debe ser superior a 3 ms. Si es superior el problema puede deberse a un carga muy alta de trabajo o bien en el ESXi o bien en la cabina, lo que quiere decir que se estan enviados mas throughput a la cabina de la que puede soportar.

Physical device command latency: mide el tiempo que el disco de la cabina necesita para ejecutar completamente una peticion scsi y no debe ser superior a 15 ms. Si es superior el problema esta en la cabina, esos si, depende del fabricante y de lo epserado para su rendimiento ya que no es lo mismo un cabina con discos SAS que SATA, o que este conectada con NFS o FC. Una solucion seria mover los vmdk a una lun con mas discos fisicos por debajo o agregar mas discos fisicos  a la LUN.

>>>>Con ESXTOP:


KAVG: "Esta es la cantidad de tiempo que el comando pasa en el VMkernel".  El tiempo o latencia que se produce desde que se pide un dato a la cabina hasta que lo procesa VMkernel del ESXi. Su valor debe rondar el 0.

DAVG: "Este es el tiempo promedio de respuesta en milisegundos por comando enviado al dispositivo"  Es el tiempo o latencia desde que el ESXi ejecuta el comando de peticion del dato al disco (KAVG) hasta que la cabina devuelve este dato. Si este valor esta por encima de los 20 ms el problema esta en la cabina.

GAVG: (KAVG + DAVG). "Este es el tiempo de respuesta, que es percibido por el sistema operativo Guest. Este número se calcula con la fórmula:  DAVG + KAVG = GAVG". Este es el valor de latencia que qfecta a la maquina virtual directamente.

Segun VMware , ninguno de estos valores debe sobrepasar los 10 ms durante periodos prolongados de tiempo, lo que no dicen es cuanto consideran que es un periodo prolongado de tiempo.

>>>>Revisando los LOG:

Si se producen problemas de latencia con tiempos altos, podemos ver en los logs los errores iscsi en las siguientes rutas en funcion de la version del ESXi:

          ESX 3.5 and 4.x – /var/log/vmkernel

         ESXi 3.5 and 4.x – /var/log/messages 

         ESXi 5.x - /var/log/vmkernel.log

El tipo de registro de almacenamiento que puede ver en estos archivos depende de la configuración del servidor. Usted puede encontrar el valor de estas opciones en:  Host > Configuration > Advanced Settings > SCSI > SCSI.Log or SCSI.Print.

>>>Lectura recomendada: vSphere Monitoring and Performance vSphere 5.1