VMD(8)

NAME
vmd - virtual machine daemon

SYNOPSIS
vmd [-dnv] [-D macro=value] [-f file]

DESCRIPTION
vmd is a daemon responsible for the execution of virtual machines (VMs) on a host. vmd is typically started at boot time and is controlled via vmctl(8).

To have vmd enabled at boot time, use “rcctl enable vmd”, which sets

    vmd_flags=""

in rc.conf.local(8).

vmd interfaces with the virtual machine monitor (VMM) built into the kernel. One instance of vmd will be spawned for each VM running on the host, plus extra instances for control operations. Each child vmd will in turn create one or more VCPU (virtual CPU) threads responsible for driving the VM's operations using vmm(4).

vmd is also responsible for proxying various other commands/requests from vmctl(8), such as stopping VMs, and retrieving information from vmm(4) about running VMs.

When the host machine is shut down, vmd sends each running VM a shutdown request via the vmmci(4) device. If the VMs are vmmci-aware, this provides each VM the chance to shut down cleanly in anticipation of host shutdown. During shutdown, vmd waits 30 seconds for the VMs to terminate cleanly before forcibly stopping them. This 30 second default can be changed by “rcctl set vmd timeout n”, where 'n' is the desired timeout in seconds.

The options are as follows:

-D macro=value
    Define macro to be set to value on the command line. Overrides the definition of macro in the configuration file.

-d  Do not daemonize and log to stderr.

-f file
    Specify an alternative configuration file. The default is /etc/vm.conf.

-n  Configtest mode. Only check the configuration file for validity.

-v  Verbose mode. Multiple -v options increase the verbosity.

FILES
/etc/firmware/vmm-bios
    Default BIOS boot image. The BIOS is an external firmware file that is distributed separately due to an incompatible license. A prepackaged version of the firmware can be installed using fw_update(8).
/etc/vm.conf
    Default configuration file. This is optional.
/var/run/vmd.sock
    UNIX-domain socket used for communication with vmctl(8).

SEE ALSO
vmm(4), vmmci(4), vm.conf(5), rc.conf(8), vmctl(8)

HISTORY
The vmd command first appeared in OpenBSD 5.9.

AUTHORS
-nosplit Mike Larkin <mlarkin@openbsd.org> and Reyk Floeter <reyk@openbsd.org>.