COLO - Coarse Grain Lock Stepping SLES: Difference between revisions
From Xen
Jump to navigationJump to search
Lars.kurth (talk | contribs) No edit summary |
(Blanked the page) |
||
Line 1: | Line 1: | ||
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]] |