المقدمة
يصف هذا المستند مشكلة فشل تسجيل HyperFlex vCenter بعد إعادة إنشاء شهادة VCSA.
بعد إعادة إنشاء/إستبدال الشهادة على خادم vCenter، لا تكون خدمة EAM على علم بالشهادة الجديدة ولا يمكنها تسجيل الدخول.
تمت المساهمة من قبل إجناسيو أوروزكو، مهندس TAC من Cisco.
معلومات أساسية
عند محاولة إعادة تسجيل نظام مجموعة HyperFlex إلى vCenter بعد إعادة إنشاء/إستبدال شهادة vCenter، يمكنك ملاحظة هذا الخطأ:
"حدث خطأ في الاتصال بين vCenter و ESX Agent Manager (EAM). من vSphere، قم بإعادة تشغيل خدمات EAM. ثم انقر فوق "إعادة محاولة إنشاء نظام المجموعة"."
في stMgr.log يمكنك رؤية التالي:
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
في ملف VCSA: /var/log/vmware/eam/eam.log أو ملف VC على ملف Windows Server C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log ل ESX Agent Manager (EAM)، يمكنك رؤية إدخالات مماثلة ل:
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
الحل
الوثيقة المرجعية: https://kb.vmware.com/s/article/2112577
OnCenter Server ل Windows
- الاتصال بخادم vCenter من خلال جلسة عمل لوحدة التحكم أو سطح المكتب البعيد.
- فتح موجه أوامر غير مقيد.
- إنشاء دليل مؤقت باسم c:\certificate.
- قم بتشغيل هذا الأمر لاسترداد شهادة مستخدم حل امتداد 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
- انتقل إلى C:\Program Files\VMware\vCenter server\vpxd\scripts:
cd C:\Program Files\VMware\vCenter Server\vpxd\scripts
ملاحظة: المسار المدرج خاص بتثبيت افتراضي لخادم vCenter. إذا قمت بتخصيص موقع التثبيت الخاص ب vCenter Server، فقم بتغيير الدليل وفقا لذلك.
- قم بتشغيل هذا الأمر لتحديث شهادة الملحق باستخدام خادم 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
ملاحظة: المستخدم والمجال الافتراضيان هما administrator@vsphere.local. إذا تم تغيير هذا أثناء التكوين، فقم بتغيير المجال لمطابقة بيئتك.
- عند المطالبة، أدخل كلمة مرور administrator@domain.local.
- انتقل إلى مجلد C:\Program Files\VMware\vCenter server\bin:
القرص المضغوط C:\Program Files\VMware\vCenter Server\bin
- قم بإعادة تشغيل خدمة VMware ESX Manager باستخدام الأوامر التالية:
- التحكم في الخدمة —إيقاف EsxAgentManager
- التحكم في الخدمة —بدء تشغيل EsxAgentManager
على جهاز الخادم vCenter
- قم بتسجيل الدخول إلى جهاز خادم vCenter باستخدام SSH.
- قم بتشغيل هذا الأمر لتمكين الوصول إلى طبقة BaseH:
shell.set --enabled true
- اكتب shell واضغط على Enter.
- قم بتشغيل هذا الأمر لاسترداد شهادة مستخدم حل امتداد 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
- قم بتشغيل هذا الأمر لتحديث شهادة الملحق باستخدام خادم 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
ملاحظة: المستخدم والمجال الافتراضيان هما Administrator@vsphere.local. إذا تم تغيير هذا أثناء التكوين، فقم بتغيير المجال لمطابقة بيئتك. عندما يطلب منك، اكتب في Administrator@domain.localpassword.
- قم بإعادة تشغيل خدمة VMware ESX Manager باستخدام الأوامر التالية:
service-control --stop vmware-eam
service-control --start vmware-eam