Revista Tecnología

Cómo acceder al vPostgres embebido de VMware vCenter Server

Publicado el 06 abril 2015 por Dbigcloud @dbigcloud

Hoy tratando de eliminar un switch distribuido de VMware vSphere que ya no usaba en un vCenter, recibía un error indicando que alguno de los puertos aun seguian conectados, cuando ya había eliminado los portgroups. Esto ha ocurrido por no haber desconectado los puertos de forma ordenada. La solución puede estar en volver a realizar toda la conexión y realizar una eliminación ordenada o bien eliminar los registros de dichos puertos desde la base de datos. Hoy os voy a explicar cómo acceder a vPostgres de mi vCenter.

 

vPostgres VMware Por DBigCloud

 

Como podéis observar en la siguiente imagen, el error mostrado a la hora de eliminar el switch distribuido indica claramente que el puerto c-41067 is used by entity <not-found>.

 

port in use VDswitch VMware por DBigCloud

 

Si nos dirigimos a puertos del Switch distribuido que esta mostrando el error podemos comprobar como dicho puerto no tiene conexion alguna.

 

lista puerto VMware VDswitch por DBigCloud

 

En mi vCenter 6.0 uso la base de datos embebida vPostgres, la cual podemos acceder a ella como cualquier base de datos, para ello debemos localizar el fichero vcdb.properties en mi caso se encuentra en la siguiente ruta:

C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties

Si lo abrimos nos encontraremos con los parámetros de conexión de nuestra base de datos (Usuario, contraseña y nombre de la base de datos que es VCDB), ahora ya podemos accder a través de consola a vPostgres, es necesario conocer la ruta en la que se encuentran los ejecutables del cliente de vPostgres y acceder a ella o bien añadirla a nuesta variable PATH:

cd C:\Program Files\VMware\vCenter Server\vPostgres\bin

Lo siguiente es conectarnos a la base de datos VCDB del vCenter:

psql -U vc VCDB

 

Conexion vPostgres por DBigCloud

 

Ya hemos accedido a la base de datos VCDB, para listar todas las tablas lo hacemos de la siguiente forma:

\dt

La tabla que voy en la que debo eliminar el registro es VPX_DVPORT, para conocer cada uno de los campos de la tabla, usamos:

\d+ VPX_DVPORT

 

desc table vPostgres VMware por DBigCloud

 

Ahora ya conozco la estructura de la tabla, puedo listar los puertos del switch y conocer su ID con la siguiente consulta:

VCDB=> select dvs_id, dvport_key from VPX_DVPORT;
     28 | hlp-12#86383
     28 | hlp-24#64915
     28 | hlp-17#95070
     28 | hlp-23#38389
     28 | hlp-12#5958
     28 | c-41067
     28 | c-41068

El ID del puerto c-41067, que es el que da el error es el 28, por lo que voy a proceder a eliminarlo.

delete from VPX_DVPORT where dvs_id= 28;

Ahora ya puedo eliminar el Switch Distribuido de mi vCenter sin que aparezca ningún error.

Espero que os haya sido de utilidad el cómo acceder al vPostgres embebido de un vCenter o bien si os habéis encontrado con el error mostrado anteriormente.



Volver a la Portada de Logo Paperblog

Revista