官术网_书友最值得收藏!

1.2.1 Hyper-V 2012架構相關知識

我們知道,可以通過虛擬化的技術來進行服務器的整合,節省物理資源浪費的情況,在了解虛擬化的同時,我們也要對虛擬化的架構有所了解,這樣才能更深層次地了解虛擬化。不過,虛擬化的架構有很多種類,所以在了解Hyper-V的虛擬化之前,我們先了解一下虛擬化技術。虛擬化技術是一個術語,用來描述一個軟件的堆棧,或者是一個操作系統的功能,這項技術用于實現在同一個物理資源上建立虛擬機?;诓煌奶摂M化類型,一些虛擬化層運行在操作系統之上,或者直接運行在硬件資源(比如處理器、內存和網卡)上。后面,我們將介紹這些不同類型的虛擬機管理程序。虛擬化技術對于VMware和Microsoft來說并不是一項新的技術,談起它的歷史,要追溯到1965年,當時IBM首次升級360大型機系統代碼和計算平臺來支持內存的虛擬化,通過這項技術的不斷發展,虛擬化得到了極大的增強。下面,我們就來討論虛擬化類型的種類。

1.虛擬化類型

(1)Type 1類型:裸金屬架構虛擬化層

圖1-5 裸金屬架構虛擬化層

Type 1類型或者說裸金屬架構的虛擬化是運行在服務器硬件之上,如圖1-5所示。這種虛擬化的類型能得到更好的硬件控制,從而實現更穩定的性能和更高的安全性。虛擬機操作系統(VM)運行在裸金屬架構虛擬化層(Hypervisor)之上,而裸金屬架構虛擬化層(Hypervisor)運行在硬件層(Hardware)之上。目前在市場上使用這種虛擬化架構的產品有微軟的Hyper-V、VMware vSphere的ESXi和Citrix的XenServer。

(2)Type 2類型:寄居架構虛擬化層

Type 2類型或者說寄居架構虛擬化層是作為一種應用程序運行在操作系統之上的,這就是寄居架構虛擬化層通常被稱為托管的虛擬機管理程序的原因。在Type 2類型的虛擬化環境中,虛擬機操作系統(VM)都運行在虛擬化層之上,從圖1-5可以看出,Type 1類型和Type2類型(如圖1-6所示)在架構方面上存在一些差異。Type 1類型的裸金屬架構虛擬化層(Hypervisor)運行在硬件層(Hardware)之上,而Type 2類型中,我們可以看到虛擬化層(Hypervisor)是安裝在操作系統層(Operating System)之上的。虛擬機操作系統(VM)不允許直接訪問硬件資源,這種沒有辦法直接訪問硬件資源的設計,會帶來不必要的資源開銷,所以在Type 1類型中,虛擬機(VM)直接通過虛擬化層(Hypervisor)得到資源,而虛擬化層(Hypervisor)直接調用硬件層(Hardware)資源。在Type 2類型中,虛擬機(VM)直接通過虛擬化層(Hypervisor)得到資源,而虛擬化層(Hypervisor)不能直接調用硬件層(Hardware)資源,而是通過安裝在硬件層的操作系統得到資源,這樣一來,硬件層的一部分資源還要維持操作系統層(Operating System)的運行,造成一定的資源損失。Type 2類型還有一個缺點就是,如果系統是Windows NT,一旦發生故障,則虛擬化平臺也將發生故障,并終止服務,這一點大家一定要注意。屬于Type 2類型的虛擬化產品主要有Microsoft的Virtual PC和VMware vSphere的VMware Player、VMware Workstation。Type 2類型的虛擬化層如圖1-6所示。

(3)Monolithic hypervisors虛擬化層

Monolithichypervisors虛擬化層是Type 1類型的一個子類型,這種類型的虛擬機管理程序的驅動程序來自虛擬操作系統,它要求Hypervisor感知設備驅動,并被托管和管理在“Hypervisor層”,如圖1-7所示。所以,使用Monolithic hypervisors虛擬化層會帶來一些好處,但是也有一些不足。好處是它們不再需要父操作系統來控制,可以直接控制服務器硬件,提供更好的性能。而不足之處主要有以下兩點:

圖1-6 寄居架構虛擬化層

圖1-7 Monolithic hypervisors虛擬化層

?不是每一個硬件提供商都為此類型的虛擬機管理程序提供驅動,這是因為一些不同的主板和其他設備都有不同的驅動程序,因此,找到一個兼容的硬件驅動供應商支持可能是一個潛在的艱巨的任務。

?Monolithic hypervisors虛擬化層允許虛擬機監控程序接近內核kernel(Ring 1)和硬件資源,這可能會造成惡意后門的打開。一旦惡意后門被打開,惡意入侵者就可以控制運行在服務器上所有的虛擬機了。

?V Mware vSphereESXi Server采用的就是Monolithic hypervisors虛擬化層。

(4)Microkernel hypervisors虛擬化層

