搭建Xen虛擬化環境

http://blog.csdn.net/chen_chun_guang/article/details/8499644

環境簡介:

硬件環境:intel i5處理器平臺(Sandy Brige)

軟件環境:Redhat 6.2 Enterprise (64bit)

 

1、 設置主板BIOS, 支持虛擬化技術

 

2、配置yum repo 環境

根據環境需要,配置/etc/profile.d/目錄中的repo環境

 

3、安裝公共軟件包

yum install screen vim wget tcpdump ntp ntpdate man smartmontools links lynx ethtool xorg-x11-xauth cmake ruby -y

 

4、安裝開發工具包

yum groupinstall "Development tools" "Additional Development" "Debugging Tools" "System administration tools" "Compatibility libraries" "Console internet tools" "Desktop Platform Development" -y

 

5、安裝編譯Xen需要的軟件包

yum install libaio-devel yajl yajl-devel libuuid-devel dev86 iasl trousers trousers-devel SDL-devel pciutils-devel mercurial -y

 

6、安裝最新的yajl軟件包

從下面的網址,下載最新的yajl軟件包

http://lloyd.github.com/yajl/

本文以1.0.12 版本爲例,編譯並安裝。

tar zxvf lloyd-yajl-1.0.12.tar.gz

 cd lloyd-yajl-17b1790

 ./configure

 make -j4

 make install

 

7、下載Xen 4.2源碼和3.4.0 Kernel

xen×××可以從下面網址得到:

http://xen.org/products/downloads.html

 

Kernel可以從下面網址得到:

http://kernel.org/

 

8、編譯Kernel

kernel默認虛擬化相關的驅動沒有打開,需要進行手動設置

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=y

CONFIG_XEN_PRIVILEGED_GUEST=y

CONFIG_XEN_BALLOON=y

CONFIG_XEN_SCRUB_PAGES=y

CONFIG_XEN_DEV_EVTCHN=y

CONFIG_XEN_GNTDEV=y

CONFIG_DMAR_TABLE=y

CONFIG_INTEL_IOMMU=y

CONFIG_INTEL_IOMMU_DEFAULT_ON=y

CONFIG_INTEL_IOMMU_FLOPPY_WA=y

CONFIG_IOMMU_API=y

如果是3..4.0也可以參考附件中的配置文件

 http://download.csdn.net/detail/chen_chun_guang/4992614

編譯kernel:

make -j8

make modules_install

拷貝編譯好的3.4.0+kernel和initramfs到/boot文件夾下

cp arch/x86_64/boot/bzImage /boot/vmlinux-3..40

 mkinitrd -f /boot/initramfs-3.4.0+  3.4.0+

 

編譯Xen 4.2

make xen -j8

make tools -j8

make install-xen

make install-tools

拷貝xen.gz到/boot目錄下

 cp xen/xen.gz /boot/

 

9、配置grub信息

title Xen

root (hd0,0)

kernel /boot/xen.gz dom0_mem=1024M iommu=1 msi=1 hap_1gb=1

module /boot/vmlinuz-3.4.0 ro root=/dev/sda1

module /boot/initramfs-3.4.0+

 

10、重啓系統進入xen選項

啓動完畢後,就進入了dom0環境了

啓動xen服務:

/etc/init.d/xencommons start

 

11、啓動xen guest

對於xen來說,有兩種guest類型,一種是PV guest ,另外一種是HVM guest方式。

xen Guest啓動,需要配置HVM配置文件

配置文件可以參考下面的文件:

/etc/xen/xmexample.hvm

對於PV guest ,配置文件一般放置在下面的目錄。

 /etc/xen/xlexample.pvlinux

創建guest 可以通過下面命令

xl  create  xmexample.hvm

xl  create  xlexample.pvlinux

12、 配置guest disk

有兩種配置guest disk的方式,一種是直接使用origin guest的p_w_picpath,另外一種是使用qcow生成guest p_w_picpath 的qcow。第一種方式,任何修改均會改動origin的內容,而第二種方式,任何修改只會改動qcow文件的內容,不會修改origin p_w_picpath 的內容。

第一種方式方式的disk 配置

 

disk = [ '/home/p_w_picpaths/ia32e_ent.img,raw,xvda,rw' ]

第二種方式需要先使用origin文件ia32e_ent.img創建qcow2格式的 文件rhel6u2.qcow。

qemu-img-xen create -b /home/p_w_picpaths/ia32e_ent.img  -f qcow2  /root/rhel6u2.qcow

disk配置如下

disk = [ 'tap:qcow2:/root/rhel6u2.qcow,hda,w' ]

 

13、連接啓動的guest

有兩種方式顯示guest 的啓動過程,一種是sdl,另外一種是VNC,使用哪種方式需要在配置文件中設置。

下面介紹下使用vnc連接的方式。

首先需要安裝vnc rpm包

yum install tigervnc.x86_64 tigervnc-server.x86_64 -y

要使用vnc需要關閉防火牆

輸入命令  setup

設置firewall  disable

另外還需要關閉selinux,編輯配置文件,設置爲SELINUX=disabled

vim /etc/selinux/config

 

啓動後的guest,用xl list查看爲

使用vnc登陸到guest,可以使用下面命令

xl  vnc  vmid

像上面這個例子,guest ID 爲1, 就可以使用xl vnc 1登陸到 guest 的vnc桌面。

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