CentOS 5.5 下Xen虛拟機的安裝及基本操作
1、前提需求
1.1.簡介
Xen是以GNU的GPL授權釋出的自由軟體,目的在于提供高效能、可支援不同作業系統同時運作且各個作業系統之間彼此互相獨立的系統環境,Xen是基于X86架構開發出來的虛拟機控制器(Virtual Machine Hypervisor)。Xen虛拟化包括兩種虛拟化方式,半虛拟化(Para-virtualization)和全虛拟化(Fully-virtualization)。這兩種虛拟化都需要cpu的支援。半虛拟化的架構示意圖:
<a href="http://blog.51cto.com/attachment/201009/171528246.png" target="_blank"></a>
确定cpu是否支援xen的運作:
半虛拟化:
x86_64的cpu都能支援半虛拟化的環境。x86的cpu需要支援實體位址擴充pae才可以支援。檢視方式:
<a href="http://blog.51cto.com/attachment/201009/171615175.png" target="_blank"></a>
全虛拟化:全虛拟化需要cpu的支援,Intel提供VT技術,AMD提供SVM技術。
<a href="http://blog.51cto.com/attachment/201009/171643534.png" target="_blank"></a>
Intel cpu中需要有vmx标簽
<a href="http://blog.51cto.com/attachment/201009/171721135.png" target="_blank"></a>
AMD cpu中需要有svm标簽
2、兩種方式安裝Xen
2.1.新裝作業系統時安裝
如果是新安裝作業系統,可以在安裝的過程中選擇Virtualization,其他步驟一樣,系統安裝好後,重新開機便可。
<a href="http://blog.51cto.com/attachment/201009/171750146.jpg" target="_blank"></a>
2.2.使用rpm包管理器安裝
rpm –ivh xen* xen-devel* virt-manager* kernel-xen*
說明:安裝過程需要手工解決包依賴關系,是以實際的安裝過程會由于環境不同略有不同。建議架設内部yum源,使用yum安裝,一步到位。
3、開始使用Xen
3.1.啟動Xen
重新開機機器,在grub初注意選擇帶有xen标簽的啟動項,登陸後使用使用指令檢視xen的運作狀況,目前由于并沒有安裝客戶機,是以隻能看到一個“Domain-0”,這就是控制其他虛拟機的平台。事實上它也是一個虛拟機,在xend啟動的時候一起啟動。
<a href="http://blog.51cto.com/attachment/201009/171835162.png" target="_blank"></a>
3.2. 建立一個虛拟機
1.建立一個lv,作為虛拟機的塊裝置
[root@XenServer ~]# lvcreate -L 5G -n /dev/VolGroup/LogVol_Domain-3 VolGroup
說明:可以使用單獨的硬碟分區、系統檔案等作為虛拟機的塊裝置,這裡使用lv作為例子。
2.準備好安裝源,支援方式有http,nfs,等,本處使用nfs
把需要安裝的Linux作業系統的安裝CD光牒中的所有内容拷貝到一個目錄,并使用nfs共享出來。本次例子中使用的目錄是/usr/local/src/centos5.4,如下圖所示:
<a href="http://blog.51cto.com/attachment/201009/171855327.png" target="_blank"></a>
3.使用virt-install工具安裝虛拟機
virt-install –n Domain-3 –r 256 –f /dev/VolGroup/LogVol_Domain-3 –l nfs:10.100.2.202:/usr/local/src/centos5.4
說明:
-n 指定虛拟機名
-r 指定記憶體大小
-f 指定塊裝置
-l 指定安裝媒體
<a href="http://blog.51cto.com/attachment/201009/171929141.png" target="_blank"></a>
出現如上的界面後,隻需要按照正常的安裝步驟完成即可。
4.啟動虛拟機。安裝完成後,虛拟機會自動關閉,需要手工重新開機該虛拟機,注意前面的安裝過程中,已經在/etc/xen下自動生成了一個配置檔案“Domain-3”。
使用指令xm create /etc/xen/Domain-3啟動虛拟機,使用xm list檢視。
<a href="http://blog.51cto.com/attachment/201009/171954147.png" target="_blank"></a>
3.3. 分析虛拟機配置檔案
name = "Domain-3"
uuid = "a24d5012-bc4d-8692-7d46-a7a661874b74"
maxmem = 256 #虛拟機可以使用的最大記憶體,用指令動态配置設定時,最大不能超過該大小
memory = 256 #啟動虛拟機時的初始化配置設定的記憶體
vcpus = 1 #虛拟cpu的個數,最大為32
bootloader = "/usr/bin/pygrub" #虛拟器引導檔案
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "phy:/dev/VolGroup/LogVol_Domain-3,xvda,w"] #虛拟機使用的塊檔案
vif = [ "mac=00:16:36:75:07:00,bridge=xenbr0,script=vif-bridge" ] #虛拟網卡參數
3.4. 部分優化(可選,供參考)
1.修改/boot/grub/menu.lst,在kernel後添加dom0_mem=512M dom0_max_vcpus=1
其中dom0_mem保留給Domain-0使用的記憶體數
dom0_max_vcpus限制Domain-0最大可見cpu數
<a href="http://blog.51cto.com/attachment/201009/172019423.png" target="_blank"></a>
2.将某個cpu給特定的虛拟機
xm vcpu-pin <Domain> <VCPU> <CPUs>
3.調整虛拟機的優先級
xm sched-credit -d <Domain> [-w[=WEIGHT]|-c[=CAP]]
3.5. 常見指令
xm create /path/to/config_file
xm shutdown DomainName
xm reboot DomainName
xm pause DomainName
xm resume DomainName
xm console DomainName
更多指令請使用 xm –help檢視
本文轉自 justiceplus 51CTO部落格,原文連結:http://blog.51cto.com/johnwang/388580,如需轉載請自行聯系原作者