Contenido

Introducción

Antecedentes

Solución Aternativa

En vCenter Server para Windows

En el dispositivo de servidor vCenter

Introducción

Este documento describe el problema de falla del registro de HyperFlex vCenter después de la regeneración de la certificación VCSA.

Después de la regeneración/sustitución del certificado en el servidor vCenter, el servicio EAM no conoce el nuevo certificado y no puede iniciar sesión.

Colaborado por Ignacio Orozco, Ingeniero del TAC de Cisco.

Antecedentes

Cuando intenta volver a registrar el clúster de Hyperflex en vCenter después de la regeneración/reemplazo del certificado de vCenter, puede ver este error:

"Error de conexión entre vCenter y ESX Agent Manager (EAM). Desde vSphere, reinicie los servicios EAM. A continuación, haga clic en Reintentar creación de clúster."

En stMgr.log puede ver esto:

017-12-20-21:51:17.015 [opId=6b747f93e3224869, operationId=6b747f93e3224869.6b747f93e3224869<:6b747f93e3224869] [pool-4-thread-2] ERROR c.s.s.v.VirtPlatformImpl$ - ESX Agent Manager error

java.rmi.RemoteException: VI SDK invoke exception:; nested exception is:

com.vmware.eam.NoConnectionToVCenter

at com.vmware.vim25.ws.WSClient.invoke(WSClient.java:157) ~[vijava-eam-5.5.6sp.jar:na]

at com.vmware.eam.ws.EamService.queryAgency(EamService.java:144) ~[vijava-eam-5.5.6sp.jar:na

En el archivo VCSA: /var/log/vmware/eam/eam.log O el VC en el archivo C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log  del servidor Windows para ESX Agent Manager (EAM), verá entradas similares a:

YYYY-MM-DDTHH:MM:SS.MSZ |  INFO | eam-0 | VcConnection.java | 167 | Connecting to vCenter as com.vmware.vim.eam extension

YYYY-MM-DDTHH:MM:SS.MSZ |  INFO | eam-0 | VcConnection.java | 603 | Connecting to https://vCenter_Server_FQDN:8089/sdk/vimService via vCenter proxy http://localhost:80

YYYY-MM-DDTHH:MM:SS.MSZ | DEBUG | http-bio-0.0.0.0-15005-exec-1 | AllowAllSamlTokenPolicy.java | 24 | HealtStatus request's token subject name: machine-7502fb4c-3521-48c7-93ed-3d1865e0fff1, subject domain: vsphere.local

YYYY-MM-DDTHH:MM:SS.MSZ | ERROR | eam-0 | VcConnection.java | 179 | Failed to login to vCenter as extension. vCenter has probably not loaded the EAM extension.xml yet.: Cannot complete login due to an incorrect user name or password.

YYYY-MM-DDTHH:MM:SS.MSZ |  WARN | eam-0 | VcListener.java | 114 | Trying to recover from error

(vim.fault.InvalidLogin) {

faultCause = null,

faultMessage = null

}

at sun.reflect.GeneratedConstructorAccessor82.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at com.vmware.vim.vmomi.core.types.impl.ComplexTypeImpl.newInstance(ComplexTypeImpl.java:173)

at com.vmware.vim.vmomi.core.types.impl.DefaultDataObjectFactory.newDataObject(DefaultDataObjectFactory.java:26)

at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.ComplexStackContext.

(ComplexStackContext.java:31) at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.parse(UnmarshallerImpl.java:141) at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFau

Solución Aternativa

Documento de referencia: https://kb.vmware.com/s/article/2112577

En vCenter Server para Windows

1. Conéctese a vCenter Server a través de una sesión de consola o escritorio remoto.

2. Abra un símbolo del sistema elevado.

3. Cree un directorio temporal denominado c:\certificate.

4. Ejecute este comando para recuperar el certificado y la clave de usuario de la solución vpxd-extension:

"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output c:\certificate\vpxd-extension.crt

"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output c:\certificate\vpxd-extension.key

5. Vaya a C:\Program Files\VMware\vCenter Server\vpxd\scripts:

cd C:\Program Files\VMware\vCenter Server\vpxd\scripts

Nota: La ruta de acceso mostrada corresponde a una instalación predeterminada de vCenter Server. Si ha personalizado la ubicación de instalación de vCenter Server, cambie el directorio en consecuencia.

6. Ejecute este comando para actualizar el certificado de la extensión con el servidor vCenter:

"%VMWARE_PYTHON_BIN%" updateExtensionCertInVC.py -e com.vmware.vim.eam -c C:\Certificate\vpxd-extension.crt -k C:\Certificate\vpxd-extension.key -s localhost -u Administrator@domain.local

Nota: El usuario y el dominio predeterminados son administrator@vsphere.local. Si esto se cambió durante la configuración, cambie el dominio para que coincida con su entorno.

7. Cuando se le solicite, ingrese la contraseña Administrator@domain.local.

8. Navegue hasta la carpeta C:\Program Files\VMware\vCenter Server\bin:

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

9. Reinicie el servicio VMware ESX Manager con estos comandos:

- service-control —stop EsxAgentManager

- service-control —start EsxAgentManager

En el dispositivo de servidor vCenter

1. Inicie sesión en el dispositivo de servidor vCenter mediante SSH.

2. Ejecute este comando para habilitar el acceso al shell Bash:

shell.set --enabled true

3. Escriba shell y presione Enter.

4. Ejecute este comando para recuperar el certificado y la clave de usuario de la solución vpxd-extension:

mkdir /certificate

/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.crt

/usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.key

5. Ejecute este comando para actualizar el certificado de la extensión con el servidor vCenter.

python /usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py -e com.vmware.vim.eam -c /certificate/vpxd-extension.crt -k /certificate/vpxd-extension.key -s localhost -u Administrator@domain.local

Nota: El usuario y el dominio predeterminados son Administrator@vsphere.local. Si esto se cambió durante la configuración, cambie el dominio para que coincida con su entorno. Cuando se le solicite, escriba Administrator@domain.localpassword.

6. Reinicie el servicio VMware ESX Manager con estos comandos:

service-control --stop vmware-eam

service-control --start vmware-eam