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
| Task | Where |
|---|---|
| Start, shut down, reboot, force off | VM list row actions or VM detail header |
| Console | VM detail leads with a live console; noVNC, SPICE, serial and SSH (Consoles) |
| Change vCPUs, memory, balloon, boot order | VM detail actions |
| Disks and CD-ROMs | VM detail → Disks (attach, detach, resize, insert ISO) |
| Networks | VM detail → Network (NICs, bridges, nwfilters) |
| Devices | VM detail → Devices (GPU and PCI passthrough, USB) |
| Snapshots | VM detail → Snapshots (create, revert, delete) |
| Guest policy | VM detail → Guest policy (per-container eBPF policy) |
| Raw definition | VM 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.migratetask). 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.