Saludos amigos, en anteriores entradas os conté cómo descargar las nuevas VM Tools 10.2.0 a nuestros ESXi y también cómo actualizar todas las VM de manera global usando vSphere Update Manager.
Hoy os traigo un tutorial que es recomendado en entornos con varios Hosts ESXi, ya que nos ayudará a:
- Tener la misma versión de VM Tools para todos los host de ESXi.
- Reducir el espacio en disco de las VM Tools
El esquema sería algo similar a esto, donde todos los Host apuntan a /productlocker que a su vez reside en un mismo almacenamiento compartido en red:
Ejemplo práctico de por qué es una buena decisión usar almacenamiento compartido para las VM Tools
Las VMware tools nos proporcionan muchas ventajas en las VM que se ejecutan, y si además tenemos las últimas versiones de las mismas, mucho mejor, en este ejemplo, tenemos un entorno con diferentes versiones de ESXi, y que a su vez tienen las propias VMware Tools de cada versión de ESXi, hasta aquí bien cuando tenemos una VM en digamos un host de ESXi 5.5, donde se instalaron las Tools iguales para esta VM.
Ahora bien, si movemos esta VM a otro host, tendremos un warning donde nos indica que esta VM no tiene las tools mas actuales, o al menos las de ese host, esto sería un dolor si imaginemos actualizamos las tools en esta VM, a 5.5.u2, y movemos la VM a un host en 6.0 o 6.5, donde tendríamos de nuevo que actualizar las tools, etc.
Es por ello, que hoy os traigo los pasos para solucionar estos problemas. Con esta flexibilidad VMware quiere ofrecernos simplificación, autonomía y estandarización:
Procedimiento para mover las VM Tools a un almacenamiento compartido
Mover las VM Tools actuales a un almacenamiento compartido
Cuando pensamos en seguir este nuevo método, por ejemplo, como ya tengo las VM Tools actualizadas a la última versión en uno de los Hosts, cómo os enseñé en la anterior entrada, vamos a simplemente copiarlas a un almacenamiento compartido que todos los Host de ESXi ven.
En uno de los Hosts, chequeamos que tenemos las tools donde corresponde:
ls -la /productLocker/ total 1024 drwxr-xr-x 1 root root 8 Jul 28 2017 . drwxr-xr-x 1 root root 8 Feb 3 22:25 .. drwxr-xr-x 1 root root 8 Feb 3 22:24 floppies drwxr-xr-x 1 root root 8 Feb 3 22:25 vmtools
Vamos a copiarlas a un almacenamiento que todos los Hosts ven, por ejemplo VM-NFS41 en mi caso. Voy a crear una carpeta en este almacenamiento, y copiar las ISO de las VM Tools 10.2.0 allí:
mkdir /vmfs/volumes/VM-NFS41/vmtools_shared cp -R /locker/packages/6.5.0/* /vmfs/volumes/VM-NFS41/vmtools_shared/
Ya podemos ver que tenemos todo lo que necesitamos en este almacenamiento compartido:
ls -la /vmfs/volumes/VM-NFS41/vmtools_shared/ total 20 drwxr-xr-x 4 root root 4096 Mar 4 21:45 . drwxrwxrwx 13 root root 4096 Mar 4 21:44 .. drwxr-xr-x 2 root root 4096 Mar 4 21:45 floppies drwxr-xr-x 2 root root 4096 Mar 4 21:45 vmtools
Ya tenemos todo listo y podemos pasar al siguiente punto.
Configurar los Hosts
Tendremos que configurar ahora los Hosts para que sepan donde buscar las VM Tools en este nuevo almacenamiento compartido, la variable que buscamos se llama Manage > Settings > Advanced System Settings > UserVars.ProductLockerLocation y el valor por defecto es /locker/packages/6.5.0
Tendremos que editarlo con el nuevo valor, en mi caso /vmfs/volumes/VM-NFS41/vmtools_shared/ de esta manera debe quedar:
Obviamente si tenemos muchos Hosts en nuestro entorno, queremos hacer esto de manera global usando PowerShell, aquí la receta para cambiar este valor a todos los Hosts:
Get-VMhost -Location <cluster name> | Set-VMHostAdvancedConfiguration -Name "UserVars.ProductLockerLocation" -Value "/vmfs/volumes/VM-NFS41/vmtools_shared/"
Otra opción para el futuro, sería crear un Host Profile para que todos los hosts nuevos que aprovisionemos tengan ya este valor por defecto:
Activar la nueva configuración
El tercer y último paso es el más crítico ya que implica parada de servicio, si no tenemos vMotion y DRS, ya que tendremos que reiniciar el/lost host/hosts.
Pondremos el Host ESXi en modo mantenimiento, una vez que hayamos movido las VM fuera de este Host:
esxcli system maintenanceMode set --enable true
El segundo paso es eliminar del Host ESXi la carpeta de /productlocker
rm /productLocker
Y por último crear un puntero de /productlocker a la nueva carpeta compartida /vmfs/volumes/VM-NFS41/vmtools_shared/ de esta manera:
ln -s /vmfs/volumes/VM-NFS41/vmtools_shared/ /productLocker
Y un reboot para reiniciar el host:
reboot
No olvidemos al reiniciar el Host de sacarlo del modo mantenimiento para que pueda empezar a recibir VMs mediante DRS, etc.
Optimización de recursos en ESXi
Gracias a estos pasos, no solamente estaremos optimizando almacenamiento, y haciendo que no tengamos falsos positivos de VMs que no están en la última versión de las VM Tools, también cuando estamos descargando imágenes de ESXi, podemos usar la versión más ligera sin las Tools, como vemos aquí:
Nada más amigos, espero que os guste este recurso, que le deís un vistazo más profundo y considereis la opción de tener las VMtools en un almacenamiento compartido para evitar problemas de compatibilidad entre hosts, etc.
Enlaces recomendados
Creo que estos enlaces os pueden servir de ayuda:





[…] Estoy usando el paquete sin las tools, ya que en mi caso tengo las VM Tools en un almacenamiento compartido, si no tenéis esta configuración usar entonces […]