Decided to cut out the "checkpoint" section from migration, on the grounds that we couldn't get it to work. Maybe we'll get it to work soon?
In the meantime, here it is!
Checkpointing
a Domain with xm save
As
we mentioned previously, xm
save
halts a domain in the process of writing its internal state to a save
file, and rebuilds it entirely when the save file is restored. With
recent versions of Xen, however, the save command supports an option
to keep the machine running after it's been saved - a feature
called "checkpointing."
Checkpoint
a domain thus:
#
xm save -c <domain> <checkpoint file>
After
the checkpoint's been saved, the domain will continue running.
Although
the principle of checkpointing seems simple, it's tricky to actually
get it to work in practice. The problem is that the running domain
will continue to modify its storage, which causes the saved state to
be out of sync with the backing store.
To
avoid this problem, you can use a script that hooks into Xen's
external device migration framework to checkpoint the domain storage
during the save process, as described in the textbox.
[textbox
title: Device Migration Hooks]
Xen
includes the option of calling an external device migration script at
each step of a save or migrate. Although the feature was originally
added for the sake of TPM migration, it's since been extended to
migrating arbitrary devices.
Enable
the external-device-migrate script by setting the
external-migration-tool directive in /etc/xen/xend-config.sxp. Most
likely you'll want to set (external-migration-tool
'external-device-migrate') and let
that script source appropriate scripts for external devices.
[end
textbox]