Skip to main content

Virtual machines

Every VM operation is available from the web UI, the REST API (/api/v1/vms), machinactl and the Terraform provider, all over the same model.

Create​

New VM (top bar) walks through name, CPU and memory, disk source and network:

  • Disk sources: an ISO, a cloud image with cloud-init, a golden image built by the image pipeline (Packer, mkosi or virt-builder), or an existing volume.
  • Cloud-init: user, SSH keys, packages and user-data are injected on first boot.
  • Windows: Windows 10/11 golden images through dockur when [libvirt] dockur_windows_allowed = true.
  • Atlas storage: put the root disk on a Ceph RBD, NFS or ZFS volume when the Atlas integration is enabled.

Operate​

TaskWhere
Start, shut down, reboot, force offVM list row actions or VM detail header
ConsoleVM detail leads with a live console; noVNC, SPICE, serial and SSH (Consoles)
Change vCPUs, memory, balloon, boot orderVM detail actions
Disks and CD-ROMsVM detail → Disks (attach, detach, resize, insert ISO)
NetworksVM detail → Network (NICs, bridges, nwfilters)
DevicesVM detail → Devices (GPU and PCI passthrough, USB)
SnapshotsVM detail → Snapshots (create, revert, delete)
Guest policyVM detail → Guest policy (per-container eBPF policy)
Raw definitionVM detail → XML

Protect​

  • Snapshots for quick rollback.
  • Backups: on demand or nightly with machinactl backup enable; see Upgrade and backup.
  • HA: mark a VM HA-protected on the controller and it is restarted elsewhere when its host fails (Controller HA).

Move​

  • Live migration between hosts in a fleet, from VM detail or the API (a vm.migrate task). FluxVM VMs move the same way when they are QEMU VMs on a shared disk.
  • Clone a VM or turn it into a template.
  • Import from other platforms with hyper2kvm, checked offline by GuestKit.

Guest agent​

With the QEMU guest agent installed, Machina shows guest IPs, filesystems and health, and can freeze filesystems for consistent snapshots. GuestKit adds deeper diagnostics and per-container policy.