Xen虚拟化平台安装
近些年来,虚拟化技术已经在很多的领域中得到了广泛的应用,由于其突出的优点,虚拟化技术受到工业界和学术界的共同关注和重视,同时也是当前计算机领域的一个热门研究方向。
xen是什么? 是英国剑桥大学计算机实验室开发的一种虚拟化平台,它和虚拟机密切结合,占用资源少,以高性能、占用资源少著称。
下面以在CentOS 6.4下为例介绍一下Xen虚拟化平台的安装过程
在安装Xen之前,做一些准备,下载如下的依赖包
1 yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel
2 yum install bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel
3 yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml texinfo
4 yum -y install openssl openssl-devel
5 yum -y install ncurses ncurses-*
6 yum -y install python-devel
这些依赖包是搭建平台所必须的,一旦系统中缺少这些依赖包便会在./configure以及make world时出现确实头文件等问题。
安装完以上的依赖包以后,去下载Xen源码,http://bits.xensource.com/oss-xen/release中可以选择自己喜欢的版本下载,例如我选择的Xen-4.2.0
下载完后解压安装
tar xvfz xen-4.2.0.tar.gz
cd xen-4.2.0
./configure
make -j n world (n为你编译时采用的线程数,服务器性能好的话可以多用几个线程编译,也可以缺省)
make -j n install
在./configure和make world过程中很容易出现问题,即缺少了依赖包,所以安装前确认已经安装了上述的依赖包,如果仍然出现其他问题,Google或百度即可
安装完成后,会在在/boot下面已经成功的生成了xen-4.2.0.gz的二进制文件。
然后将Xen加入启动步骤
1 /sbin/chkconfig –add xend
2 /sbin/chkconfig –add xencommons
3 /sbin/chkconfig –add xendomains
4 /sbin/chkconfig xend on
5 /sbin/chkconfig xendomains on
6 /sbin/chkconfig xencommons on
安装完Xen后需要为其编译一个支持Xen的内核,到Linux源码网站下下载自己想要的版本,我下载的为Linux-3.2.0
tar -jxvf linux-3.5.2.tar.bz2
make menuconfig
在配置内核时,进行如下选择
Processor type and features — >
选中Paravirtualized Guest Support
Device Drivers —>
Xen driver support —>
全部选*
保存后会生成.config文件,此时还需要进一步编辑该文件
vi .config
确认如下选项保证内核对Dom U的支持
CONFIG_HYPERVISOR_GUEST=y (3.10+ only)
CONFIG_PARAVIRT=y
CONFIG_XEN=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_HVC_DRIVER=y
CONFIG_HVC_XEN=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_XEN_TMEM=y
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
CONFIG_XEN_SELFBALLOONING=y
确认如下选项保证内核对Dom 0的支持
CONFIG_X86_IO_APIC=y
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y (optional)
CONFIG_XEN_DOM0=y
CONFIG_PCI_XEN=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
然后可以开始编译安装内核了 (命令都可以配上-j n来启动多线程编译)
make
make modules
make modules_install
make install
mkinitrd -v -f initramfs-3.2.0.img 3.2.0
编译好内核后,要把Xen以及新内核加入启动项grub中
title Xen (3..2.0-xen-4.2.0)
root (hd0,0)
kernel /xen-4.2.0.gz
module /vmlinuz-3.2.0 ro root=UUID=3f920108-b74b-46b9-81c2-aff834494381 rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-86 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
module /initramfs-3.2.0.img
可能module的配置不一样,请以内核写入的为准,不要照抄,否者将无法启动。
进入系统后可用xm list查看可以看到dom 0
安装完Xen以及Dom 0后可以开始安装虚拟机了。首先要为虚拟机分配一块空间,如果要在虚拟机中编译内核,那么分配的空间最好不要太小,个人推荐20G以上。对不需要编译内核的虚拟机一般10G就够用了。
dd if=/dev/zero of=/vm/hvm1.img bs=1024k count=20000
分好区后利用配置文件的方式安装虚拟机
为了方便远程安装,建议安装vncviewer。
如下为一个配置文件例子
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
device_module="/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 1024
name = 'hvm1'
vcpus=2
acpi=1
apic=1
pae=1
vif = [ '' ]
disk=['tap:aio:/vm/hvm1.img,hda,w','file:/root/f302/CentOS-5.5-i386-bin-DVD.iso,hdc:cdrom,r' ]
boot = 'dc'
serial='pty'#enable serial console
vnc=1
vncdisplay=1
vncunused=1
vnclisten="0.0.0.0"
on_reboot='restart'
on_crash='restart'
对于安装了VNC的机器便可以远程安装了。
对于配置文件无法安装的时候,建议查看一下BIOS是否禁用了处理器虚拟化支持选项
安装完成后,需要修改配置文件中的两行
disk = ['tap:aio:/vm/hvm1.img,hda,w']
#disk=['tap:aio:/vm/hvm1.img,hda,w','file:/root/f302/CentOS-5.5-i386-bin-DVD.iso,hdc:cdrom,r' ]
#boot = 'dc'
之后便可以愉快的使用虚拟化环境了
就这样了o(︶︿︶)o
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.