Linux上的虛擬化技術(shù) Xen虛擬化初學(xué)指南
虛擬平臺是指能支持運(yùn)行Xen的真實安裝的操作系統(tǒng);
虛擬操作系統(tǒng):是指在虛擬平臺上安裝和虛擬運(yùn)行的操作系統(tǒng);
比如我在Slackware 中安裝了Xen,那Slackware就是虛擬平臺,通過虛擬平臺就可以虛擬其它操作系統(tǒng)了;比如通過Slackware來虛擬Debian、Fedora ... ...
1、什么是Xen;
Xen 是一個開放源代碼的para-virtualizing虛擬機(jī)(VMM),或“管理程序 ”,是為x86架構(gòu)的機(jī)器而設(shè)計的。Xen 可以在一套物理硬件上安全的執(zhí)行多個虛擬機(jī);Xen是基于內(nèi)核的虛擬程序,它和操作平臺結(jié)合的極為密切,所以它占用的資源最少。
什么是虛擬機(jī)呢?可能大家知道VMWARE吧,是的,Xen就是類似這樣的程序,比如我們可以在Fedora 上虛擬安裝和使用Slackware、Debian、Gentoo ... ... 等發(fā)行版。因為Xen是基于內(nèi)核的,相對VMWARE 來說,它占用的系統(tǒng)資源也就是VMWARE的百分之幾左右。Xen是不是更有優(yōu)勢呢?只有您實踐了才知道。這也是我寫本文的最主要原因;
1.1 Xen的特性;
虛擬機(jī)的性能更接近真實硬件環(huán)境)
在真實物理環(huán)境的平臺和虛擬平臺間自由切換)
在每個客戶虛擬機(jī)支持到 32個虛擬CPU,通過 VCPU熱插拔)
支持PAE指令集的x86/32, x86/64平臺
通過Intel 虛擬支持VT的支持來用虛擬原始操作系統(tǒng)(未經(jīng)修改的)支持(包括Microsoft Windows)
優(yōu)秀的硬件支持.支持幾乎所有的Linux設(shè)備驅(qū)動
1.2 Xen的應(yīng)用范圍;
服務(wù)器整合:在虛擬機(jī)范圍內(nèi),在一臺物理主機(jī)上安裝多個服務(wù)器, 用于演示及故障隔絕;
無硬件依賴:允許應(yīng)用程序和操作系統(tǒng)對新硬件的移值測試;
多操作系統(tǒng)配置:以開發(fā)和測試為目的,同時運(yùn)行多個操作系統(tǒng);
內(nèi)核開發(fā):在虛擬機(jī)的沙盒中,做內(nèi)核的測試和調(diào)試,無需為了測試而單獨(dú)架設(shè)一臺獨(dú)立的機(jī)器;
集群運(yùn)算:和單獨(dú)的管理每個物理主機(jī)相比較,在VM級管理更加靈活,在負(fù)載均衡方面,更易于控制,和隔離;
為客戶操作系統(tǒng)提供硬件技術(shù)支持:可以開發(fā)新的操作系統(tǒng), 以得益于現(xiàn)存操作系統(tǒng)的廣泛硬件支持,比Linux;
1.3 Xen的操作系統(tǒng)支持和硬件支持;
2、Xen的一點理論基礎(chǔ);
基于Xen的操作系統(tǒng),有多個層,最底層和最高特權(quán)層是 Xen程序本身。Xen 可以管理多個客戶操作系統(tǒng),每個操作系統(tǒng)都能在一個安全的虛擬機(jī)中實現(xiàn)。在Xen的術(shù)語中,Domain由Xen控制,以高效的利用CPU的物理資源。每個客戶操作系統(tǒng)可以管理它自身的應(yīng)用。這種管理包括每個程序在規(guī)定時間內(nèi)的響應(yīng)到執(zhí)行,是通過Xen調(diào)度到虛擬機(jī)中實現(xiàn)。
當(dāng)Xen啟動運(yùn)行后,第一個虛擬的操作系統(tǒng),就是Xen本身,我們通過xm list,會發(fā)現(xiàn)有一個Domain 0的虛擬機(jī)。Domain 0 是其它虛擬主機(jī)的管理者和控制者,Domain 0 可以構(gòu)建其它的更多的Domain ,并管理虛擬設(shè)備。它還能執(zhí)行管理任務(wù),比如虛擬機(jī)的體眠、喚醒和遷移其它虛擬機(jī)。
一個被稱為xend的服務(wù)器進(jìn)程通過domain 0來管理系統(tǒng),Xend 負(fù)責(zé)管理眾多的虛擬主機(jī),并且提供進(jìn)入這些系統(tǒng)的控制臺。命令經(jīng)一個命令行的工具通過一個HTTP的接口被傳送到xend。
【編輯推薦】