Live Migration¶
What "live migration" means here¶
A real live migration keeps the guest running while its memory and disk state move to another hypervisor, with a short, bounded pause at the switchover. It is not "a migration that happens to be fast", and it is not a cold migration with a smaller stop window.
The panel implements the orchestration and capability gating for live
migration. It emits the semantic MIGRATION_LIVE task; the actual live move is
performed by the agent/driver.
Modes¶
| Mode | Behaviour |
|---|---|
LIVE_REQUIRED |
Fails preflight if the target does not advertise live_migration. Never downgrades to cold. |
LIVE_IF_POSSIBLE |
Uses live when the target supports it, otherwise a warning and a cold move is planned. |
AUTO |
Chooses live when possible and policy allows, otherwise cold. |
COLD |
Never live. |
A LIVE_REQUIRED request against a non-live target produces a
PROVIDER_CAPABILITY_MISSING blocker and eligible=false.
Restrictions¶
- The target must advertise the
live_migrationcapability (a panel-trusted field synced from the agent). - Host-bound resources cannot live-migrate: CPU host-passthrough, GPU/PCI passthrough and (by default) strict NUMA/hugepage/hardware requirements are hard blockers.
- A same-IP cross-node move is not atomic: the source route is removed before the target route is applied, so a brief network interruption is recorded.
- Live migration of a guest with local-only storage is not possible without a disk copy; the storage plan decides whether a copy is required.
Policy¶
MigrationPolicy.allow_live gates whether live modes are offered at all. The
live_timeout bounds a live attempt. The panel reports the requested downtime
posture; the orchestrator confirms capability at execute time.
Honesty¶
- Mock-tested: capability gating,
LIVE_REQUIREDhard-fail, no silent downgrade, warnings separated from blockers, downtime class reporting. - NOT TESTED on hardware: no real QEMU/libvirt live migration has been performed or measured. There are no downtime, throughput or convergence claims. Treat live migration as capability-gated but hardware-unproven.