KLYRN VM / Blog

Moving a running machine: a 303 ms pause

KLYRN VM moves a running machine to another host with its disks. Measured on hardware: paused for 303 ms, the same boot, the payload identical.

· 1 min read · The KLYRN team

Operations

A host needs a kernel update, or is filling up, or is the one you want to retire. The machines on it belong to customers who did not ask for a restart. KLYRN VM moves a running machine to another host, disks included, from a button on the machine's page.

What was measured

A test guest wrote a heartbeat every 50 milliseconds and held a 64 MB file with a known checksum while it was moved. The guest was paused for 303 milliseconds. One ping of 167 was lost. The checksum matched afterwards, the boot id was the same, and the host it left was empty.

What the panel checks first

Press Move and every other host is checked before anything is copied. If none can take the machine, the dialog says so and lists why for each: not connected, not a host machines are placed on, not enough memory, a different processor maker. Nothing is half started.

When it cannot be live

A running machine cannot move live between an Intel host and an AMD one; that is a limit of KVM, not of the panel. For that case, and for a move that needs new addresses, there is a move with one restart. The disks are mirrored while the machine keeps running, it is shut down, started on the new host, and the old copy is removed only after the new one is proved. Measured between an Intel and an AMD host: off for about 7 seconds.

The part nobody tests until it bites

The first measured move paused for 319 ms and then lost 12 seconds of pings. Each host's bridge has its own hardware address behind the same gateway, and the network kept sending to the old one. The agent now announces the machine's new place the moment the move finishes. That fault was invisible to every test that only asked "did the machine arrive".

The tour shows the Move dialog.