一、环境
系统:CentOS 6.3
Xen版本:4.1.2
Linux kernel:3.1.2
libvirt:0.7.7
资源地址
xen:http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
kernel:http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
libvirt:http://pkgs.Fedoraproject.org/repo/pkgs/libvirt/libvirt-0.7.7.tar.gz/5f315b0bf20e3964f7657ba1e630cd67/libvirt-0.7.7.tar.gz
libvirt所有的版本:http://pkgs.fedoraproject.org/repo/pkgs/libvirt/
xen和内核都是编译安装,libvirt也需要编译安装,因为6.0之后默认支持的虚拟化是KVM,源里面的libvirt默认是不支持xen的。
yum install libvirt 这种安装方式使用virt-install会出现错误:主机不支持任何虚拟化。
使用virt-manager会出现无法连接xen。
1、初始化环境
yum update
2、关闭selinux,xen不支持selinux。
vi /etc/selinux/config
SELINUX=disabled
3、安装必备软件包
- 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
4、安装xen
- tar zxvf xen-4.1.2.tar.gz
- cd xen-4.1.2
- make world
- make install
将xen加入启动脚本
- /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、安装Linux3.1.2内核
linux3.0之后已经默认支持xen,所以3.0之后的版本不需要安装xen-kernel内核补丁,直接编译内核就可以。
- tar jxf linux-3.1.2.tar.bz2
- cd linux-3.1.2
- make menuconfig
参数配置:
- Processor type and features --- >
- 选中Paravirtualized Guest Support
- Device Drivers --->
- XEN driver support --->
- [ * ] Xen memory balloon driver
- [ * ] Scrub pages before returning them to system
- <*> Xen /dev/xen/evtchn device
- [ * ] Backend driver support
- <*> Xen filesystem
- [ * ] Create compatibility mount point /proc/xen
- [ * ] Create xen entries under /sys/hypervisor
- <*> userspace grant access device driver
在.config文件中做如下修改,我在创建虚拟机的时候出现vif0错误。查找网上的资料说是下面两个没有修改。
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_NETDEV_BACKEND=m
编译安装
- make -j6
- make -j6 modules
- make -j6 modules_install
- make -j6 install
- depmod 3.1.2
注:-j参数是指定运行的线程数,没有用这个参数会慢特别多。建议使用节省编译时间。后面的数字根据自己的机器配置设置。详细参数可以查看man make
6、编译安装libvirt
- tar -zxvf libvirt-0.7.7.tar.gz
- ./configure
- make && make install
- 运行程序
- libvirt:libvirtd -d
7、修改启动项,使用xen内核启动
- vi /etc/grub.conf
默认会有一个3.1.2的启动项。基本是是这样的:
- title CentOS (3.1.2)
- root ***
- kernel /**********
- initrd /********
复制上面几行。title前面粘贴,在root和kernel之间插入一行kernel /xen.gz
修改kernel和initrd为module,修改后为:
- title xen (3.1.2)
- root ***
- kernel /xen.gz
- modul /**********
- modul /********
然后修改default=N这个,查看修改的这个title xen是第几个title,第一个则修改为default=0
第二个修改为default=1,依次类推。
reboot