bhyve: Detecting that a guest kernel has booted

Mark Raynsford list+org.freebsd.virtualization at io7m.com
Mon Mar 11 17:46:48 UTC 2019


On 2019-03-11T13:27:23 -0400
Shawn Webb <shawn.webb at hardenedbsd.org> wrote:
>
> Both FreeBSD and Linux supports virtio_console(4). I have no idea
> about OpenBSD, but I'm sure they'd be open to an implementation if
> asked.

Right.

> 
> The NFS solution would work, but it would be somewhat fragile. What
> happens when a VM crashes? What happens when the host crashes?

At least in my case:

If the VM crashes, it'll be restarted by a process supervisor (runit,
here).

If the host crashes, I likely have bigger problems. In any case, I
think that's still fine because all the host would care about is if the
guest's file was touched more recently than the last time the host
tried to start a bhyve process for it.

I suppose I should elaborate a bit: I do have monitoring via Prometheus
in place, but I'd like to try to stagger VM startups a little as
starting up a lot of them in parallel on boot tends to overwhelm the
machine slightly. Once they're all up and running in a steady state,
things are fine. I would typically stagger the startup of
ordinary services (inside a jail, for example) by using dependencies in
runit - it has a facility to pause a service until a dependent service
has been started. Unfortunately, that can't work in this case because
once the bhyve process has been started, the host can't tell if/when
the guest has actually fully started up. As far as runit is concerned,
the service is up and so any dependent services should be started too.

--
Mark Raynsford | http://www.io7m.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-virtualization/attachments/20190311/77eed94d/attachment.sig>


More information about the freebsd-virtualization mailing list