Difference between revisions of "COLO - Coarse Grain Lock Stepping SLES"

From Xen
(Blanked the page)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
  +
{{WarningLeft|This page is deprecated!!!}}
  +
  +
This page contaions detailed instractions on how to setup COLO on SLES11-SP3.
  +
  +
= Host installation =
  +
  +
On both primary and secondary hosts:
  +
* Select "Xen Virtualization Host" when choosing host type.
  +
* On package selection, please include build-essential packages like make, gcc and so on.
  +
* After install the host OS, edit '/boot/grub/menu.lst', change the default booting option to Xen DOM0 kernel
  +
* Uninstall xen-tools package:
  +
<pre>yast2 --remove xen-tools</pre>
  +
* Edit /etc/modprobe.d/unsupported-modules, add the following line:
  +
<pre>allow_unsupported_modules 1</pre>
  +
* Add the following package source by using yast2:
  +
<pre>http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.3/repo/oss/suse/
  +
http://occonnect.dk/repo/$RCE/SLE11-SDK-SP3-Pool/sle-11-x86_64</pre>
  +
* Install git
  +
<pre>yast2 --install git</pre>
  +
* Download files that needed for next steps:
  +
<pre>git clone https://github.com/wencongyang/colo-files</pre>
  +
* Install RPMs under colo-files/libnl3
  +
* compile and install act_mirred module:
  +
<pre>#cd colo-files/act_mirred && make
  +
#mkdir /lib/modules/3.0.76-0.11-xen/updates/
  +
#cp act_mirred.ko /lib/modules/3.0.76-0.11-xen/updates/ && depmod</pre>
  +
* Download and [[Compiling_Xen|compile Xen]]
  +
<pre>Checkout xen-colo source
  +
#git clone https://github.com/wencongyang/xen
  +
#cd xen && git checkout colo-v4-noheartbeat
  +
Compile
  +
#./configure
  +
#make dist-xen; make dist-tools
  +
Patch qemu and rebuild xen-tools
  +
#cd tools/qemu-xen-dir/
  +
#git am /path-to/colo-files/patch_for_qemu/0001-Introduce-xen-load-devices-state.patch
  +
#cd ../../; make dist-tools
  +
Install xen and xen-tools
  +
#make install-xen; make install-tools
  +
#chkconfig xencommons on
  +
#reboot
  +
NOTE: There might be some missing dependance, the main missing packages are the following, please install these first:
  +
flex,python-devel, gettext-tools, dev86, libuuid-devel, libopenssl-devel, libyajl-devel, glib2-devel, libpixman-1-0-devel</pre>
  +
* Compile and install colo agent (only needed on primary host)
  +
<pre>#git clone https://github.com/wencongyang/colo-agent
  +
#git checkout experimental
  +
#make
  +
#cp *.ko /lib/modules/3.0.76-0.11-xen/updates/ && depmod</pre>
  +
  +
= Guest installation =
  +
  +
Note the following steps should be done on primary host.
  +
* Needed settings in Guest config file:
  +
<pre>xen_platform_pci=0</pre>
  +
* Select 'Physical Machine' when choosing host type.
  +
  +
= Run COLO =
  +
Note the following steps should be done on primary host.
  +
* Copy the new installed guest image to secondary host. Note that the image should be put in the same directory as it's in primary host.
  +
* Load essential kernel modules:
  +
<pre>modprobe ifb numifbs=10
  +
modprobe sch_colo
  +
modprobe sch_colo_ipv4
  +
modprobe sch_colo_arp
  +
modprobe sch_colo_icmp
  +
modprobe sch_colo_tcp
  +
modprobe sch_colo_udp</pre>
  +
* Modify the guest config file:
  +
** disk
  +
<pre>disk = [ 'format=raw,devtype=disk,access=w,vdev=hda,backendtype=tap,filter=colo,filter-params=192.168.3.1:9000,target=/root/images/hvm/hvm_nopv/hvm.img' ]</pre>
  +
** nic
  +
<pre>vif = [ 'mac=00:16:4f:00:00:11, bridge=br0, model=e1000, forwarddev=eth0' ]</pre>
  +
* Start guest
  +
* Run COLO
  +
<pre>xl remus -c -u <domname> <secondary host IP></pre>
  +
  +
[[Category:High Availability]]
  +
[[Category:Xen 4.5]]

Latest revision as of 14:13, 9 May 2016

Icon Ambox.png This page is deprecated!!!


This page contaions detailed instractions on how to setup COLO on SLES11-SP3.

Host installation

On both primary and secondary hosts:

  • Select "Xen Virtualization Host" when choosing host type.
  • On package selection, please include build-essential packages like make, gcc and so on.
  • After install the host OS, edit '/boot/grub/menu.lst', change the default booting option to Xen DOM0 kernel
  • Uninstall xen-tools package:
yast2 --remove xen-tools
  • Edit /etc/modprobe.d/unsupported-modules, add the following line:
allow_unsupported_modules 1
  • Add the following package source by using yast2:
http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.3/repo/oss/suse/
http://occonnect.dk/repo/$RCE/SLE11-SDK-SP3-Pool/sle-11-x86_64
  • Install git
yast2 --install git
  • Download files that needed for next steps:
git clone https://github.com/wencongyang/colo-files
  • Install RPMs under colo-files/libnl3
  • compile and install act_mirred module:
#cd colo-files/act_mirred && make
#mkdir /lib/modules/3.0.76-0.11-xen/updates/
#cp act_mirred.ko /lib/modules/3.0.76-0.11-xen/updates/ && depmod
Checkout xen-colo source
#git clone https://github.com/wencongyang/xen
#cd xen && git checkout colo-v4-noheartbeat
Compile
#./configure
#make dist-xen; make dist-tools
Patch qemu and rebuild xen-tools
#cd tools/qemu-xen-dir/
#git am /path-to/colo-files/patch_for_qemu/0001-Introduce-xen-load-devices-state.patch
#cd ../../; make dist-tools
Install xen and xen-tools
#make install-xen; make install-tools
#chkconfig xencommons on
#reboot
NOTE: There might be some missing dependance, the main missing packages are the following, please install these first:
flex,python-devel, gettext-tools, dev86, libuuid-devel, libopenssl-devel, libyajl-devel, glib2-devel, libpixman-1-0-devel
  • Compile and install colo agent (only needed on primary host)
#git clone https://github.com/wencongyang/colo-agent
#git checkout experimental
#make
#cp *.ko /lib/modules/3.0.76-0.11-xen/updates/ && depmod

Guest installation

Note the following steps should be done on primary host.

  • Needed settings in Guest config file:
xen_platform_pci=0
  • Select 'Physical Machine' when choosing host type.

Run COLO

Note the following steps should be done on primary host.

  • Copy the new installed guest image to secondary host. Note that the image should be put in the same directory as it's in primary host.
  • Load essential kernel modules:
modprobe ifb numifbs=10
modprobe sch_colo
modprobe sch_colo_ipv4
modprobe sch_colo_arp
modprobe sch_colo_icmp
modprobe sch_colo_tcp
modprobe sch_colo_udp
  • Modify the guest config file:
    • disk
disk = [ 'format=raw,devtype=disk,access=w,vdev=hda,backendtype=tap,filter=colo,filter-params=192.168.3.1:9000,target=/root/images/hvm/hvm_nopv/hvm.img' ]
    • nic
vif = [ 'mac=00:16:4f:00:00:11, bridge=br0, model=e1000, forwarddev=eth0' ]
  • Start guest
  • Run COLO
xl remus -c -u <domname> <secondary host IP>