How to Fix – When Xenserver Host Stuck in Maintenance Mode

Whenever we restart the xapi service (using either service xapi restart, or xe-toolstack-restart) the API will work for about 30 seconds and then it will stop working and any command we run from that server will show something like this:

root@xenhost ~# xe host-list
The host is still booting.
root@xenhost ~# xe vm-list
The host is still booting.

This means that the host is subjected to “deadbeef” error where you could see a domain with the UUID “deadbeef-dead-beef-dead-beef00000009″

when executing
opt/xensource/bin/list_domains

id | uuid | state
0 | fcc31605-2def-422f-871b-408b50519bb9 | R
23 | deadbeef-dead-beef-dead-beef00000009 | DS H

This needs to be destroyed and you can try this by using

opt/xensource/debug/xenops destroy_domain -domid 23 — if the domain is destroyed, the slave host will come out from Maintenance Mode and full functionality will be restored.

If the previous command results in a Fatal error: exception
Domain.Domain_stuck_in_dying_state(23), then there is no other option but to reboot the slave host to fix the problem. This issue is seen in Xen5.6 versions which have been fixed in Xen version 6.1 and above.

Here is a related post you maybe interested in: Steps to Fix VDI Not Available Error in Citrix Xenserver