Citrix: Unbekannten Energiezustand bei Maschinen beheben

Wer Citrix XenApp / XenDesktop in Verbindung mit VMware ESX als Hypervisor einsetzt, kann auf das Problem stoßen, dass sich virtuelle Maschinen nicht mehr durch die Controller steuern lassen. Im Citrix Director wird als Zustand der virtuellen Maschine dabei immer “unbekannt” angezeigt. Sitzungen werden in den meisten Fällen ebenfalls nicht mehr vermittelt.

Virtuelle Citrix Desktops oder Terminal-Server werden üblicherweise automatisiert Heruntergefahren bzw. Neugestartet und auf einen bestimmten Zustand zurückgesetzt. Diese Technologie, egal ob Provisioning Services oder Machine Creation Services zum Einsatz kommt, kann nicht nur mit XenServer (Citrix Hypervisor), sondern auch mit VMware ESX genutzt werden. Die Energieverwaltung der virtuellen Maschinen findet dabei über eine Schnittstelle zwischen den Delivery Controllern und dem Hypervisor bzw. dem vCenter statt.

Hintergrund

Ursächlich für die plötzliche Verstimmung ist, dass das vCenter die UUID, die eindeutige Kennung der virtuellen Maschine, geändert hat. Dies kann vorkommen, wenn das vCenter vermutet, dass die VM geklont wurde oder die UUID doppelt existiert. Unter den Ereignissen der VM im vCenter erscheinen dann folgende Einträge:

Diese virtuelle Maschine wurde möglicherweise verschoben oder kopiert. Um bestimmte Verwaltungs- und Netzwerkfunktionen konfigurieren zu können, muss VMware ESX wissen, ob diese virtuelle Maschine verschoben oder kopiert wurde.

Die BIOS-UUID wurde von 824d8a17-e0da-79c6-debc-1a68208da15c in 822df99d-186c-4e62-7e58-3a184e0c80c2 geändert.

Citrix nutzt die UUID der VM, um diese über das vCenter zu steuern. Die Befehle laufen dann ins leere, und auch die Abfrage des Status der VM ist nicht mehr möglich.

Fehlerbehebung

Um die virtuelle Maschine wieder steuer- und nutzbar zu machen, muss manuell die UUID der VM korrigiert werden. Die alte UUID sollte – auch wenn vom vCenter eventuell protokolliert – vom Delivery Controller abgefragt werden. Dies geht mit folgenden Befehlen in Powershell:

PS C:\Users\administrator> Add-PSSnapin Citrix*
PS C:\Users\administrator> Get-BrokerMachine -MachineName domain\terminal-srv01 | Select-Object HostedMachineId

Die angezeigt HostedMachineId ist die alte UUID. Als nächstes muss die VM heruntergefahren werden. Vom Speicherort der VM wird die VMX-Datei benötigt, in unserem Fall die Datei terminal-srv01.vmx. In der Datei befindet sich ein Eintrag uuid.bios, welcher aktuell die neue UUID enthält:

uuid.bios = “82 2d f9 9d 18 6c 4e 62-7e 58 3a 18 4e 0c 80 c2”

Diese muss nun wieder durch die alte UUID ersetzt werden. Dabei unbedingt auf die selbe Formatierung achten! Nach zwei Ziffern folgt jeweils ein Leerzeichen, lediglich in der Mitte befindet sich ein Bindestrich. Die geänderte UUID sieht dann in unserem Beispiel so aus:

uuid.bios = “82 4d 8a 17 e0 da 79 c6-de bc 1a 68 20 8d a1 5c”

Die korrigierte VMX-Datei wieder hochladen und die VM starten. Das vCenter merkt, dass sich die UUID erneut geändert hat, und protokolliert dies wieder in den Ereignissen der VM. Die Maschine wird nun auch von den Delivery Controllern wieder erkannt und der Energiezustand korrekt angezeigt.

Wie können wir Ihnen helfen? Gerne beraten und unterstützen wir Sie in Bezug auf Ihre IT-Infrastruktur, technische Fragestellungen und Projekte. Kontaktieren Sie uns!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.