Einleitung
In diesem Dokument wird das Fehlerproblem bei der HyperFlex vCenter-Registrierung nach der Erneuerung der VCSA-Zertifizierung beschrieben.
Nach der Erneuerung/dem Austausch des Zertifikats auf dem vCenter-Server erkennt der EAM-Dienst das neue Zertifikat nicht und kann sich nicht anmelden.
Beitrag von Ignacio Orozco, Cisco TAC Engineer.
Hintergrundinformationen
Wenn Sie versuchen, den Hyperflex-Cluster nach der Regenerierung/dem Austausch des vCenter-Zertifikats erneut bei vCenter zu registrieren, wird folgender Fehler angezeigt:
"Verbindungsfehler zwischen vCenter und ESX Agent Manager (EAM). Starten Sie die EAM-Dienste von vSphere aus neu. Klicken Sie dann auf Clustererstellung erneut versuchen."
In der Datei stMgr.log sehen Sie Folgendes:
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
In der Datei VCSA: /var/log/vmware/eam/eam.log ODER in der Datei VC auf dem Windows-Server C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log für den ESX Agent Manager (EAM) werden Einträge angezeigt, die den folgenden ähneln:
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
Problemumgehung
Referenzdokument: https://kb.vmware.com/s/article/2112577
Auf vCenter Server für Windows
- Stellen Sie über eine Konsole oder eine Remote-Desktop-Sitzung eine Verbindung zum vCenter-Server her.
- Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten.
- Erstellen Sie ein temporäres Verzeichnis mit dem Namen c:\certificate.
- Führen Sie diesen Befehl aus, um das Benutzerzertifikat und den Schlüssel für die Lösung vpxd-extension abzurufen:
"%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
- Navigieren Sie zu C:\Program Files\VMware\vCenter Server\vpxd\scripts:
cd C:\Program Files\VMware\vCenter Server\vpxd\scripts
Anmerkung: Der aufgelistete Pfad bezieht sich auf die Standardinstallation von vCenter Server. Wenn Sie den Installationsstandort von vCenter Server angepasst haben, ändern Sie das Verzeichnis entsprechend.
- Führen Sie diesen Befehl aus, um das Zertifikat der Erweiterung mit vCenter Server zu aktualisieren:
"%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
Anmerkung: Der Standardbenutzer und die -domäne sind administrator@vsphere.local. Wenn dies während der Konfiguration geändert wurde, ändern Sie die Domäne entsprechend Ihrer Umgebung.
- Geben Sie bei Aufforderung das Kennwort Administrator@domain.local ein.
- Navigieren Sie zum Ordner C:\Program Files\VMware\vCenter Server\bin:
cd C:\Program Files\VMware\vCenter Server\bin
- Starten Sie den VMware ESX Manager-Dienst mit den folgenden Befehlen neu:
- service-control —stop EsxAgentManager
- service-control —start EsxAgentManager
Auf der vCenter-Server-Appliance
- Melden Sie sich mit SSH bei der vCenter Server Appliance an.
- Führen Sie diesen Befehl aus, um den Zugriff auf die Bash-Shell zu aktivieren:
shell.set --enabled true
- Geben Sie shell ein, und drücken Sie die Eingabetaste.
- Führen Sie diesen Befehl aus, um das Benutzerzertifikat und den Schlüssel für die Lösung vpxd-extension abzurufen:
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
- Führen Sie diesen Befehl aus, um das Zertifikat der Erweiterung mit vCenter Server zu aktualisieren.
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
Anmerkung: Der Standardbenutzer und die -domäne sind Administrator@vsphere.local. Wenn dies während der Konfiguration geändert wurde, ändern Sie die Domäne entsprechend Ihrer Umgebung. Geben Sie bei Aufforderung Administrator@domain.localpassword ein.
- Starten Sie den VMware ESX Manager-Dienst mit den folgenden Befehlen neu:
service-control --stop vmware-eam
service-control --start vmware-eam