From: Ian Campbell <ian.campbell@citrix.com>
To: Changlong Xie <xiecl.fnst@cn.fujitsu.com>,
"Yu-An(Victor) Chen" <chen116@usc.edu>,
xen-devel@lists.xen.org
Cc: Wen Congyang <wency@cn.fujitsu.com>
Subject: Re: Patching error while setting up COLO
Date: Thu, 25 Feb 2016 10:31:37 +0000 [thread overview]
Message-ID: <1456396297.6225.191.camel@citrix.com> (raw)
In-Reply-To: <56CEC006.2050005@cn.fujitsu.com>
On Thu, 2016-02-25 at 16:49 +0800, Changlong Xie wrote:
> Sorry for this. Since we have no privilege to update the Wiki for a long
> time so most contents of this page are dated : (
Anyone can be granted access, it is only a manual process because of
spammers. Please create an account and then fill in the form at:
http://xenproject.org/component/content/article/100-misc/145-request-to-be-made-a-wiki-editor.html
>
> Anyway i'll write down detail steps here for colo on XEN.
>
> [Requirements]
> - Hardware
> There is at least one directly connected nic to forward the network
> requests from primary to secondary vm. The directly connected nic must
> not be used by any other purpose. If your guest has more than one nic,
> you should have directly connected nic for each guest nic. If you don't
> have enouth directly connected nic, you can use vlan.
>
> - Dom0
> 1. Kernel with dom0 support
> 2. kernel module
> nf_conntrack
> nf_conntrack_ipv4
> nf_nat
> libnl-tools >= 3.0.
> *Note*: If your host os has OEM-released xen tools, *MUST* uninstall it
> first.
>
> - Guest
> Only HVM guest(without pv extensions) is supported now. If you want to
> use OEM released guest os, please use SUSE(we use "SUSE Linux
> Enterprise Server 11" currently). REDHAT and Ubuntu is not supported
> now because I don't find any way to disable pv extensions. If you want
> to use REDHAT or Ubuntu, you need to build the newest kernel which has
> the parameter xen_nopv.
>
>
> [SETUP]
> - Network link topology
> ref: http://wiki.xenproject.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
>
> - Test environment prepare
>
> On both Primary/Secondary hosts:
> 1.
> cd ~
> git clone https://github.com/wencongyang/colo-proxy
> git clone https://github.com/macrosheep/iptables.git
> git clone https://github.com/torvalds/linux
> git clone https://github.com/wencongyang/qemu-colo
> git clone https://github.com/wencongyang/xen
>
> 2. Prepare host kernel for Dom0
> colo-proxy kernel module need cooperate with linux kernel. You should
> patch kernel with ~/colo-proxy/colo-patch-for-kernel.patch
> 1) cd ~/colo-proxy/; git checkout 405527cbfa9f
> 2) cd ~/linux/; git checkout v4.0; git am
> ~/colo-proxy/colo-patch-for-kernel.patch
> 3) cp /boot/config-3.0.76-0.11-xen .config; make menuconfig to config
> your kernel support Dom0.
> Ref: http://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs
> 4) make -j8; make modules_install; make install
> 5) reboot
>
> 3. build colo-proxy
> 1) cd ~/colo-proxy/; git checkout 405527cbfa9f; make; make install
>
> 4. build iptables
> 1) cd iptables; ./autogen.sh; ./configure --prefix=/usr/
> --libdir=/usr/lib64; make; make install
>
> 5. build qemu-colo
> 1) cd ~/qemu-colo/; git checkout colo-xen-v2
> 2)
> path_to_xen_source=~/xen
> ./configure --enable-xen --target-list=x86_64-softmmu \
> --extra-cflags="-I$path_to_xen_source/tools/include
> -I$path_to_xen_source/tools/libxc -I$path_to_xen_source/tools/xenstore" \
> --extra-ldflags="-L$path_to_xen_source/tools/libxc
> -L$path_to_xen_source/tools/xenstore"
> make -j4
>
> 6. build xen
> 1) cd ~/xen/; git checkout colo_v10
> 2)
> ./autogen.sh
> ./configure --enable-debug
> touch tools/libxl/libxlu_disk_l.l
> touch tools/libxl/libxlu_cfg_l.l
> make dist-xen -j8
> make dist-tools -j8
> make install-xen -j8
> make install-tools -j8
>
> 7. configure /boot/grub/menu.list to support xen, then reboot
>
> [ Run COLO ]
>
> 1.
> on primary:
> rm -f /var/log/xen/*
> rm -f /var/lib/xen/userdata-d.*
> service xencommons start
> modprobe nf_conntrack_ipv4
> modprobe xt_PMYCOLO sec_dev=eth1
>
> on secondary:
> rm -f /var/log/xen/*
> rm -f /var/lib/xen/userdata-d.*
> service xencommons start
> modprobe xt_SECCOLO
> active_disk=/mnt/ramfs/active_disk.img
> hidden_disk=/mnt/ramfs/hidden_disk.img
> local_img=/root/xie/suse-64hvm.img
> tmp_disk_size=`./qemu-colo/qemu-img info $local_img |grep 'virtual size'
> > awk '{print $3}'`
> rm -rf /mnt/ramfs/*
> umount /mnt/ramfs/
> rm -rf /mnt/ramfs/
> mkdir /mnt/ramfs
> function create_image()
> {
> /root/xie/xen/tools/qemu-xen-dir/qemu-img create -f qcow2 $1
> $tmp_disk_size
> }
> function prepare_temp_images()
> {
> grep -q "^none /mnt/ramfs ramfs" /proc/mounts
> if [[ $? -ne 0 ]]; then
> mount -t ramfs none /mnt/ramfs/ -o size=2G
> fi
>
> if [[ ! -e $active_disk ]]; then
> create_image $active_disk
> fi
>
> if [[ ! -e $hidden_disk ]]; then
> create_image $hidden_disk
> fi
> }
> prepare_temp_images
>
> 2. on primary
> xl cr hvm_nopv_colo
> sleep 10
> xl pause hvm_nopv_colo
> xl remus -c -u hvm_nopv_colo 192.168.3.2
>
> hvm_nopv_colo attached.
>
>
> That's all, good luck ; )
>
> Thanks
> -Xie
>
> > Victor
> >
> >
> >
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> >
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-02-25 10:31 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 5:17 Patching error while setting up COLO Yu-An(Victor) Chen
2016-02-25 8:49 ` Changlong Xie
2016-02-25 10:31 ` Ian Campbell [this message]
2016-02-26 2:38 ` Changlong Xie
2016-02-26 3:38 ` Yu-An(Victor) Chen
2016-02-26 4:19 ` Changlong Xie
2016-02-26 4:55 ` Yu-An(Victor) Chen
2016-02-26 5:07 ` Changlong Xie
2016-03-03 9:39 ` Yu-An(Victor) Chen
2016-03-03 10:46 ` Wen Congyang
2016-03-04 2:01 ` Yu-An(Victor) Chen
2016-03-04 2:15 ` Wen Congyang
2016-03-05 1:51 ` Yu-An(Victor) Chen
2016-03-07 1:12 ` Wen Congyang
2016-03-08 22:57 ` Yu-An(Victor) Chen
2016-03-14 8:36 ` Changlong Xie
2016-03-16 6:06 ` Yu-An(Victor) Chen
2016-03-16 19:45 ` Yu-An(Victor) Chen
2016-03-17 1:41 ` Changlong Xie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1456396297.6225.191.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=chen116@usc.edu \
--cc=wency@cn.fujitsu.com \
--cc=xen-devel@lists.xen.org \
--cc=xiecl.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.