A Hardware Node reboot hangs on the following step:
The only way to release it is to hard reset the server.
There are many reasons why this happens – sometimes it is a BIOS issue or sometimes it’s just that the system has a different kind of hardware setup (e.g. no keyboard controller) and Linux (the kernel) does not understand how to tackle that situation.
In most cases, the corresponding hardware vendor should be contacted for a complete resolution.
In order to fix the issue instantly, one should try passing the following parameters to the kernel, one at a time, in the form of “reboot=
warm = Don’t set the cold reboot flag cold = Set the cold reboot flag bios = Reboot by jumping through the BIOS (only for X86_32) smp = Reboot by executing reset on BSP or other CPU (only for X86_32) triple = Force a triple fault (init) kbd = Use the keyboard controller. cold reset (default) acpi = Use the RESET_REG in the FADT efi = Use efi reset_system runtime service pci = Use the so-called “PCI reset register”, CF9 force = Avoid anything that could hang.
Once the helpful option is found, it can be put into the Grub configuration for the current kernel:
# sed -i '/kernel.*2.6.32-042stab083.2/s~$~ reboot=pci~' /etc/grub.conf
NOTE: replace 2.6.32-042stab083.2 with the actual kernel version
The kernel parameter should be preserved with further kernel updates.
vzreboot functionality can be used as an alternative solution, as it doesn't involve the native Linux reboot functionality.