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