VMD(8) | System Manager's Manual | 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

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

September 24, 2024 | Debian