mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
XSA-302 relies on the use of libxl's "assignable-add" feature to prepare devices to be assigned to untrusted guests. Unfortunately, this is not considered a strictly required step for device assignment. The PCI passthrough documentation on the wiki describes alternate ways of preparing devices for assignment, and libvirt uses its own ways as well. Hosts where these alternate methods are used will still leave the system in a vulnerable state after the device comes back from a guest. Default to always quarantining PCI devices, but provide a command line option to revert back to prior behavior (such that people who both sufficiently trust their guests and want to be able to use devices in Dom0 again after they had been in use by a guest wouldn't need to "manually" move such devices back from DomIO to Dom0). This is XSA-306. Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Wei Liu <wl@xen.org>
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.