Remus dom0 requirements
Remus requires a kernel that can run Xen and also has the following kernel modules:
- sch_plug
- sch_prio
- sch_ingress
- cls_basic
- cls_tcindex
- cls_u32
- act_mirred
- ifb
For testing you can run Remus with '--no-net' if you don't have these modules, but would like to try it out anyways without the networking buffering (see http://nss.cs.ubc.ca/remus/doc.html).
Known working dom0s
- Ubuntu 12.10 (tested using 3.5.0-23-generic)
See Install Xen 4.1.4 with Remus and DRBD on Ubuntu 12.10 for a full build example.
Modern Kernels
Upstream Linux 3.5+ includes the required modules natively, which can usually be enabled by listing them in /etc/modules. Verify you have each module using 'modprobe' first.
Please note, at the time of writing (Xen 4.1.4 and Xen 4.2.1 being the latest releases), the Xen Remus code needs a patch (supplied by Shriram Rajagopalan) to work correctly with the sch_plug driver built-in to Linux 3.5.
cd /home/user/xen4.1.4 (or xen4.2.1) wget http://download.locatrix.com/xen/remus-qdisc-py.patch patch -p1 < remus-qdisc-py.patch <build/install per normal>
Older kernels
Config options for Linux 2.6.32 pvops dom0 kernel for Remus
This is example is based on Linux 2.6.32 pvops (jeremy's xen.git xen/stable-2.6.32.x branch).
These are the .config options required by Remus:
CONFIG_IFB=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_FILTER=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCH_PLUG=m CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_U32=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_MIRRED=m
Using Linux kernel v3.x (< v3.5) as dom0 kernel for Remus Xen hosts
Upstream Linux v3.x kernel (< v3.5) contains Xen pvops dom0 support, but it does not contain "sch_plug" driver which is required for Remus. It's possible to manually add that driver to your custom upstream Linux v3.x kernel build. The "sch_plug" driver is available for example from: http://pasik.reaktio.net/xen/remus/linux3x/ .