mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
This patch adds the machinery required for protecting a guest's
disk state, when the guest disk uses a DRBD disk backend.
This patch comprises of two parts:
1. Hotplug scripts: The block-drbd-probe script is responsible for
performing sanity checks on the state of the DRBD disk before the
checkpointing process begins. This script should be invoked by
libxl for each of the guest's disk devices, when starting Remus.
2. Remus drbd disk device: Implements the interfaces required by the
remus abstract device layer. A note about the implementation:
a) setup() is called for each disk attached to the guest.
During setup():
i) The hotplug script is called to perform the sanity check.
ii) Libxl obtains a handle to the DRBD device (/dev/drbd*) and
and subsequently controls disk checkpoint replication using
this handle in the checkpoint callbacks.
c) The preresume() checkpoint callback is executed asynchronously
using libxl__ev_child_fork(), as it may potentially block for more
than few seconds in case of backup failure.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
21 lines
1.1 KiB
Plaintext
21 lines
1.1 KiB
Plaintext
Remus provides fault tolerance for virtual machines by sending continuous
|
|
checkpoints to a backup, which will activate if the target VM fails.
|
|
|
|
See the website at http://wiki.xen.org/wiki/Remus for details.
|
|
|
|
Using Remus with libxl on Xen 4.5 and higher:
|
|
To enable network buffering, you need libnl 3.2.8
|
|
or higher along with the development headers and command line utilities.
|
|
If your distro does not have the appropriate libnl3 version, you can find
|
|
the latest source tarball of libnl3 at http://www.carisma.slowglass.com/~tgr/libnl/
|
|
|
|
Disk replication:
|
|
VMs protected by Remus need to use DRBD based disk backends. Specifically, you
|
|
need a compile and install a custom version of DRBD, that is available publicly
|
|
at https://github.com/rshriram/remus-drbd
|
|
This code is based on DRBD 8.3.11 and uses a new replication protocol (named
|
|
protocol D) for asynchronous disk checkpoint replication. A protected VM's DRBD
|
|
disks on the primary and backup hosts need to be configured to use protocol D
|
|
as the replication protocol. An example resource configuration file can be found
|
|
in the aforementioned github repository.
|