+-------------------------------------------------------------------------------------------------------------------------------
ATTENTION: Befor taking the following steps, make sure you have followed the xen-install.txt to install xen & vnc parts correctly.
+-------------------------------------------------------------------------------------------------------------------------------
1. 建立虛擬機器路徑
就是你的虛擬機器檔案在宿主機中存放的地方,先要建立出來
[root@server201 /]# mkdir /opt/xen/kcwin2k3_2
[root@server201 /]# cd /opt/xen/kcwin2k3_2
按照我的習慣就是建立虛擬機器在 /opt/xen/xxxx 下建立
2.建立Windows2003虛擬機器
[root@server201 kcwin2k3_2]# virt-install -n kcwin2k3_2 --file=disk1.img --file=disk2.img --vnc -v -c /iso/win2k3.iso -r 512 --vcpus=1
How large would you like the disk (disk1.img) to be (in gigabytes)? 8
How large would you like the disk (disk2.img) to be (in gigabytes)? 1
這裡就是用 virt-install 命令來安裝虛擬機器,其中的參數我再解釋一下
--------------------------------------------------------------------
virt-install 建立虛擬機器的命令
-n 虛擬機器的命名
--file 虛擬機器的磁碟檔案
--vnc 使用VNC終端串連方式
-r 虛擬機器的記憶體容量
--vcpus 虛擬機器的CPU數量
-v 可視
-c 安裝鏡像的路徑
之後出現以下提示資訊:
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.
這裡其實已經開始安裝了,但是由於文字終端不支援圖象,所以希望使用者通過5900連接埠串連圖形終端,並且這個虛擬機器的安裝並沒有終止,仍然再繼續。
問題是,這裡,虛擬機器已經初始化形成了,目前的工作只是在安裝這個虛擬機器的系統而已。可以先關閉掉這台虛擬機器,以後再啟動繼續安裝系統,這裡我們還有很多工作要做。
3.修改這台虛擬機器的設定檔
[root@server201 kcwin2k3_2]# cd /etc/xen/
[root@server201 xen]# ls
auto kcwin2k3_2 xend-config.sxp xmexample1 xmexample.vti
kcentos5 qemu-ifup xend-pci-permissive.sxp xmexample2
kcwin2k3 scripts xend-pci-quirks.sxp xmexample.hvm
(還記得這裡之前說到過建立一個虛擬機器後,在它的配置文檔路徑會有一個同名的設定檔麼,我們要修改它。這些我標註黃色的檔案都是幾個我安裝的虛擬機器的設定檔,目前這篇中正在指的是kcwin2k3_2這個虛擬機器,從名字上可以看出這已經是我安裝的第二台Windows虛擬機器了 )
[root@server201 xen]# vi kcwin2k3_2 (現在我們來編輯這個設定檔)
----------------------這個是原版由應用程式產生的設定檔----------------------
# Automatically generated xen config file
name = "kcwin2k3_2"
builder = "hvm"
memory = "512"
disk = [ 'file:/opt/xen/kcwin2k3_2/disk1.img,hda,w',
'file:/opt/xen/kcwin2k3_2/disk2.img,hdb,w', ]
vif = [ 'type=ioemu, mac=00:16:3e:3f:74:8f, bridge=xenbr0', ]
uuid = "fb0f5b19-30b7-b349-ceaf-2d4332ebf65d"
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1
vncunused=1
apic=1
acpi=1
pae=1
vcpus=1
serial = "pty" # enable serial console
on_reboot = 'restart'
on_crash = 'restart'
------------------------------------------------------------------------------------------------------------------
但是這樣子是不夠的,我們需要對其做比較多的修改,至於每一項是做什麼用的,接下去會解釋,現在我修改的這個設定檔如下
------------------------------------------------------------------------------------------------------------------
# Automatically generated xen config file
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
(若是要用XEN虛擬機器安裝Windows系統,以上這一段要添加。可以看出這個虛擬機器是通過HVM方式建立的,關於HVM方式虛擬機器的具體參數的描述也有非常詳細的解釋,就是HVM的模版協助檔案,它就在Xen的配置路徑下,檔案名稱預設為 /etc/xen/xmexample.hvm)
name = "kcwin2k3_2" (虛擬機器的命名)
builder = "hvm" (hvm方式的虛擬機器)
memory = "512" (記憶體為512M,這裡單位是MB)
disk = [ 'file:/opt/xen/kcwin2k3_2/disk1.img,hda,w', (還記得建立虛擬機器時的參數--file=嗎。這裡就是虛擬機器的第一塊虛擬磁碟)
'file:/opt/xen/kcwin2k3_2/disk2.img,hdb,w', (這個則是虛擬機器的第二塊虛擬磁碟,可寫,而且是虛擬hdb位置)
'file:/iso/win2k3.iso,hdc:cdrom,r', ] (這一項則是後來添加的,指定了虛擬機器的CDROM,目標其實是宿主機上的一張Win2k3安裝ISO鏡像的路徑,然後r代表唯讀)
vif = [ 'type=ioemu, mac=00:16:3e:3f:74:8f, bridge=xenbr0', ] (這個是虛擬機器的虛擬網路介面)
uuid = "fb0f5b19-30b7-b349-ceaf-2d4332ebf65d"
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1 (啟用VNC)
vncunused=1 (這個手冊當中竟然解釋為...skipping...汗)
vnclisten="0.0.0.0" (這條也是後來添加的,VNC開放的網卡地址,這裡表示不限制)
vncdisplay=1 (VNC顯示,這條也是後來添加的)
#apic=1
#acpi=1
apic=0 (apic比較賤,這裡要設定為0,預設值是1,它會造成安裝Windows的時候會一直卡在一個畫面裡)
acpi=0 (同apci,這裡也要設定成0,預設也是1。可以看到前兩行的預設值是被我注釋掉的)
pae=1
boot="dc" (這裡是虛擬機器的啟動順序,d表示從CDROM,c表示從本地磁碟,a表示從磁碟片。從左至右順序,建議安裝完系統之後,這裡就改為“c”,只從硬碟啟動)
vcpus=1 (虛擬機器的CPU數量)
serial = "pty" # enable serial console
on_reboot='restart'
on_crash='restart'
------------------------------------------------------------------------------------
到這裡就算是改好了這個虛擬機器的設定檔,以上用草綠色標識的內容是後加上去的,請主要參考/etc/xen/xmexample.hvm這個模版檔案,有非常詳細的關於HVM虛擬機器的說明。
8.再啟動虛擬機器
[root@server201 xen]# xm create kcwin2k3_2
Using config file "./kcwin2k3_2".
Error: VM name 'kcwin2k3_2' already in use by domain 1
這裡是說這個kcwin2k3_2的機器已經啟動了, 我現在讓它關閉重新啟動
[root@server201 xen]# xm destroy kcwin2k3_2
記得,完全關閉虛擬機器的時候請用 xm destroy name 或 xm destroy ID 命令,而不要用 xm shutdown。
[root@server201 xen]# xm create kcwin2k3_2
Using config file "./kcwin2k3_2".
Started domain kcwin2k3_2 (出現這條提示則表示啟動成功)
接下來就可以在遠端使用VNC的用戶端串連宿主機進行安裝了,之前有人建議使用RealVNC的用戶端串連,而不是UltraVNC。我一試果然不假,用UltraVNC的話,會非常花屏。另外要建議的一點則是,在VNC下安裝Windows的時候用滑鼠會非常的不爽,請習慣用鍵盤。