VMware: Unable to Unmount Datastore in vCenter

Imagen destacada

Buenos días a todos,

Quizás alguna vez, en nuestro vCenter del entorno vSphere, nos hemos encontrado con un error similar al siguiente:

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.24.14.png» embedtype=»image» format=»fullwidth» id=»1953″]

Este error, por ejemplo, lo podemos encontrar al agregar un host, que previamente habíamos desinventariado, al entorno vCenter. Nos indica que uno de los Datastores que intenta agregar ya existe en la base de datos del inventario actual, con otra ruta distinta.

Si nos situamos en la vista «Datastores and Datastore Clusters» de vCenter, localizaremos el Datastore concreto que entra en conflicto, seguramente veremos que aparece en cursiva y en gris claro, indicando que actualmente no se tiene acceso a él, obviamente.

Además, para nuestra sorpresa, no podremos (a través de vSphere Client o vSphere Web Client) realizar ninguna tarea de administración sobre el Datastore, como eliminar o renombrar el mismo.

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.25.26.png» embedtype=»image» format=»fullwidth» id=»1954″]

El problema lo tenemos porque el Datastore ha sido eliminado del host ESX antes de ser eliminado en el inventario de VMware vCenter Server. Para solucionar este problema y realizar el correcto «unmount» del Datastore, tendremos que seguir esta KB de vmware que os mostramos a continuación en 4 pasos.

Paso 1

Recomendable realizar un snapshot de la máquina vCenter (si es virtual) o bien realizar un backup de la base de datos (si es una máquina física).

Detenemos los servicios de «VMware VirtualCenter Server» y nos conectamos mediante SQL Management Studio a la base de datos de vCenter Server.

Paso 2

Ejecutaremos la siguiente query de consulta:

select ID from VPX_ENTITY where name = «datastore_name«;

Substituiremos datastore_name por el nombre del Datastore conflictivo.

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.36.31.png» embedtype=»image» format=»fullwidth» id=»1955″]

Como se observa en la imagen, en la parte inferior se muestra el ID asignado al Datastore, en este caso el 71782.

Paso 3

Eliminaremos los registros existentes en la base de datos de vCenter Server ejecutando las siguientes queries:

deletefrom VPX_DS_ASSIGNMENT where DS_ID=ID;

deletefrom VPX_VM_DS_SPACE where DS_ID=ID;

deletefrom VPX_DATASTORE where ID=ID;

Substituiremos ID por el resultado obtenido en el paso 2.

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.38.38.png» embedtype=»image» format=»fullwidth» id=»1956″]

También eliminaremos el registro correspondiente de la tabla VPX_ENTITY, ejecutando la siguiente query:

delete from VPX_ENTITY where ID=ID;

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.39.32.png» embedtype=»image» format=»fullwidth» id=»1957″]

Paso 4

Verificaremos que no existe ningún registro en la base de datos que contenga el ID del Datastore conflictivo, para ello ejecutaremos las siguientes consultas:

select *from VPX_DS_ASSIGNMENT where DS_ID=ID;

select *from VPX_VM_DS_SPACE where DS_ID=ID;

select *from VPX_DATASTORE where ID=ID;

select *from VPX_ENTITY where ID=ID;

Estas queries no deberían de mostrar ningún resultado, según se observa en la siguiente captura:

[embeber alt=»Captura+de+pantalla+2014-04-03+a+la(s)+12.40.20.png» embedtype=»image» format=»fullwidth» id=»1958″]

Con estos pasos, ya habremos limpiado el Datastore conflictivo del inventario de vCenter y ya podremos agregar el host a nuestra infraestructura virtual. Podremos levantar de nuevo el servicio de VMware vCenter Server.

Esperamos que os sirva de ayuda 🙂

¡Un saludo y hasta el próximo post!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *