- 論壇徽章:
- 0
|
提起Oracle VM就不能不談到Xen。正如VMWare是全虛擬化技術(shù)實(shí)現(xiàn)的精典代表一樣,Xen則是半虛擬化技術(shù)實(shí)現(xiàn)中的杰出代表。而Xen的經(jīng)典案例則是我們耳熟能詳?shù)腁mazon EC2,當(dāng)今最大規(guī)模的基于Xen的公有云實(shí)現(xiàn)。Oracle VM正是基于Xen技術(shù)實(shí)現(xiàn),因此,很好的理解Xen的工作原理也就可以幫助我們更好的理解Oracle VM。
Xen架構(gòu)說明
通過Xen理解Oracle VM原理 1.jpg (12.96 KB, 下載次數(shù): 18)
下載附件
2011-02-25 10:56 上傳
簡單來講,Xen架構(gòu)中主要包括四個部分:Dom0、DomU、DomU HVM、Xen Kernel。他們之間的工作原理是:
Dom 0,也就是被修改過的Linux首先啟動,然后將控制權(quán)交由自帶的Xen Kernel,即:Hypervisor。此后,Xen Kernel將會運(yùn)行在Ring 0,Dom 0將會運(yùn)行于Ring 1,其它的Dom U(也就是虛擬機(jī))將會運(yùn)行在Ring 2。Xen Kernel將會接管大多數(shù)的虛擬化工作,例如:VCPU調(diào)度、內(nèi)存管理、消息傳遞等 。
注:這里的HVM是硬件全虛擬化,因?yàn)閄en要修改其上虛擬機(jī)的操作系統(tǒng),如果操作系統(tǒng)是開源還好說,但如果是Windows這樣閉源的系統(tǒng)就難辦了,這時(shí),就需要使用硬件芯片支持全虛擬化方式。
Oracle VM Hypervisor架構(gòu)
通過Xen理解Oracle VM原理 2.jpg (27.2 KB, 下載次數(shù): 18)
下載附件
2011-02-25 10:57 上傳
從圖中我們可以看出,Oracle VM Server與Xen架構(gòu)非常相似,這里的工作原理就不必復(fù)述了,唯一不同的是,Dom 0中被加入了Oracle VM Agent。我們知道,Oracle VM作為一款企業(yè)級軟件產(chǎn)品,不光光需要考慮產(chǎn)品功能,還要考慮到產(chǎn)品的管理、維護(hù)與系統(tǒng)擴(kuò)展。Oracle VM Manager正是解決這方面的需求,如果說Oracle VM Manager是總司令,Oracle VM Server是大將的話,那么Oracle VM Agent則是他們之間的傳令兵。當(dāng)然,一個總司令不可能只管一個大將,一樣道理,一個Oracle VM Manager可以管理很多Oracle VM Server。
Oracle VM Agent架構(gòu)
通過Xen理解Oracle VM原理 3.jpg (19.86 KB, 下載次數(shù): 17)
下載附件
2011-02-25 10:57 上傳
Oracle VM Agent被安裝在每臺Oracle VM Server。Oracle VM Manager通過Oracle VM Agent管理云行于Oracle VM Server上的虛擬機(jī)。Oracle VM Server可以承擔(dān)三種不同的服務(wù)器職責(zé):Server Pool Master、Utitility Server、Virtual Machine Server。同樣,Oracle VM Agent也有三種實(shí)現(xiàn),并且其數(shù)量與Oracle VM Server服務(wù)器擔(dān)當(dāng)?shù)穆氊?zé)角色相對應(yīng)。例如:如果一臺Oracle VM Server擔(dān)當(dāng)三種服務(wù)器職責(zé),那么這臺Oracle VM Server上就會有三個Oracle VM Agent。
Oracle VM架構(gòu)
通過Xen理解Oracle VM原理 4.jpg (36.35 KB, 下載次數(shù): 16)
下載附件
2011-02-25 10:57 上傳
當(dāng)我們部署Oracle VM時(shí),將會引入以下組件:
Oracle VM Manager Host:就是用來安裝Oracle VM Manager軟件的主機(jī)。一般來說Oracle VM Manger會安裝一個數(shù)據(jù)庫Oracle Database Express(或使用現(xiàn)有Oracle數(shù)據(jù)庫)來存儲配置與管理信息,還會安裝一個基于OC4J的應(yīng)用服務(wù)器,提供基于Web的管理控制臺。用戶可以通過瀏覽器對企業(yè)中的虛擬服務(wù)器或其它設(shè)備發(fā)送指令。Oracle VM Manger還會提供用于管理了Web Service。
Server Pool:一個服務(wù)器池包含一個或多個物理服務(wù)器,這些使用服務(wù)器共享一個存儲庫。
Servers:一個Oracle VM Server一旦被劃分到一個服務(wù)器池,就可以被賦予1到3個服務(wù)器功能,分別為:Server Pool Master功能、Utility Server功能及Virtual Machine Server功能。當(dāng)然每種服務(wù)器功能對應(yīng)一個Oracle VM Agent接口,也就是說如果一個Oracle VM Server被賦予三個服務(wù)器功能,則會有三個Oracle VM Agent被激活。
Server Pool Master:同一時(shí)刻,一個服務(wù)器池只能有一個Oracle VM Server被賦予Server Pool Master,此服務(wù)器可以被看作是Server Pool與外界的通道,它也是Server Pool的資源協(xié)調(diào)人,例如:當(dāng)實(shí)現(xiàn)負(fù)載均衡需要啟動一個虛擬機(jī)時(shí),Server Pool Master將找到此服務(wù)器池中具備最大可用資源的虛擬機(jī)啟動。當(dāng)然,如果Server Pool Master出現(xiàn)故障,將自動將控制權(quán)交由服務(wù)器池中其它Oracle VM Server。
Utility Server:主要負(fù)責(zé)IO密集形操作,例如:復(fù)制、刪除、移動文件。最常用的例子是虛擬機(jī)的創(chuàng)建與銷毀。
Virtual Machine Server:可以被看作是虛擬機(jī)容器。一個Server Pool中可以有一個或多個Virtual Machine Server。
存儲:主要指用于存放虛擬機(jī)、外部資源及其它數(shù)據(jù)的共享或非共享存儲空間,此空間被單一服務(wù)器池中的所有服務(wù)器所共享。
一個Oracle VM Manager可以管理1到n個Server Pool,每個Server Pool共享一塊共享存儲。每個Server Pool可以管理1到n個Oracle VM Server,這些Oracle VM Server可以分布在多臺物理服務(wù)器。我們可以根據(jù)物理硬件的實(shí)際情況為Oracle VM Server分配不同的職責(zé)。例如:
Server Pool1:只配一臺Oracle VM Server,同時(shí)將Server Pool Master、Utitility Server與Virtual Machine Server都賦予這臺Oracle VM Server。
Server Pool2:將一臺Oracle VM Server用于Server Pool Master、Utitility Server,然后用多臺Oracle VM Server作為Virtual Machine Server。這樣就將Server Pool的管理與IO處理等負(fù)載從用于運(yùn)行VM的Oracle VM Server中移除。
Server Pool3:這種配置方式讓所有Oracle VM Server各負(fù)其職。 |
|