Bardzo lubię vCSA, jeden ruch ręką i całe środowisko postawione. Niestety ze względu na wbudowaną bazę danych ciężko jest przeprowadzić procedurę reinstalacji w przypadku wystąpienia problemów. Ostatnio po restarcie vCSA ze zdziwieniem stwierdziłem, że vSphere Web Client pokazuje “Empty inventory”.
Po przeprowadzeniu odpowiedniej analizy, w logu /var/log/vmware/vsphere-client/logs/vsphere_client_virgo.log znalazłem coś takiego:
com.vmware.vim.binding.vmodl.MethodFault: The connection to vCenter Server „AB9B69A0-26C1-4EAD-A574-86C01C82BBFE” has been lost.
Oznacza to, że vCenter zostało wyrejestrowane z SSO. W vSphere 5.5 tak to działa, vSphere Web Client pokaże każde vCenter zarejestrowane w SSO. Dzięki temu możemy jednym klientem zarządzać kilkoma vCenter. Postanowiłem ręcznie ponownie zarejestrować vCenter w SSO. Na początku sprawdzamy jakie serwisy są zarejestrowane w SSO:
pvc1:/etc/vmware-sso/register-hooks.d # /usr/lib/vmware-sso/bin/vi_regtool listServices https://pvc1.piszki.lab:7444/lookupservice/sdk
Intializing registration provider…
Getting SSL certificates for https://pvc1.piszki.lab:7444/lookupservice/sdk
Anonymous execution
Found 6 services.
Service 1
———–
serviceId=local:f05bcb61-1586-4805-bb99-eca79b326faa
serviceName=The administrative interface of the SSO server
type=urn:sso:admin
endpoints={[url=https://pvc1.piszki.lab:7444/sso-adminserver/sdk/vsphere.local,protocol=vmomi]}
version=1.5
description=The administrative interface of the SSO server
ownerId=
productId=product:sso
viSite=local
Service 2
———–
serviceId=local:cfb6557b-25fc-415d-90b2-0f90bb9dd95f
serviceName=The security token service interface of the SSO server
type=urn:sso:sts
endpoints={[url=https://pvc1.piszki.lab:7444/sts/STSService/vsphere.local,protocol=wsTrust]}
version=1.5
description=The security token service interface of the SSO server
ownerId=
productId=product:sso
viSite=local
Service 3
———–
serviceId=local:33ac0b2d-9d69-4684-85ba-c37fff2f7097
serviceName=VMware Log Browser
type=urn:logbrowser:logbrowser
endpoints={[url=https://pvc1.piszki.lab:12443/vmwb/logbrowser,protocol=unknown],[url=https://pvc1.piszki.lab:12443/authentication/authtoken,protocol=unknown]}
version=1.0.2175565
description=Enables browsing vSphere log files within the VMware Web Client
ownerId=logbrowser-pvc1.piszki.lab-da83b7fb-404c-4ad4-911e-f7b2ab8aaaf8
productId=
viSite=local
Service 4
———–
serviceId=local:19c572c9-3501-4278-b440-0606dcff7c2a
serviceName=The group check interface of the SSO server
type=urn:sso:groupcheck
endpoints={[url=https://pvc1.piszki.lab:7444/sso-adminserver/sdk/vsphere.local,protocol=vmomi]}
version=1.5
description=The group check interface of the SSO server
ownerId=
productId=product:sso
viSite=local
Service 5
———–
serviceId=local:27924ff7-0efb-48bf-b890-651fa58ee08e
serviceName=vsphere-client-pvc1.piszki.lab-6991e11e-8470-4f8d-8a90-b13db38c6d81
type=urn:com.vmware.vsphere.client
endpoints={[url=https://pvc1.piszki.lab:9443/vsphere-client,protocol=vmomi]}
version=5.5
description=vSphere Web Client at pvc1.piszki.lab
ownerId=vsphere-client-pvc1.piszki.lab-6991e11e-8470-4f8d-8a90-b13db38c6d81@vsphere.local
productId=
viSite=local
Service 6
———–
serviceId=local:3f83bb40-0fd6-453e-b5dc-24fdec238abe
serviceName=vCHS Plugin
type=vsphere-client-serenity
endpoints={[url=file:///usr/lib/vmware-vsphere-client/server/work/tmp/vchs-pckg1520000318964402821.zip,protocol=http]}
version=1.5.1.0
description=vCHS Plugin
ownerId=VMware, Inc.
productId=com.vmware.vcim
viSite=local
Return code is: Success
Zgodnie z oczekiwaniami, nie ma śladu po vCenter. Na wszelki wypadek próbujemy odrejestrowania vCenter z SSO:
pvc1:/etc/vmware-sso/register-hooks.d # ./01-vcenter –mode uninstall –ls-server https://pvc1.piszki.lab:7444/lookupservice/sdk –user administrator@vsphere.local –password xxxx
Intializing registration provider…
Getting SSL certificates for https://pvc1.piszki.lab:7444/lookupservice/sdk
null
com.vmware.vim.binding.lookup.fault.ServiceFault:
errorMessage = No such object
inherited from com.vmware.vim.binding.lookup.fault.ServiceFault
Return code is: UnregisterFailed
Zgodnie z oczekiwaniem, nic z tego. Próbujemy ponownego zarejestrowania:
pvc1:/etc/vmware-sso/register-hooks.d # ./01-vcenter –mode install –ls-server https://pvc1.piszki.lab:7444/lookupservice/sdk –user administrator@vsphere.local –password xx –option vc-admin-principal=root –option sso-deployment-type=embedded
Intializing registration provider…
Getting SSL certificates for https://pvc1.piszki.lab:7444/lookupservice/sdk
Anonymous execution
Successfully saved SSO locations and certificates
Return code is: Success
Creating SSO principal for vCenter Server
Intializing registration provider…
Getting SSL certificates for https://pvc1.piszki.lab:7444/lookupservice/sdk
vpxd-pvc1.piszki.lab-ad101ef0-9465-483e-b001-4f52d6f83729
com.vmware.vim.sso.admin.exception.DuplicateSolutionCertificateException: vpxd-pvc1.piszki.lab-ad101ef0-9465-483e-b001-4f52d6f83729
Return code is: AlreadyRegistered
Niestety, komunikat wyraźnie pokazuje, że vCenter jest zarejestrowane. Kolejna próba ręcznego wyrejestrowania vCenter z SSO:
pvc1:/etc/vmware-sso/register-hooks.d # /usr/lib/vmware-sso/bin/vi_regtool unregisterService -d https://pvc1.piszki.lab:7444/lookupservice/sdk-u administrator@vsphere.local -p xxxx -si id.vc
Intializing registration provider…
Getting SSL certificates for https://pvc1.piszki.lab:7444/lookupservice/sdk
null
com.vmware.vim.binding.lookup.fault.ServiceFault:
errorMessage = No such object
inherited from com.vmware.vim.binding.lookup.fault.ServiceFault
Dalej bez powodzenia. W tym momencie postanowiłem sięgnąć po argument ostateczny, ponowne uruchomienie “Setup wizard”. Już wcześniej wiedziałem, że ponowne uruchomienie tego kreatora nie powoduje wyczyszczenia bazy danych vCenter ani Inventory. Za to w trakcie całego procesu jest przeprowadzane pełne ponowne rejestrowanie usług. Oczywiście snapshot jest obowiązkowy zanim cokolwiek zaczniemy. I tutaj bingo! vSphere Web Client pokazał pełne Inventory!