libvirt and rebooting of a bhyve VM
Craig Rodrigues
rodrigc at FreeBSD.org
Tue Aug 19 19:04:06 UTC 2014
On Tue, Aug 19, 2014 at 9:25 AM, Allan Jude <allanjude at freebsd.org> wrote:
>
> Yes, this revision adds the ability to 'reboot'. This does not exit
> bhyve at all, so there is no exit level
>
> You can 'reboot' a bhyve externally using:
> bhyvectl --force-reset --vm=xxx
>
> or force a poweroff with: bhyvectl --force-reset --vm=xxx
>
> SIGTERM simulates an ACPI shutdown
>
>
> the bhyvectl --destroy is to clean up, the instance remains even after a
> clean shutdown. In the past, it had to be destroyed and recreated to
> start the VM again, although now with reboot support, that may not be
> required.
Thanks for that information. It's very useful.
There doesn't seem to be a bhyvectl man page. Do you have the
bandwidth to write one up and check it into the tree?
That would be very helpful.
I ran some experiments with bhyvectl --force-reset and
--force-poweroff. They work as expected.
There doesn't seem to be a bhyvectl command which simulates ACPI shutdown.
If I have the name of the bhyve VM, is there a way that I can obtain
the pid of the bhyve process which started
the VM, so I can send it a SIGTERM, or do I need to keep track of that
myself when starting the bhyve process?
>
>
> the bhyvectl --destroy is to clean up, the instance remains even after a
> clean shutdown. In the past, it had to be destroyed and recreated to
> start the VM again, although now with reboot support, that may not be
> required.
You are right, calling bhyvectl --destroy does not seem to be required.
I ran some experiments:
DOESN'T WORK
==============
bhyvectl --destroy ......
bhyveload .....
while true; do
byve ......
if [ $? -ne 0 ]; then
break
fi
done
if I do a shutdown -r inside the VM, then when the VM reboots, I get:
Assertion failed: (error == 0), function fbsdrun_addcpu, file
/usr/src/usr.sbin/bhyve/bhyverun.c, line 266.
WORKING
========
bhyvectl --destroy ......
while true; do
bhyveload .....
byve ......
if [ $? -ne 0 ]; then
break
fi
done
This combination seems to work fine. I can do "shutdown -r" inside
the VM, and it reboots fine.
I can also do "shutdown -p", and the VM shuts down.
So I think vmrun.sh can be changed to accomodate this new behavior,
and make it more clear
to people writing scripts on top of bhyve.
--
Craig
More information about the freebsd-virtualization
mailing list