由于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