Project Remus Released

From xen-devel mailing list:

I’m happy to finally release Remus into the wild:

http://dsg.cs.ubc.ca/remus/

Remus provides transparent, comprehensive high availability to ordinary virtual machines running on the Xen virtual machine monitor. It does this by maintaining a completely up-to-date copy of a running VM on a backup server, which automatically activates if the primary server fails. Key features:

* The backup VM is an exact copy of the primary VM. When failure
happens, it continues running on the backup host as if failure had
never occurred.
* The backup is completely up-to-date. Even active TCP sessions are
maintained without interruption.
* Protection is transparent. Existing guests can be protected
without modifying them in any way.

The NSDI paper at http://dsg.cs.ubc.ca/remus/papers/remus-nsdi08.pdf
contains plenty of gore about how it works, and the source has even more.

This is an RFC release, meant to start a discussion on how it might be merged with Xen and Kemari. It is not by any means in shape for application to the Xen tree — right now it is optimized to be easy to port rather than elegant.

This is an old, but fairly stable, release against Xen 3.2, and it lacks HVM support. I hope to release a more up-to-date, HVM-capable version soon, but the port is not yet complete — maintaining synchronized patches between ioemu and the rest of the tool stack has become quite challenging since it switched to an external git repository, and we’re currently a bit short on manpower.