一、 準備工作
a) 一台計算機(是否支持intel-VT或AMD-V均可)
註:支持intel-VT或AMD-V技術可以實現全虛擬化(full virtualization),不支持的話只能實現半虛擬化(para-virtualization).
支持intel-vt的cpu型號:http://ark.intel.com/VTList.aspx
支持amd-v的cpu型號:http://nforcex.blogbus.com/logs/8039294.html
注2:查看cpu信息:# cat /proc/cpuinfo,從中能夠查看cpu的基本信息,包括型號等;查看cpu使用何種虛擬化技術:# lscpu,其中有一項virtualization type註明了使用的虛擬化技術.
注3:若當前主機的cpu支持虛擬化技術,但在lscpu的virtualization type項顯示“none”,這表示你的cpu的虛擬化技術沒有啟用.啟用虛擬化技術的方法是重啟主機並進入BIOS,找到virtualization technology或類似項並enable.
b) CentOS 6.0的iso安裝文件,minimal版本即可,下載地址:
http://www.centos.org/modules/tinycontent/index.php?id=30
c) Xen 4.1的tarball,最新版本是4.1.2,下載地址:
d) http://www.xen.org/products/xen_archives.html
e) linux-3.0 kernel的tarball,最新版本是3.0.4,下載地址:
http://www.kernel.org/
f) acpica的tarball,下載地址:
http://www.acpica.org/downloads/
g) dev86的rpm包,下載地址
i. x86_64: ftp://mirror.switch.ch/pool/2/mirror/fedora/linux/development/rawhide/x86_64/os/Packages/dev86-0.16.18-1.fc15.x86_64.rpm
ii. i386:ftp://ftp.funet.fi/pub/mirrors/ftp.redhat.com/redhat/linux/9/en/os/i386/RedHat/RPMS/dev86-0.16.3-8.i386.rpm
iii. i586 ftp://ftp.pbone.net/mirror/carroll.cac.psu.edu/pub/linux/distributions/mandrakelinux/official/10.0/i586/Mandrake/RPMS/dev86-0.16.3-2mdk.i586.rpm
iv. i686
二、 安裝CentOS 6.0
圖形化的安裝界面,只要按照提示進行設置即可.這裡值得注意的是存儲布局的配置.假設所有虛擬機鏡像都存儲在本地存儲中,則需要至少3個邏輯分區:
a) 主目錄分區,建議15G以上,掛載到”/”目錄.
b) Swap分區,根據內存大小分配.
c) 存儲虛擬機鏡像的分區.
三、 安裝依賴軟體(dependencies)
a) 升級yum
# yum update
b) 安裝一些基本軟體,比如wget、lrzsz(如果使用secureCRT的話)等等
# yum –y install wget lrzsz
c) 安裝一些xen所依賴的包
i. # yum –y install transfig tetex-latex ocaml ocaml-findlib hmaccalc ncurses-devel zlib-devel openssl-devel python-devel bridge-utils libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-xtrans-devel libuuid-devel readline-devel gcc gcc-gfortran gcc-c flex pcre-devel blas-devel lapack-devel curl-devel bison gperf gnuplot texinfo-tex tetex-dvips
ii. 安裝剛才下載的dev86的rpm
# rpm - i [包名].rpm
d) 安裝“開發工具”組 # yum groupinstall “Development Tools”
# yum –y groupinstall “Development Tools”
e) 編譯安裝acpica
i. 進入compiler目錄
# cd /acpica/compiler
ii. 編譯安裝
# make&&make install
四、 安裝Xen
a) 解壓縮tarball
# tar zxvf xen-4.1.x.tar.gz
b) 編譯安裝
i. # cd xen-4.1.x/
ii. # make world && make install
c) 將xen加入到啟動腳本
i. # chkconfig --add xencommons
ii. # chkconfig –add xend
iii. # chkconfig –add xendomains
iv. # chkconfig xencommons on
v. # chkconfig xend on
vi. # chkconfig xendomains on
註:一定要按照上述順序,xencommons必須在xend之前啟動
五、 安裝3.0內核
a) 解壓縮linux-3.0.x的tarball
# tar jxvf linux-3.0.x.tar.gz
b) 安裝配置
i. # cd linux-3.0.0
ii. # make menuconfig
iii. 進入一個菜單界面,選擇Device Drivers --> Xen driver support,並將所有項目都勾選成[*](用空格鍵勾選),保存,退出.
iv. # make&&make modules&&make modules_install&&make install&&depmod 3.0.x
註:32位系統上安裝會出現一個i2e_core的錯誤,但這不影響dom0的啟動.
六、 設置Grub
a) # vi /boot/grub/menu.lst
b) 更改之前的內容大致如下(以2.6.32為例)
……
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.0.4)
……
title CentOS Linux (2.6.32-71.29.1.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-71.29.1.el6.x86_64 ro root=UUID=ab9d8f92-40ce-476e-abc2-14489517db94 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /boot/initramfs-2.6.32-71.29.1.el6.x86_64.img
……
c) 更改后的內容如下,注意紅色字體
……
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.0.4)
root (hd0,0)
kernel /boot/xen-4.1.1.gz
module /boot/vmlinuz-3.0.4 ro root=UUID=ab9d8f92-40ce-476e-abc2-14489517db94 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
module /boot/initramfs-3.0.4.img
title CentOS Linux (2.6.32-71.29.1.el6.x86_64)
……
P.S. 總的來說,就是將默認啟動項變成新安裝的3.0內核,並將3.0內核的kernel從vmlinuz換做xen,而選來的vmlinuz變成一個module,下面這個.img文件也變成一個module.
P.P.S 在改grub之前最好先備份一下,這樣改殘了還可以重新從備份那個文件重新改一次.
七、 完工驗收
a) 重啟
# reboot
b) 查看dom0是否運行# xm list
c) 如果你看見下面的內容,說明xen的安裝啟動成功了
Name ID Mem VCPUs State Time(s)
Domain-0 0 6195 8 r----- 8449.4
八、 參考內容
a) 《centos6.0編譯安裝xen-4.1 linux3.0》
http://singlegod.blog.51cto.com/1909710/675330
b) Xen4.1 Release Notes
http://wiki.xen.org/xenwiki/Xen4.1?highlight=(xen 4.1)
[火星人 ] CentOS6下Xen 4.1的安裝(編譯linux3.0內核)已經有834次圍觀