圖1-8 Microkernel hypervisors虛擬化層

Microkernel hypervisor虛擬化層不需要設備驅動,因為它的設備驅動是獨立運行在“控制層”的。相應地,Microkernel hypervisor虛擬化層的設備驅動程序一般都運行在kernel mode(Ring 0)和可信的操作系統(OS)的用戶模式(Ring 3)中,只有當CPU和內存發生調度時,才會運行在Ring 1中。Microkernel hypervisor虛擬化層的虛擬機監控程序的優點是,由于大多數硬件制造商都會提供操作系統,并且提供的操作系統會兼容Microkernel hypervisors設備的驅動程序,所以找到兼容的硬件是很容易的。Microkernel hypervisor虛擬化層如圖1-8所示。

Microkernel hypervisors虛擬化層要求驅動程序必須安裝在物理機上運行的操作系統中,并且必須運行在虛擬化層的父分區中,這就意味著我們不需要將設備驅動程序安裝在每個虛擬機操作系統子分區(VM)上,因為當這些虛擬機操作系統需要訪問主機上的物理硬件資源計算機時,不需要訪問硬件,而只需要和父分區進行通信即可。微軟Hyper-V的架構采用的就是Microkernel hypervisors虛擬化層。

Microkernel hypervisors優點如下:

?設備驅動不需要將每個設備都納入Hypervisor層或者VMM Kernel。由于微軟沒有提供應用程序編程接口(API)來訪問“Hypervisor層”,所以它受到攻擊的可能小,沒人可以將外部代碼插入“Hypervisor層”。

?設備驅動不需要Hypervisor的感知,所以這種架構可以使用更多的設備。不需要關閉“Hypervisor層”,包括設備驅動程序。設備驅動程序可以安裝在操作系統運行的“控制層”(Windows Server 2008R2、Windows Server 2012),可以使用虛擬機訪問“硬件層”的硬件Microkernelized Hypervisor架構。除了服務器虛擬化之外,在“控制層”允許安裝其他的服務器。因為微軟的Hypervisor代碼只有600KB,因此“Hypervisor層”不需要用很多時間來初始化組件。

Microkernel hypervisors缺點如下:

?在操作“Hypervisor層”之前,需要在“控制層”安裝操作系統,這是一個最大的缺點。

?如果“控制層”正在運行的操作系統崩潰,無論是由什么原因導致的,所有的虛擬機也都會崩潰。這會進一步導致需要花費更多的經費在“控制層”的操作系統與“Hypervisor層”的虛擬機上。每個Windows的操作系統的安全維護都需要通過微軟發布的安全更新,因此在“控制層”運行的操作系統必須用最新的安全更新。而更新就需要重啟操作系統,這需要將所有的虛擬機進行離線,基于這個原因,就必須使用Hyper-V Live遷移功能將集群遷移到另一個節點上,以保證不會出現死機問題。

2.Hyper-V 2012的架構

學習完了虛擬化類型的相關知識,下面來看看Hyper-V的架構,如圖1-9所示。

圖1-9 Hyper-V的架構圖

正如你所看到的,Hyper-V架構采用Type 1類型,在硬件和虛擬化層上運行這一個父分區(VSP)和多個子分區,分區是一個簡單的隔離,用來將物理資源(如CPU、內存)和網絡資源劃分若干小份,并分配給不同的虛擬機。在Windows虛擬化架構中,每一個子分區(VSC)中都可以擁有一個自己的操作系統,它們可以是32位或64位的Windows Server 2003、Windows Server 2008,甚至可以是Linux。而VSP必須運行包含了Hyper-V技術的Windows Server 2012(OS 64Bit)。VSP包含一個虛擬棧,提供了用于管理和自動化操作的組件。其實這個父分區也就是我們常說的宿主系統(Host OS),但是在全新的Windows虛擬化架構中它也被包含在了分區之中。

由于采用了VMBus的高速內存總線架構(一種新的虛擬化I/O結構),每個子分區都可以通過安裝Integration Service組件,使每個虛擬機可以調用常駐在內存中的VMBus總線,得以直接訪問硬件資源,從而實現對硬件的高性能使用,使虛擬機的性能幾乎與物理機沒有差別,甚至在某種特定環境下,還會高于物理機。

主站蜘蛛池模板: 长宁县| 潮安县| 南康市| 宜兰县| 鲜城| 繁峙县| 新巴尔虎右旗| 龙胜| 西盟| 大竹县| 广南县| 禹城市| 老河口市| 荣成市| 松原市| 宁陕县| 兰溪市| 汾西县| 巴里| 巩义市| 阿拉善左旗| 巴青县| 武清区| 东台市| 应用必备| 台江县| 会宁县| 武汉市| 东平县| 阿拉善左旗| 漠河县| 本溪| 黔江区| 密山市| 江津市| 周至县| 梨树县| 威远县| 扶余县| 乡宁县| 宁河县|