VMware vCenter 6.7u1: Migrate ist für die VCSA ausgegraut

Im Zuge der Aktualisierung der VMware vSphere ESXi-Hosts bei uns im Büro stellte ich fest, dass unsere VCSA nicht migrationsfähig war. Der letzte Host blieb bei “Entering maintenance mode” stehen, da die VCSA nicht migriert werden konnte.

Der Versuch, die VCSA manuell zu migrieren schlug fehl, da der entsprechende Befehl ausgegraut war.

Das kann verschiedene Ursachen haben. In unserem Fall war die Migrationsfähigkeit in der VCSA-Datenbank unterdrückt. Dies lässt sich folgendermassen eruieren:

Zu Beginn benötigen wir die moref id der virtuellen Maschine. Diese lässt sich entweder über die PowerShell/PowerCLI eruieren:

(Get-VM 's-001-0001.int.iteres.com').extensiondata.Moref.Value

Oder über den HTML5-Client. Ist die virtuelle Maschine geöffnet, steht die moref id irgendwo in der Adresszeile. Sie beginnt mit ‘vm-‘. Beispiel:

https://s-001-0001.int.iteres.com/ui/?locale=en_us#?extensionId=vsphere.core.inventory.serverObjectViewsExtension&objectId=urn:vmomi:VirtualMachine:vm-142:12345678-9abc-def1-2345-67890abcdef1&navigator=vsphere.core.viTree.hostsAndClustersView

Die moref id meiner virtuellen Maschine ist also vm-142.

Nun kann man sich per ssh auf die VCSA verbinden und die Shell öffnen:

kurtor@l-000-0045:~$ ssh root@s-001-0001.int.iteres.com

VMware vCenter Server Appliance 6.7.0.20000

Type: vCenter Server with an embedded Platform Services Controller

root@s-001-0001's password: 
Connected to service

    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Launch BASH: "shell"

Command> shell
Shell access is granted to root
root@s-001-0001 [ ~ ]#

Nun kann der vmware-vpxd-Dienst gestoppt werden und auf die Datenbank zugegriffen werden:

root@s-001-0001 [ ~ ]# service vmware-vpxd stop
root@s-001-0001 [ ~ ]# /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
psql.bin (9.6.9 (VMware Postgres 9.6.9.0-8615968 release))
Type "help" for help.

VCDB=#

Es ist wichtig, den vmware-vpxd-Dienst zu stoppen, bevor die Datenbank manipuliert wird! Es wäre nun interessant, herauszufinden, was vMotion unterdrückt:

VCDB=# SELECT * FROM VPX_DISABLED_METHODS WHERE ENTITY_MO_ID_VAL = 'vm-142';
entity_mo_id_val | method_name | source_id_val | reason_id_val 
------------------+-----------------------------+---------------+-------------------------------
vm-142 | vim.VirtualMachine.relocate | vm-142 | Prevent vMotion during backup
(1 row)

Aha! vMotion wird während des (VCSA-?)Backups unterdrückt. Ich bin mir sicher, dass zur Zeit kein Backup läuft, daher entfernte ich die Sperre:

VCDB=# DELETE FROM VPX_DISABLED_METHODS WHERE ENTITY_MO_ID_VAL = 'vm-142';
DELETE 1
VCDB=# \q

Nun kann die VCSA verlassen werden. Ich empfehle, die VCSA über das appliance management (https://s-001-0001.int.iteres.com:5480) neu zu starten und nicht einfach den vmware-vpxd-Dienst wieder zu starten – das gab in der Vergangenheit Probleme.

Nach dem Neustart sind wieder alle glücklich:

VMware kennt hierzu auch einen hervorragenden KB-Artikel.

Noch ein paar Worte für Tante Google: vcsa migrate greyed out

Ich höre gerade: Lunatica – The Spell

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.