jueves, 9 de diciembre de 2010

Busqueda de VM en todos los DataStore

Suponemos el siguiente escenario:
Se pierde del inventario de Virtual Center una VM y habra que buscarlo en los datastore´s que tengamos uno por uno para encontrarla.
Pero que vamos hacer en el caso de que el VC gestiona y administra varios DataCenters y varios Clusters ESX y unos 100 Datastore´s ?
Seria una verdadera locura cojer cada datastore en parte para buscar la maquina, da igual si es por interfaz grafica o x comandos...
Pues la solucion seria la siguiente:
Nos logueamos en un ESX por el protocolo SSH y nos tenemos que asegurar que ve todos los datastore´s : cd /vmfs/volumes  y una vez dentro de este directorio hacemos un ls -a y nos muestra todos los datastores que ve.
Si los ve todos, metemos el siguiente comando:
find /vmfs/ -name *.vmx -print -exec grep displayName '{}' \;

Este comando busca en todos los datastore´s todos los archivos .vmx y tambien busca dentro de cada archivo .vmx y nos muestra el parametro displaname de cada archivo:
displayName = "W2K3ServerPrueba" 
Tambien podemos ejecutar el mismo comando con el siguiente parametro al final
find /vmfs/ -name *.vmx -print -exec grep displayName '{}' \;  > /tmp/display-name.txt
Con este parametro le indicamos que nos exporte el log a un archivo .txt dentro del ESX (que esta parte no lo recomiendo por el simple hecho de no llenar el ESX de basura y de logs inecesarios)
Recomiendo lo siguiente:
Cuando nos conectamos con el PUTTY antes de realizar la conexion tenemos que habilitar la exportacion de los logs a nuestro PC:

Y de esta forma todo lo que aparecera en la pantalla del PUTTY sera exportado al log de nuestro PC.

Saludos