XenServer – VM kann per force shutdown nicht beendet werden

XenServer – VM per domain kill beenden

Wenn auf einem XenServer mal eine VM total hängt und ein Shutdown über das XenCenter auch nicht hilft, hilft oft nur ein domain kill der entsprechenden VM:

Auflisten der noch laufenden Tasks:

# xe task-list

Den entsprechenden Tast abbrechen:

# xe task-cancel force=true uuid=UUID des Tasks

Häufig reicht dies bereits aus und die VM beendet sich entsprechend.

Ist dies nicht der Fall geht es wie folgt weiter:

Herausfinden der UUID der entsprechenden VM:

# xe vm-list

Herausfinden der DomainID anhand der UUID:

# list_domains | grep UUID

Zerstören (domain kill) der Entsprechenden DomainID:

# /opt/xensource/debug/destroy_domain -domid DOMAINID

Daraufhin muss die VM noch neu gestartet werden:

# xe vm-reboot name-label=’VMNAME’ –force

Daraufhin sollte die VM nach ein paar Minuten Startzeit wieder erreichbar sein.

Achtung: Es kann vorkommen, dass nach dem domain kill der entsprechenden domain die VM nur auf dem XenServer wieder gestartet werden kann auf der sie vorher lief (vdi not available).
In diesem Fall kann noch geprüft werden, ob ev. ein ISO-Image als DVD-Laufwerk gemountet ist und ein Eject das Problem löst.
Andernfalls hilft meist ein reboot des aktuellen XenServers.

Das domain kill sollte immer nur als ultima ratio genutzt werden und ist oft ein Hinweis darauf, dass es ein darunter liegendes Problem gibt. Wir beobachten häufig nach einem XenServer domain kill zusätzliche Probleme wie “vdi not available” oder VMs die sich nur noch auf einem XenServer Host starten lassen.
So muss man damit rechnen, dass es notwendig werden kann, dass man alle Hosts des Pool nach und nach einmal durchbooten muss.
Bei einem Force Reboot im XenCenter sollte man auch ein wenig Geduld mitbringen, teilweise dauert es deutlich länger als die üblichen wenigen Minuten, aber  wenn der Force Reboot dann erfolgreich war, hat man zumindest einen sauberen Stand der VM.