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軟件包
本文以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可以從下面網址得到:
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桌面。