Skip to main content

FluxVM vs. libvirt/virsh, and the backends

The virsh-to-fluxctl command mapping, and which backend to choose for what.

Back to README

vs. libvirt/virshโ€‹

FluxVM is the Zyvor host-local replacement for libvirt/virsh VM lifecycle and networking. It is not a drop-in for KubeVirt/OpenShift.

libvirt/virshFluxVMSame job?
virsh define + virsh startfluxctl createYes
virsh list / virsh dominfofluxctl list / fluxctl getYes
virsh suspend / virsh resumefluxctl pause / fluxctl resumeYes
virsh destroyfluxctl deleteYes
virsh rebootfluxctl restartYes
virsh domrename / metadatafluxctl rename-vm / fluxctl labelYes (labels drive -l selectors)
virsh consolefluxctl serial (websocket over REST too)Yes
virsh attach-disk / blockresize / detach-diskfluxctl disk attach|resize|detachYes (QEMU)
virsh snapshot-create / -list / -deletefluxctl snapshot / snapshot-list / snapshot-deleteYes (QEMU internal snapshots)
virsh backup-beginfluxctl backup [--all-disks]Yes (standalone qcow2)
virt-clonefluxctl clone-vmYes
virsh eventfluxctl events -f (SSE: /v1/events/stream)Yes
virsh -c qemu+ssh://hostfluxctl --server / fluxctl contextYes (REST, bearer token)
XML domain definitionsJSON VM spec (fluxctl create --spec vm.json)Different format, same purpose
No REST APIFull REST API (fluxctl serve)FluxVM adds this

No libvirtd and no XML: FluxVM speaks its own REST API and manages TAP/bridge/netns networking directly via netlink.


Backendsโ€‹

BackendBest for
QEMU/KVMBroad guest/device compatibility, qcow2 CoW overlays, QMP socket
Cloud HypervisorModern cloud workloads on a Rust VMM; direct-kernel or firmware boot
FirecrackerMicroVMs from a Linux kernel + raw root filesystem, with the jailer
FluxVM hypervisor ("backend":"flux-vm")Agent sandboxes: memory snapshots, /v1/sandboxes, guest HTTP proxy + AutoResume, L7 egress, AutoPause, /console. With fluxvm_engine = "kvm" it is a pure in-tree KVM VMM with no QEMU or Firecracker process: multi-vCPU (verified at 2/4/8), pause/snapshot across all vCPUs, virtio queues on ioeventfd, direct-kernel boot from a raw ext4 โ€” docs/native-kvm-no-qemu.md ยท docs/agent-sandbox-gaps.md
procbox ("procbox": {} on /v1/sandboxes)The lightest tier: a rootless Landlock + seccomp process sandbox on the host kernel (no VM, no root; a weaker boundary than a microVM, off by default) โ€” docs/procbox.md ยท docs/procbox-backend.md