[vm-bhyve] adding existing vm instances to the vm-bhyve system
Rodney W. Grimes
freebsd-rwg at gndrsh.dnsmgr.net
Sun May 12 17:27:42 UTC 2019
> Hi,
>
> How would one import a freebsd or linux vm currently running on a
> freebsd-12 server into vm-bhyve management? I can see lots of
> instructions for starting from fresh, but none for import of existing.
> Is this possible?
>
> The guests are currently running as per
> https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/virtualization-host-bhyve.html
> in screen. Some guests are file-backed, others zvol-backed.
>
> thanks,
> J.
This is possible, and not overly complex, but also non-trivial to do.
First some preliminary data collection and issue resolution needs to
be done.
a) vm-bhyve assumes each vm lives in a directory by itself, and the
collection of vm's all share a common parent. If your setup is
not like this you need to try and bring it to this form.
b) vm-bhybe wants to, but does not have to, manage all your tap
devices, creating and destroying them as you go, sorting this
out between /etc/rc.conf methods and vm-bhyve methods can be
messy if you have done anything very fancy.
The mechanics once this much is done is a matter of writting a
fairly direct translation of your bhyve(8) command into a .conf
file that vm-bhyve uses.
Something like this for my
more fb-bld-13-amd64/fb-bld-13-amd64.conf
(Note: The directory name and .conf file name must match for
vm-bhyve to work, which makes an easy way to make vms disappear
from its management by changing either name)
loader="bhyveload"
cpu=4
memory=2048M
network0_type="virtio-net"
network0_switch="trunked"
#disk0_name="/home/ISO/x/FreeBSD-13.0-CURRENT-amd64-20181213-r342020-disc1.iso"
#disk0_dev="custom"
#disk0_type="ahci-hd"
disk0_type="ahci-hd"
disk0_name="disk0.img"
wiredmem=1
network0_mac="58:9c:fc:00:ce:7f"
I picked this sample specifically as it shows how to refer to a "disk"
that is not in the home directory of the vm by using the _dev=custom
option, which you may very well need to do for some of your vms.
You do not need to put the *_mac stuff in there, vmbhyve well automagically
add those for you.
Personally I have migrated both my self managed bhyve stuff, and almost all of
my ESXi based FreeBSD vm's to vm-bhyve.
--
Rod Grimes rgrimes at freebsd.org
More information about the freebsd-virtualization
mailing list