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                                                      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章