Patrick Colp at the recent Xen Summit at Oracle described his project and has announced the release of the source code. From his email:
I’ve been working on VM snapshots/CoW for Xen (as seen at Xen Summit this year). I’m happy to release my first version.
There are some known issues with capturing page dirties for HVM guests. I think it’s related to the QEMU code (I believe I’m not catching the pages that QEMU dirties). However, it works with both 32-bit and 64-bit PV guests.
This release includes modifications to Linux, Xen, and some tools (a
library, FUSE fs, and testing tool).
The FUSE file system will take a snapshot if you try to create a file in
the directory you mount the xencowfs file system too.
The testing tool pauses a domain, enables CoW, takes a dump of the CoW image, takes two live memory dumps, unpauses the domain for a bit, then takes another CoW image. It compares all the images and reports on which pages are different.
These patches are against xen-unstable revision 19425, however I had no trouble patching them against the current revision of xen-unstable (19553).
Please remember this is an alpha release, so there is likely to be some
problems. Please let me know if you find any!