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.
For a full description and evaluation, see the following papers:
- 2011-12-20: Checkpoint Compression support is available
in upstream xen repository (xen-unstable). The XOR + RLE based
compression algorithm greatly reduces the replication bandwidth
while improving the network latency of protected Guest VMs.
- 2011-05-16: Remus now supports DRBD based disk backends.
See Documentation for more details.
- 2011-05-14: Remus now works with pvops domU
(2.6.32.x from linux-2.6-pvops.git in xenbit) and mainline kernels
2.6.39-rc7 onwards.
- 2010-06-22: Support for pvops dom0 has been
backported to xen-4.0-testing, to be included in Xen 4.0.1. pvops
domU is still unsupported.
- 2010-05-04: Support for pvops dom0 in
xen-unstable. With the newer kernel, Remus uses Linux's built-in
IFB module for network protection, rather than the third-party IMQ
patch. Note that pvops domU is still unsupported (use 2.6.18 or
HVM for guests).
- 2009-11-09: Remus has been applied to the official
Xen repository, and is expected to be included with the next major
release! Updated (simpler!) installation and usage instructions
coming soon.
- 2009-11-05: Remus 0.9 released! Now supports HVM, 64-on-32, 32-on-64, and
the latest version of xen-unstable (changeset 20399).
- 2009-05-14: Supports 64-on-64.
- 2009-05-11: Initial port to Xen unstable (now 3.4.0-rc4) completed.
- 2009-03-30: First release (against xen-3.2-testing).
Remus is feature-complete, supporting both PV and HVM, in 32 and
64-bit modes. But it is still young, and we have many improvements
in mind. Here's the short-term development plan:
- Clean up modifications to xc_domain_save:
- Remove ugly (but easier to maintain out-of-tree) gotos by
extracting per-round checkpoint code into a separate function.
- Abstract checkpoint output into user-specified function pointers.
- Adding support for checkpoint compression
- Integrating Remus with the xl toolstack with an
appropriate front end.
- Support external heartbeat monitors
(e.g., Linux-HA) as an
alternative to the simple, in-band monitor bundled with Remus.
As of 2009-11-09, Remus is included with Xen. Just install Xen as
usual (preferably from the unstable repository), and you should
have the remus tool in your bin directory.
If you are new to Xen or a novice Xen user, you can also follow this
detailed wiki on installing
and configuring Remus. Please use your discretion :).
Credits for this tutorial go to Gustavo Pimentel.
For usage instructions, see the documentation.