Mastodon Mastodon Mastodon Systeemkabouter blog – Deploying my first virtual machines on top of OpenBSD vmm

Deploying my first virtual machines on top of OpenBSD vmm

Posted on do 06 november 2025 in runbsd

After installing the MacBook Pro with OpenBSD and enabling the virtualization software on it by enabling 'vmd', it took a couple of days to find some time to work on the #RUNBSD project.

Today I did get the macbook to do ethernet bridging, so the virtual machines that I will deploy will be on the runbsd network and not on some isolated host-only virtual network. I found it somewhat confusing that when adding your physical interface to a software bridge, you still configure the host IP on the physical interface and not the bridge interface. In Linux, where I have used the bridging software for all sorts of things, you configure the host IP on top of the bridge. I may have misunderstood how to do this in OpenBSD though.

I would be tempted to start posting commands and configfiles and such. But honestly, the best advice you can get from me is to just rely on the man pages and official documentation for OpenBSD. It is just good and has no surprises from what I have found up till this point. It is Great.

To make my life easier when running multiple OpenBSD instances, I decided to go back to managing the base operating system and its settings with ansible. The playbook can now be run without issues from both my Debian desktop and my OpenBSD laptop.

So three virtual machines are about ready to be configured with actual applications:

-bash-5.3$ doas vmctl show 
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
    3 94663     1    1.0G   1009M   ttyp2         root  running sync
    2 66639     1    4.0G    2.0G   ttyp1         root  running cloud
    1 17673     1    1.0G    1.1M   ttyp0         root  running got
-bash-5.3$ 

The ansible playbook makes sure my favorite utilities are installed, updates are deployed when needed and ssh access is setup in a secure way. There is a good chance that installing and configuring the actual applications on these virtual machines will be done by hand, especially if I don't expect to run multiple systems with the same setup.

Ansible is not the most efficient software, so the fan of the old MacBook will spin up if I run the ansible code in parallel on multiple instances on the same hardware :-)

PLAY RECAP **********************************************************************************************
cheetah.runbsd.eu          : ok=21   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
cloud.runbsd.eu            : ok=19   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
sync.runbsd.eu             : ok=19   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

With this out of the way, I can work on the next step: Installing syncthing, got and nextcloud :-). And when things work out, I might deploy snac again, as a very lightweight activitypub server.

RUNBSD