On Wed, Dec 22, 2010 at 12:43 PM, Tomer Margalit <tomermarga...@gmail.com> wrote: > What I would like to add to it is the ability to asynchronously mirror a > (QEMU) VM as well, so that if the primary site crashes, the VM can be > restored (to the last stable point) immediately. > Since I want it to be as general as possible, I will not rely on my mirror, > but only on there being a virtual block device that is mirroring me (and > that has consistent writes (that is, if write A succeeded, and afterwards > write B succeeded, then if B is on the secondary site, then A must be there > too)), and that there is some kind of marking mechanism (so that I can mark > the last consistent state). > The reason I want to do this using QEMU is that it has live migration - > which is almost what I need. > Right now my plan is to treat the memory as a file, and put it and all the > vm images on the same mirroring block device.
Have you looked at Kemari for KVM (try searching qemu-devel)? It builds a fault tolerance mechanism on top of live migration. Memory, disk, and network changes are sent to a secondary machine which passively tracks the state of the VM. You can fail over to the last completed transaction state. Sounds similar to what you want to do. Stefan