The virtualization landscape changed.
The company behind the most popular hypervisor was acquired.
The licensing and the agreements changed.
Businesses had to choose: stay & pay – or escape.
In this turbulent market new competitors surfaced.
New virtualization providers strengthened their position.
The Decision
Migrating from an entire ecosystem to another hypervisor is not easy.
The decision was tough. For many.
What are requirements? What are optional?
- Commercial support?
- Clustering?
- Backup solutions?
- Type 1 or type 2?
- Operating System preference?
Most small and medium businesses only need stability. Clarity.
A lot of the businesses don’t even require virtualization.
For those who need simple virtualization – a silent solution is almost invisible:
The Strong Base – FreeBSD & ZFS
FreeBSD is a strong choice.
ZFS is included. Its installer supports it by default.
It’s not better or worse than others. It’s different.
An architecture from the Unix world.
It is known for stability and predictable performance.
Bhyve is the hypervisor of FreeBSD.
Install Bhyve
You can install Bhyve simply as a binary package with pkg:
pkg install bhyve-firmware vm-bhyve
Enable the service and configure the ZFS dataset for virtual machines:
sysrc vm_enable="YES"sysrc vm_dir="zfs:vmpool/vms"
Load the necessary kernel modules if they’re not already loaded:
kldload vmmkldload nmdm
Make them permanent:
echo 'vmm_load="YES"' >> /boot/loader.confecho 'nmdm_load="YES"' >> /boot/loader.conf
Start the service:
service vm start
Initialize the vm tool configuration:
vm init
Follow the interactive configuration.
Copy the virtual machine configuration templates to the virtual machine dataset:
cp /usr/local/share/examples/vm-bhyve/* /vmpool/vms/.templates/
These files will determine the initial configuration of a virtual machine.
You can create or modify templates for yourself.
Configure basic networking by creating a switch and attaching the physical network interface:
vm switch create publicvm switch add public em0
Replace em0 with the name of your physical network interface.
You now have a functional Bhyve hypervisor.
Install Debian Linux As A Bhyve Guest
Download a Debian Linux ISO.
You can do it with the vm iso command:
vm iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.5.0-amd64-netinst.iso
Create a virtual machine called debian with the vm create command:
vm create -t linux-zvol debian
Edit the configuration of the virtual machine.
You can change the default editor with the EDITOR environment variable:
export EDITOR=vimvm edit debian
Adjust the memory and CPU count.
Enable the VNC access in the configuration.
Begin the installation process with the vm install command:
vm install debian debian-13.5.0-amd64-netinst.iso
Connect with a VNC viewer.
Perform the installation.
Now you have a functional Debian Linux running on FreeBSD in Bhyve.
Snapshots
Snapshots are standard ZFS snapshots managed through vm.
The solution is integrated with vm:
vm snapshot debian@snapshot1
Then the vm info option will show the snapshots:
vm info debian
You can delete the snapshots with the zfs destroy command.
GUI
Sylve is an experimental management interface for Bhyve.
You can install it with pkg:
pkg install sylve
Enable the service:
sysrc sylve_enable="YES"
Start it:
service sylve start
Navigate to https://localhost:8181 and log in with admin/admin.
More documentation about the configuration is available online.
Final Thoughts
Bhyve is not targeted at the same enterprise ecosystem as VMware or Hyper-V.
It’s a silent, independent system built for performance and stability.
It’s easy to install and easy to manage.
The real advantage is having:
- FreeBSD as a base.
- ZFS as a storage system.
- Jails for lightweight compartmentalization.
- Bhyve as a hypervisor.
Discover more from Tom's IT Cafe
Subscribe to get the latest posts sent to your email.