[virt-tools-list] how to reboot virtual machine / guest OS??
Phil Meyer
pmeyer at themeyerfarm.com
Wed Nov 10 15:41:50 UTC 2010
On 11/10/2010 07:22 AM, Santanu Das wrote:
> Hi there,
>
> How can I reboot the virtual guest after creating it? I'm gonna use
> PXE/Kickstart method to install the OS, os a reboot is needed for the
> PXE to pick up the information. I I try to reboot the virtual machine
> from the virt-manager interface, I get this error:
>
> Error shutting down domain: this function is not supported by the hypervisor: virDomainReboot
>
> Traceback (most recent call last):
> File "/usr/share/virt-manager/virtManager/engine.py", line 531, in reboot_domain
> vm.reboot()
> File "/usr/share/virt-manager/virtManager/domain.py", line 565, in reboot
> self.vm.reboot(0)
> File "/usr/lib64/python2.4/site-packages/libvirt.py", line 392, in reboot
> if ret == -1: raise libvirtError ('virDomainReboot() failed', dom=self)
> libvirtError: this function is not supported by the hypervisor: virDomainReboot
>
>
>
> So, is it not possible?
Not really possible from libvirt.
Please consider that there is not, and has never been, a reboot button
on any intel based hardware I have ever seen. There is no reboot method
described by the ATX motherboard (nor any others that I am aware of) nor
does (or can) APIC.
There is no way for libvirt to send a 'reboot' to a VM that could
possibly be reliable since there is no hardware support for it.
Also consider that Windows (XP, 2k3) does not even respond to the
APIC/ATX 'power' button press unless a user is logged in. Windows 2k8r2
does see the signal, but ignores it unless a user is logged in, or
unless a second press is received within a few seconds.
Therefore, there cannot be a reliable way for libvirt to gracefully
shutdown a VM.
However, virsh destroy is reasonably reliable as it simply kills the VM
process on the host. But this is obviously not a recommended way of
shutting down systems.
VM users need to be responsible for 'rebooting' their systems, or you
need to force a user login on Widows VMs (not recommended)
A great deal of work has gone into the libvirt tools such as
virt-install to allow reboots during installs. There are many
'definitions' for various flavors of operating systems that describe to
virt-install how to handle things. For instance: Windows 2k8r2 needs
TWO reboots to complete the install. Thus, you must pass
--os-type=win2k8 to virt-install so it knows to allow that.
The discussion of libvirt reboots is not over, but for now, its not
really possible.
Good Luck!
More information about the virt-tools-list
mailing list