Sommario

Introduzione

Premesse

Soluzione alternativa

Su vCenter Server per Windows

Su vCenter Server Appliance

Introduzione

In questo documento viene descritto il problema della registrazione di HyperFlex vCenter dopo la rigenerazione della certificazione VCSA.

Dopo la rigenerazione/sostituzione del certificato sul server vCenter, il servizio EAM non è in grado di rilevare il nuovo certificato e di eseguire l'accesso.

Contributo di Ignacio Orozco, Cisco TAC Engineer.

Premesse

Quando si tenta di registrare nuovamente il cluster Hyperflex in vCenter dopo la rigenerazione/sostituzione del certificato vCenter, viene visualizzato questo errore:

"Errore di connessione tra vCenter ed ESX Agent Manager (EAM). Da vSphere, riavviare i servizi EAM. Fare quindi clic su Riprova creazione cluster."

Nel file stMgr.log è possibile visualizzare quanto segue:

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

Nel file VCSA: /var/log/vmware/eam/eam.log OR the VC on Windows server C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log file for the ESX Agent Manager (EAM), sono presenti voci simili 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

Soluzione alternativa

Documento di riferimento: https://kb.vmware.com/s/article/2112577

Su vCenter Server per Windows

1. Connettersi a vCenter Server tramite una sessione console o desktop remoto.

2. Aprire un prompt dei comandi con privilegi elevati.

3. Creare una directory temporanea denominata c:\certificate.

4. Eseguire questo comando per recuperare il certificato utente e la chiave della soluzione con estensione vpxd:

"%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. Passare a C:\Program Files\VMware\vCenter Server\vpxd\scripts:

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

Nota: Il percorso indicato è relativo a un'installazione predefinita di vCenter Server. Se il percorso di installazione di vCenter Server è stato personalizzato, modificare la directory di conseguenza.

6. Eseguire questo comando per aggiornare il certificato dell'estensione con vCenter Server:

"%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: L'utente e il dominio predefiniti sono administrator@vsphere.local. Se la configurazione è stata modificata, modificare il dominio in modo che corrisponda all'ambiente.

7. Quando richiesto, immettere la password Administrator@domain.local.

8. Passare alla cartella C:\Program Files\VMware\vCenter Server\bin:

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

9. Riavviare il servizio VMware ESX Manager con i seguenti comandi:

- service-control: arrestare EsxAgentManager

- service-control: avvio di EsxAgentManager

Su vCenter Server Appliance

1. Accedere all'appliance vCenter Server utilizzando SSH.

2. Eseguire questo comando per abilitare l'accesso alla shell Bash:

shell.set --enabled true

3. Digitare shell e premere Invio.

4. Eseguire questo comando per recuperare il certificato utente e la chiave della soluzione con estensione vpxd:

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. Eseguire questo comando per aggiornare il certificato dell'estensione con vCenter Server.

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: L'utente e il dominio predefiniti sono Administrator@vsphere.local. Se la configurazione è stata modificata, modificare il dominio in modo che corrisponda all'ambiente. Quando richiesto, digitare la password Administrator@domain.localpassword.

6. Riavviare il servizio VMware ESX Manager con i seguenti comandi:

service-control --stop vmware-eam

service-control --start vmware-eam