VMware vCenter Server Appliance Upgrade 5.5 auf 6.0 schlägt fehl: File /usr/lib/vmidentity-firstboot.py (2119876)

Problem

Der Upgrade Assistent in Form des netten HTML-Setups is ausgefüllt, alle Eingaben sind validiert und das Setup legt los. Nach (gefühlten) 10 Minuten steht die Migration still und es erscheint diese unfreundliche Fehlermeldung:

Firstboot script execution error: 
Encountered an internal error. Traceback (most recent call last): File "/usr/lib/vmidentity-firstboot.py", line 202, in main vmidentityFB.boot()
File "/opt/vmware/lib64/vmidentity_firstboot_core.py", line 180, in boot self.dolmport()
File "/opt/vmware/lib64/vmidentity_firstboot_core.py", line 1369, in dolmport self.doLSImport()
File "/opt/vmware/lib64/vmidentity_firstboot_core.py", line 1411, in dolSImport returncode = self.runShellCommand(command, True)
File "/opt/vmware/lib64/vmidentity_firstboot_core.py", line 1515, in runShellCommand args = shlex.split(command)
File "/opt/vmware/lib/python2.7/shlex.py", line 279, in split return list(lex)
File "/opt/vmware/lib/python2.7/shlex.py", line 269, in next token = self.get_token()
File "/opt/vmware/lib/python2.7/shlex.py", line 96, in get_token raw = self.read_token()
File "/opt/vmware/lib/python2.7/shlex.py", line 172, in read_token raise ValueError, "No closing quotation" ValueError: No closing quotation 

This is an unrecoverable error, please retry install.
If you run into this error again, please collect a support bundle and open a support request.

Lösung

Das Kennwort für root und den SSO-Adminbenutzer dürfen keine Sonderzeichen enthalten (/\+()“ Leereichen und so weiter). Einfach eine neues Kennwort nur aus Buchstaben und Zahlen vergeben, schon läuft der Assistent *kopfschüttel*

Das gilt für den root und [email protected], wenn SSO nicht eingerichtet ist.

Update: vmware hat dieses Verhalten zwar nicht gefixt, aber Dokumentiert: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2119876

Howto: vmware vSphere vCenter 5.5 mit Active Directory einrichten

Die Einrichtung des vCenter Servers mit dem Active Directory als Identitätsquelle ist etwas umständlich zu erledigen als unter 4.x/5, aber der Aufwand lohnt sich. Das SSO-Backend unter vSphere 5.5 ist praktisch komplett neu geschrieben und daher deutlich gradliniger als das SSO-Gebastel von früher. Leider ist dabei einiges an Adminfreundlichkeit auf der Strecke geblieben.

Ziel dieses Artikels: Ein vCenter Server soll gegen ein Active Directory („Windows Sitzungs-Anmeldedaten verwenden“) authentifizieren. Netzwerkdaten, DNS, Hostnamen und so weiter sind korrekt eingerichtet und der vCenter Server läuft soweit.

1. vCenter zum Active Directory hinzufügen

