安裝和配置CentOS5下XEN虛擬機
說明:使用均為CentOS5的原始安裝介質,軟件包均使用沒有經過升級的版本,所有文件全部是安裝DVD自帶。初始安裝為最小化安裝,軟件包管理使用yum的方式,已經在本地做了yum庫。本文默認使用root用戶權限執行安裝和配置。
有關命令參數的含義請使用—help的方式查看,對應參數請修改至合適自己的,主要是名字、網絡和文件等參數。
一、安裝xen
# yum –y install xen*
安裝XEN需要的服務
# yum -y install kernel-xen*
安裝XEN的相關內核
二、檢查啟動選項是否使用xen內核啟動
1、檢查xen內核文件
安裝是否正常:文件位於/boot
# ls –lh /boot
total 9.5M
-rw-r--r-- 1 root root 61K Mar 16 08:19 config-2.6.18-8.el5
-rw-r--r-- 1 root root 60K Mar 16 09:27 config-2.6.18-8.el5xen
drwxr-xr-x 2 root root 1.0K Aug 15 14:47 grub
-rw------- 1 root root 1.5M Aug 13 17:18 initrd-2.6.18-8.el5.img
-rw------- 1 root root 1.5M Aug 15 14:47 initrd-2.6.18-8.el5xen.img
drwx------ 2 root root 12K Aug 13 17:15 lost+found
-rw-r--r-- 1 root root 79K Apr 1 22:49 message
-rw-r--r-- 1 root root 82K Mar 16 08:20 symvers-2.6.18-8.el5.gz
-rw-r--r-- 1 root root 83K Mar 16 09:28 symvers-2.6.18-8.el5xen.gz
-rw-r--r-- 1 root root 865K Mar 16 08:19 System.map-2.6.18-8.el5
-rw-r--r-- 1 root root 848K Mar 16 09:27 System.map-2.6.18-8.el5xen
-rw-r--r-- 1 root root 1.7M Mar 16 08:19 vmlinuz-2.6.18-8.el5
-rw-r--r-- 1 root root 2.0M Mar 16 09:27 vmlinuz-2.6.18-8.el5xen
-rw-r--r-- 1 root root 269K Mar 16 07:51 xen.gz-2.6.18-8.el5
-rwxr-xr-x 1 root root 595K Mar 16 09:43 xen-syms-2.6.18-8.el5
2、檢查grub配置
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-8.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-8.el5
module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/
module /initrd-2.6.18-8.el5xen.img
title CentOS (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/
initrd /initrd-2.6.18-8.el5.img
修改其中的default=1為default=0,啟用xen內核
3、重新啟動計算機
4、重啟後登錄系統,檢查XEN是否正常
4.1 執行# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 3919 4 r----- 16.9
出現上述結果表示xen啟動正常
4.2 檢查log:
#ls -lh /var/log/xen
total 8.0K
-rwxr-xr-x 1 root root 36 Aug 15 15:43 xend-debug.log
-rw-r--r-- 1 root root 1.8K Aug 15 15:43 xend.log
# cat /var/log/xen/xend-debug.log
Nothing to flush.
Nothing to flush.
表示一切正常,我們的CentOS5中的XEN服務已經成功啟動。至此,我們的CentOS5的宿主機已經安裝就緒。
三、安裝XEN的Linux客戶機系統—CentOS 5.x
1、制作鏡像文件
1.1 使用dd創建
#dd if=/dev/zero of=centos5.img bs=2k seek=4096k count=1
制作客戶機主要磁盤
# dd if=/dev/zero of=swap.img bs=2k seek=512k count=1
制作客戶機交換磁盤
2、創建配置文件
2.1 安裝必須的工具
由於以前的安裝是基於最小化安裝,此時需要增加一個用於安裝客戶機系統的軟件virt-manager,現在安裝:
#yum –y install virt-manager
請注意由於此軟件包為gnome下的圖形管理程序,所以需要安裝大量依賴包
此處流淚若干……忘記了這個包的名字,耽誤時間2個小時……
2.2 開始安裝客戶機
# virt-install -n centos5 -r 512 --vcpus=2 --file=centos5.img --file=swap.img --nographics -lhttp://192.168.0.11/yum/ba...
此時如果機器CPU支持VT技術會詢問是否需要開啟VT支持,一般選擇no,如果支持的話選擇yes,此時會要求輸入光驅或光盤之類。
Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no
Starting install...
2.3 啟動客戶機的安裝程序
安裝由於為遠程的,文本方式,部分ssh客戶端下可能會有一些亂,請嘗試,此部分和一般網絡安裝操作系統無異,在此不再詳細描述。
建議分區是swap用於交換分區,主分區一個boot一個根分區
2.4 補充說明安裝源的制作(最簡單的方法)
在一台安裝了CentOS5的服務器上開啟httpd服務,把CentOS5的DVD整盤復制到/var/www/html/yum/base下即可
2.5 配置文件
安裝客戶機完畢後會在/etc/xen下產生一個centos5的文件就是配置文件
參考配置文件centos5:
name = "centos5"
memory = "768"
disk = [ 'tap:ai/opt/xen/centos5/centos5.img,xvda,w', 'tap:ai/opt/xen/centos5/swap.img,xvdb,w', ]
vif = [ 'bridge=xenbr0', ]
bootloader="/usr/bin/pygrub"
vcpus=2
on_reboot = 'restart'
on_crash = 'restart'
四、安裝XEN的Windows客戶機
前提:宿主計算機的CPU支持intel的VT或者AMD的amd-v,並且在BIOS中開啟了對應的選項。
1、檢查是否支持VT:
#xm info |grep xen_cap
xen_caps : xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
# xm dmesg |grep -i vmxon
(XEN) VMXON is done
(XEN) VMXON is done
如果出現上述字段則計算機支持VT,否則很有可能是不支持或者BIOS禁用了。
也可以通過 xm dmesg或者cpuinfo等等方式查詢,這裡就不詳細描述了。
2、為實現圖形化遠程安裝開啟vnc
#yum –y install vnc*
#vi /etc/xen/xend-config.sxp
編輯下列內容(請根據自己情況修改):
(vnc-listen '192.168.0.xxx')
(vncpasswd 'password')
此處的修改也可以在對應客戶端的文件中修改,參後文。
3、重啟計算機
其實應該不需要重啟計算機,只需要重啟xend的服務即可,但是很難重啟服務成功,所以干脆重啟:)
4、安裝windows
安裝前述步驟准備好磁盤鏡像文件,傳輸win的iso文件後執行
#virt-install -n mini -r 768 --vcpus=2 --file=mini.img --vnc -v -c /opt/yum/pwinxp.iso
應該出現以下提示:
Starting install...
Unable to connect to graphical console; DISPLAY is not set. Please connect to localhost:5900
Domain installation still in progress. You can reconnect to the console to complete the installation process.
!!請注意此種方式比較適合宿主機開啟xwin圖形系統並且在宿主機上操作。
4.1 檢查vnc的監聽
# netstat -anp |grep 5900
tcp 0 0 192.168.0.xxx:5900 0.0.0.0:* LISTEN 2748/qemu-dm
出現上述結果表明vnc已經開啟(此時遠程宿主機不需要開啟xwin)。
此處監聽端口可能有所改變,默認為590X。
4.2 使用vnc客戶端連接
建議使用realvnc客戶端連接!ultravnc在連接後會出現刷屏的情況,幾乎無法操作。密碼為在第二步設置的密碼或者在配置文件中設置的密碼。
4.3安裝windows
安裝過程中如果停止在如下畫面或者不斷重啟:
畫面主要停止在starting windows...的藍色界面上
此種問題一般是由於ACPI的問題,請在引導光盤啟動後提示按F2或者F6的時候按下F7,禁用ACPI,或者使用以下配置文件mini.hvm直接強制關閉:
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
kernel = "/usr/lib/xen/boot/hvmloader"
name = "mini"
builder = "hvm"
memory = "768"
shadow_memory = 8
disk = [ 'file:/opt/xen/mini/mini.img,hda,w', 'file:/opt/yum/pwinxp.iso,hdc:cdrom,r', ]
vif = [ 'type=ioemu,bridge=xenbr0', ]
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1
vnclisten="192.168.0.xxx"
vncdisplay=1
vncpasswd='password'
vncunused=1
apic=0
acpi=0
pae=1
boot="dc"
vcpus=2
serial = "pty" # enable serial console
on_reboot = 'restart'
on_crash = 'restart'
請注意cdrom我們沒有使用單獨的
cdrom=”/opt/yum/en2003entsp2.iso”來配置,使用此會出現以下錯誤:
錯誤為cdrom啟動錯誤,錯誤代碼0002
快速啟動vnc客戶端查看啟動信息(修改配置文件),請注意在第一次修改配置文件後安裝會重啟,請在重啟前修正啟動順序為
boot="c"
此時進入正常安裝模式。以後可以去掉disk裡面的cdrom選項或者修改,也可以添加刪除磁盤信息。
5、其它說明
此種情況也可以用於安裝linux類帶xwin的系統;開啟vnc僅僅是安裝需求,一般情況下建議關閉!
Windows安裝完畢後在客戶機中安裝遠程控制軟件如vnc或者radmin之類後關閉配置文件中的vnc選項,確保宿主機的安全。