Xen on FreeBSD 11.1 - Auto creating VMs on boot

Frank Leonhardt frank2 at fjl.co.uk
Sun Feb 4 23:42:44 UTC 2018

On 02/02/2018 17:14, David Salvisberg wrote:
> Hello,
> I recently switched from Debian as my Dom0 to FreeBSD to make use of ZFS
> without having to rely on zfs-on-linux. The experience has been pretty good
> so far, albeit a bit more limited compared to Debian obviously.
> One of the things I haven't been able to figure out is /etc/xen/auto or
> rather /usr/local/etc/xen/auto in FreeBSDs case. It doesn't look like Xen
> on FreeBSD ships with any of the configuration options for this feature,
> possibly due to lack of support for save and restore.
> I don't really need save and restore but auto spawning VMs on boot would be
> a nice thing to be able to do without having to write my own rc.d script or
> something along those lines.
> Is there a way to make use of the auto creation feature on FreeBSD Xen or
> is that feature just missing entirely due to the lack of save/restore
> functionality?
> If there is no builtin way, I'd appreciate any recommendations for writing
> my own scripts to make sure that they're only being run after Xen has been
> fully initialized and is ready for xl create commands.
> Best Regards
> David Salvisberg
> _______________________________________________

Hi David,

I'm not using Xen right now and I'm afraid I can't remember - which 
means it can't have been an issue.

The easy way to kick of something on boot is the traditional 
"/etc/rc.local" script.

Automation "enthusiasts" like to complicate things and are a bit 
disparaging of this simple way of running whatever you want on startup. 
The file probably doesn't even exist on your system. So create it. The 
contents will look something like:

cd /usr/something/my-xen-configs
xl create somemachine.cfg
xl create someothermachine.cfg
xl create yetanothermachine.cfg
echo All done!

This assumes xl is on the search path of the environment when rc.local 
is run. I never assume, so I'd use the full path to "xl". Avoid 
unexpected results!

This is a normal shell script, so you can do more complex things like:

   for vm in `ls /usr/something/my-xen-configs` ; do xl create $vm ; done

But this is getting dangerously close to automation ;-)

Regards, Frank.

More information about the freebsd-virtualization mailing list