vCenter Verwaltungs-Weboberfläche (https://vcenter55:5480) öffnen.

  1. Als root anmelden
  2. Tab vCenter Server -> Authentication den Haken bei „Active Directory Enabled“ setzen und passende Domänenanmeldedaten eingeben
  3. „Save Config“
  4. Unter „SSO“ den Usernamen für den SSO-Login merken und ein Kennwort konfigurieren
    vcenter-active-directory-sso-username
  5. vCenter Server neu starten: System -> Reboot

vcenter-active-directory-enable

2. Identitäsquelle hinzufügen

  1. In den vSphere Webclient als der (oben gemerkte) SSO-Administrator einloggen (https://vcenter55.wittgastec.de:9443/vsphere-client)
  2. Verwaltung -> Konfigurationvcenter-active-directory-hinzufuegen
  3. Oben links auf das grüne Plus, die Identitätsquelle hinzufügen und das Fenster ausfüllenvcenter-active-directory-aktivieren
  4. Domäne auswählen und „Als Standarddomäne festlegen“
    vcenter-ad-sso-standart

3. Rechte für Domänen-Benutzer oder Domänen-Gruppen hinzufügen

Der Einfachheit halber nutze ich jetzt den guten alten vSphere (C#-) Client. Flash ist für die Weboberfläche ja ein dermaßen üble Wahl, das ich soweit möglich beim Client leiben werde. Aus Abwärtskompatibilitätsgrünen kann man als Admin darauf ja eh nicht wirklich verzichten. Also Client auf und als root am vCenter anmelden.

  1. Den vCenter Server auswählen -> Berechtigungen -> unten rechte MT und „Berechtigungen hinzufügen“
  2. Einen neuen Benutzer „Hinzufügen“ und in dem Hinzufügen-Fenster oben die Domäne auswählen vcenter-active-directory-benutzer-auswaehlen
  3. Gewünschte Rechte vergeben
    vcenter-active-directory-rechte

Schon fertig 🙂

VMware vCenter Server – SQL Datenbank voll („An unrecoverable problem has occurred“)

Problem:

Der vCenter Server wird standardmäßig mit einem SQL-Express ausgeliefert, hierbei ist (unter 2008 R2) die Datenbank auf maximal 10GB limitiert.
Wenn diese Größe erreicht wird, gibt es verschiedene Symptome. z.B. ist keine Anmeldung am vCenter Server mehr möglich, (Veeam)-Sicherungen schlagen fehl, der Dienst „VMware VirtualCenter Server“ ist beendet oder in der Ereignisanzeige tauchen folgende einträge auf:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup." is returned when executing SQL statement "INSERT INTO VPX_HOST_VM_CONFIG_OPTION WITH (ROWLOCK) (HOST_ID, CONFIG_OPTION_VER, DATA, ARRAY_INDEX, CONFIG_OPTION_DESC, CREATE_SUPPORTED_FLG, DEFAULT_CONFIG_OPTION_FLG, RUN_SUPPORTED_FLG, UPGRADE_SUPPORTED_FLG) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"

(Event-Quelle: MSSQL$SQLINSTANZ; Event-ID: 1827)
Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

(Event-Quelle: VMware VirtualCenter Server; Event-ID: 1000)

Lösung:

  1. Zunächst die Datenbankaufbewahrungsrichtlinie anpassen
    1. Falls eine anmeldung am vCenter Server noch möglich ist mit dem vSphere Client verbinden, unter Verwaltung -> vCenter Server-Einstellungen die Datenbankaufbewahrungsrichtlinie anpassen und danach den VMware VirtualCenter Server-Dienst beenden vcenter_datenbankaufbewahrungsrichtline_client
    2. Ist eine Anmeldung nicht mehr möglich, z.B. weil der Dienst nicht gestartet werden kann, muss die Änderung direkt in der Datenbank vorgenommen werden:
      1. Mit einem SQL Management Studio auf den SQL-Server verbinden
      2. Im Objekt Explorer die Punkte Datenbanken, VIM_VCDB (standardmäßig), Tabellen erweitern
      3. Rechtsklick auf die Tabelle dbo.VPX_PARAMETER -> Oberste 200 Zeilen bearbeiten
      4. event.maxAge und task.maxAge anpassen und event.maxAgeEnabled und task.maxAgeEnabled auf true setzen
  2. Spätestens jetzt wird das SQL Management Studio benötigt: Datenbanken -> VIM_VCDB (standardmäßig) -> Programmierbarkeit -> Gespeicherte Prozeduren erweitern
  3. Rechtsklick auf dbo.cleanup_events_tasks_proc -> Gespeicherte Prozedur ausführen… und das nächste Fenster mit OK bestätigen
  4. Die ausführung kann je nach größe der Datenbank einige Zeit in Anspruch nehmen
  5. Danach Rechtsklick auf die Datenbank VIM_VCDB -> Tasks -> Verkleinern -> Datenbank und nächstes Fenster mit OK bestätigen
  6. Auch dieser Schritt kann einige Zeit in Anspruch nehmen
  7. Die Datenbank sollte nun wieder einiges an Platz haben
  8. Der Dienst kann wieder gestartet werden und die Datenbankaufbewahrungsrichtlinie kann zurück auf den Standard gesetzt werden (180 Tage / deaktiviert für Aufgaben und Ereignisse)

VMware ESX 6.0 Host UI funktioniert nicht „503 Service Unavailable“

Problem

Nach dem Update von vSphere 5.x auf 6.0 funktioniert das coole neue Webbaierte Host-UI nicht. Stattdessen erscheint die Fehlermeldung:

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0xffa014e8] _serverNamespace = /ui _isRedirect = false _port = 8308)

Lösung

  1. SSH auf dem betroffenen Host aktivieren, einloggen
  2. ein Backup der Reverse-Proxy Config endpoints.conf erstellen
    # cp /etc/vmware/rhttpproxy/endpoints.conf /etc/vmware/rhttpproxy/endpoints.conf.backup
  3. die Datei /etc/vmware/rhttpproxy/endpoints.conf bearbeiten
    # vi /etc/vmware/rhttpproxy/endpoints.conf
  4. Diese Zeile entfernen (in vi durch drücken von d+d in der Zeile):
    /ui    local    8308    redirect    allow
  5. Die rhttpproxy-Dienste neu starten:
    # /etc/init.d/rhttpproxy restart
  6. Fertig. Jetzt klappt der Zugang über https://<ip>/ui wieder.

VMWare vCenter Appliance (VCSA) hängt beim booten bei „Starting VMware Log Browser“

Problem

Eine VCSA5 (VMWare vCenter Appliance 5.5*) startet nicht sauber neu und hängt beim booten bei der Meldung „Starting VMWare Log Browser“. Die VPX-Dineste der Appliance kommen nicht hoch, das vCenter ist nicht zu gebrauchen.

Lösung

Per SSH auf die Maschine und alle Dateien sowie Ordner (und enhaltene Dateien) aus /var/log/vmware/logbrowser/ löschen. Reboot, fertig.