天天看點

在CentOS6.5上源碼編譯安裝Xen4.2.0

由于RedHat在RHEL6放棄Xen,想要在CentOS6.x上安裝Xen,隻能通過源碼編譯或者第三方軟體源的方式,但是如果想要使用自己修改過的Xen,就隻能使用源碼編譯安裝的方式。

1.關閉selinux,xen不支援selinux。

#vi /etc/selinux/config

設定SELINUX=disabled

2.安裝必備軟體包

#yum -y groupinstall "Development Libraries"

#yum -y groupinstall "Development Tools"

#yum -y install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel

#yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml

#yum -y install openssl openssl-devel

#yum -y install ncurses ncurses-*

 #yum -y install python-devel

#yum -y install vim wget tcpdump ntp ntpdate man smartmontools links lynx ethtool xorg-x11-xauth

#yum groupinstall "Development Libraries"

#yum groupinstall "Development Tools"

#yum install transfig wget tar less texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel

#yum install pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo

#yum install libidn-devel yajl yajl-devel ocaml ocaml-findlib ocaml-findlib-devel python-devel uuid-devel libuuid-devel openssl-devel

#yum install glibc-devel.i686

#yum install libvirt python-virtinst

需要安裝的軟體包比較多,網上有幾個教程不盡相同,是以把所有可能的軟體包都列出來,不一定都需要,運作./configure時遇見could not find yajl的情況 注意後面幾個軟體包

3.安裝xen

去官方下載下傳源碼包 www.xenproject.org/downloads/xen-archives/supported-xen-42-series/xen-420.html

#tar -zxvf xen-4.2.0.tar.gz

#cd xen-4.2.0-rc2

#./configure

#make xen

#make tools

#make stubdom

#make install

可以加入-j4參數使其四核編譯

4.添加啟動項

#/sbin/chkconfig --add xend

#/sbin/chkconfig --add xencommons

#/sbin/chkconfig --add xendomains

#/sbin/chkconfig xend on

#/sbin/chkconfig xendomains on

#/sbin/chkconfig xencommons on

5.安裝Linux核心

去官方下載下傳新核心 www.kernel.org/pub/linux/kernel/v3.x/

#tar zxvf linux-3.9.2.tar.gz

#cd linux-3.9.2

#make menuconfig

配置核心時要注意把支援Xen的相關選項選上

-> Processor type and features

-> Paravirtualized guest support

Select all features.

Location:

-> Device Drivers

-> Block devices

Select the two features “Xen virtual block device support” and “Xen block-device backend driver”

Location:

-> Device Drivers

-> Xen driver support

Select all features.

Location:

-> Device Drivers

-> Network device support

Select the two features “Xen network device frontend driver” and “Xen backend network device”

#make bzImage

#make modules

#make modules_install

#cp -a arch/x86/boot/bzImage /boot/vmlinuz-3.9.2

#cp -a System.map /boot/System.map-3.9.2

#cp -a .config /boot/config-3.9.2

#depmod -a

#mkinitrd /boot/initrd.img-3.9.2 3.9.2

關于核心編譯的工作在前面一篇博文中提到了

6.修改grub

形如

title Xen 4.2.0 / Kernel 3.9.2

root (hd0,0)

kernel /xen.gz

module /vmlinuz-3.9.2

module /initrd.img-3.9.2

注意第三行,xen.gz在/boot裡

#reboot

進入新核心

#xm info

檢視Xen版本

#xm list

檢視Dom0情況

7.安裝libvirt及虛拟機管理工具

由于centos6.x預設支援的是kvm,是以yum直接安裝的libvirt也不能支援xen,libvirt也需要源碼安裝。

#tar zxvf libvirt-1.1.2.tar.gz

#cd libvirt-1.1.2

#./configure

#make

#make install

在運作./configure時注意缺什麼補什麼,重裝時要删除幹淨。

#yum install virt-manager

#yum install virt-viewer

#virt-manager

運作虛拟機管理工具,提示Import Error: No module named libvirtmod

檢視/usr/lib64/python2.4/site-packages/中沒有下面複制的三個檔案,否則将

/usr/local/lib64/python2.4/site-packages/libvirtmod.la

/usr/local/lib64/python2.4/site-packages/libvirtmod.so

/usr/local/lib64/python2.4/site-packages/libvirt.py

複制到

/usr/lib64/python2.4/site-packages/下

參考http://blog.csdn.net/lancer_eva/article/details/6064740

運作虛拟機管理工具,遇到連接配接不上的情況,Unable to connect to 'localhost:8000': Connection refused

在/etc/xen/xend-config.sxp中,找到下面語句修改

(xend-unix-server no)

(xend-unix-path /var/lib/xend/xend-socket)

(xend-unix-server yes)

就算解決了上述錯誤,總是提示其他各種各樣的錯誤,最接近的一次是在安裝DomU的時候沒有可用的網絡連接配接選項,最後還是放棄了。

參考如下

http://www.rsreese.com/installing-xen-on-centos-6-from-source/

http://www.360doc.com/content/12/0507/14/9318309_209245559.shtml

http://liuzhijun.iteye.com/blog/1728617

http://www.cnblogs.com/liuan/archive/2012/06/13/2548558.html

http://blog.csdn.net/zklth/article/details/6339766