導(dǎo)語:談到虛擬化技術(shù)想必大家現(xiàn)在并不陌生,在整個IT產(chǎn)業(yè)中,虛擬化已經(jīng)成為關(guān)鍵詞,從桌面系統(tǒng)到服務(wù)器、從存儲系統(tǒng)到網(wǎng)絡(luò),虛擬化所能涉及的領(lǐng)域越來越廣泛。Hyper-V是微軟的新一代服務(wù)器虛擬化解決方案,和微軟之前的虛擬化產(chǎn)品相比是一個突破性的產(chǎn)品。而在Windows Server 2008 R2中,Hyper-v的版本升級為2.0,增加了實時遷移等重要特性。
服務(wù)器虛擬化現(xiàn)在已經(jīng)不是一個陌生的詞匯,這種能夠?qū)⒎?wù)器整合、降低硬件成本、提高服務(wù)器利用率的技術(shù)近年來得到了飛速的發(fā)展和廣泛的應(yīng)用。在當(dāng)前的服務(wù)器虛擬化陣營中,微軟是一個后起之秀,憑借08年推出的Hyper-v,以及09年1月公布的Hyper-v 2.0,微軟已經(jīng)在競爭激烈的虛擬化市場站穩(wěn)了腳跟。
什么是Hyper-v
2008年的6月,微軟推出了正式版的全新服務(wù)器虛擬化方案Hyper-v,不用于之前的微軟Virtual Server、Virtual PC等虛擬化產(chǎn)品,Hyper-v是一個突破性的產(chǎn)品,在架構(gòu)上完全不同于之前的虛擬化產(chǎn)品。
我們先以Microsoft Virtual Server 2005為例來了解一下微軟早期的虛擬化構(gòu)架:
Virtual Server構(gòu)架
上圖是微軟上一代服務(wù)器虛擬化產(chǎn)品Virtual Server的構(gòu)架,從下向上,依次為服務(wù)器硬件(x86或者x64架構(gòu))—服務(wù)器操作系統(tǒng)(Windows Server 2003)—虛擬化軟件(Virtual Server)—虛擬機(虛擬硬件及虛擬操作系統(tǒng)),虛擬的應(yīng)用軟件又基于虛擬操作系統(tǒng)上。由此可見,虛擬機到服務(wù)器硬件之間要數(shù)據(jù)要經(jīng)過3層的轉(zhuǎn)換,每一層的協(xié)議、通訊標(biāo)準(zhǔn)、接口等均不相同,經(jīng)過3層的轉(zhuǎn)換會造成性能的大量消耗,從而導(dǎo)致虛擬機運行速度和真實系統(tǒng)相差甚遠(yuǎn)。
而Hyper-V簡化了虛擬機和硬件之間的層數(shù),可以分為三部分:硬件—Hyper-V—虛擬機。
微軟Hyper-V構(gòu)架
上圖是微軟Hyper-V的構(gòu)架圖,最下面是硬件,硬件上面就是Hyper-V,Hyper-V是一個只有300多K的小程序,用于連接硬件和虛擬機,Hyper-V程序非常小,代碼非常少,因而減少了代碼執(zhí)行時發(fā)生錯誤的概率,并且Hyper-V中不包含任何第三方的驅(qū)動,非常的精簡,所以安全性非常高。這種構(gòu)架使得虛擬機和硬件之間只通過很薄的一層進(jìn)行連接,不像Virtual Server那樣虛擬機和硬件之間需要經(jīng)過多層的轉(zhuǎn)換,因而虛擬機執(zhí)行效率非常高,可以更加充分的利用硬件資源,使虛擬機系統(tǒng)性能非常的接近真實的操作系統(tǒng)性能。
從構(gòu)架上可以看出Hyper-V相對微軟之前的虛擬化技術(shù)有了突破性的進(jìn)步,除了在構(gòu)架上進(jìn)行改進(jìn)之外,Hyper-V還具有其它一些變化:
支持64位系統(tǒng):正式發(fā)布的Hyper-V基于32位和64位系統(tǒng),不過由于32位系統(tǒng)的內(nèi)存尋址空間只有4GB,所以對于虛擬化應(yīng)用沒有太大的現(xiàn)實意義。在支持大容量內(nèi)存的64位服務(wù)器系統(tǒng)中,應(yīng)用Hyper-V虛擬出多個應(yīng)用才有較大的現(xiàn)實意義。微軟上一代虛擬化產(chǎn)品Virtual Server和Virtual PC則是基于32位系統(tǒng)的。
硬件支持上大大提升:Hyper-V支持4顆虛擬處理器,支持64GB內(nèi)存,并且支持x64操作系統(tǒng);而Virtual Server只支持2個虛擬處理器,并且只能支持x86操作系統(tǒng)。并且在Hyper-V中還支持VLAN功能。
Hyper-V提供了對許多用戶操作系統(tǒng)的支持:Hyper-V提供了對多個操作系統(tǒng)的支持如Windows Server 2003 SP2、Novell SUSE Linux Enterprise Server 10 SP1、Windows Vista SP1 (x86)和Windows XP SP3 (x86)等。
Hyper-v 2.0的改進(jìn)
Hyper-v 2.0是Hyper-v 1.0的升級版本,在09年1月公布。Hyper-v 2.0將整合在Windows Server 2008 R2系統(tǒng)中。除了具有Hyper-v的基本特性,在多項功能上進(jìn)行了增強,其中最具革命性的就是支持實時遷移(Live Migration)功能。
在虛擬化應(yīng)用中虛擬機的遷移是經(jīng)常要面對的一個問題,比如服務(wù)器硬件平臺升級時,就要將虛擬機從老服務(wù)器平臺遷移到新服務(wù)器平臺上,而在遷移過程中我們都不希望虛擬機被中斷。在Hyper-v 1.0中沒有提供對實時遷移的支持,雖然其Quick Migration功能可以將虛擬機遷移到另一臺物理服務(wù)器上,但是在遷移虛擬機的時候網(wǎng)絡(luò)將中斷,完成之后需要用戶再連接網(wǎng)絡(luò),這就降低了虛擬機的可用性。
Hyper-v 2.0的一個重大改進(jìn)就是增加了對實時遷移功能的支持,可以讓虛擬機在保持網(wǎng)絡(luò)服務(wù)的狀態(tài)下從一臺服務(wù)器遷移到另一臺服務(wù)器,而遷移所需的時間僅為毫秒級別,這樣讓虛擬機不必中斷服務(wù),提高了虛擬機的可用性。實時遷移支持在不同處理器間進(jìn)行虛擬機的遷移,當(dāng)然,這只限于同一芯片制造商的產(chǎn)品之間Intel-Intel、AMD-AMD,Intel和AMD處理器之間是無法進(jìn)行遷移的。
除了實時遷移功能外,Hyper-v 2.0在擴展性、節(jié)電、網(wǎng)絡(luò)功能等方面進(jìn)行了增強。在擴展性上,由于Windows Server 2008 R2擴展性增強,可以支持256個邏輯處理器,也就是說可以支持64個四核處理器或者32個八核處理器,并且最大支持2TB內(nèi)存。在這樣的基礎(chǔ)上,Hyper-V 2.0可以實現(xiàn)每個虛擬機使用4個虛擬CPU和64GB的虛擬內(nèi)存。Hyper-V 2.0所能支持的CPU內(nèi)核數(shù)也增加到64個CPU內(nèi)核。
在節(jié)電特性上,通過CPU Parking功能可以讓W(xué)indows Server 2008 R2和Hyper-v 2.0將大部分的處理功能集中到最少的物理CPU核心上,并且將沒有使用的CPU核心暫停,將CPU留給最需要的應(yīng)用程序,這樣可以節(jié)省大量的電力和資源。此外,Hyper-v 2.0增加了新的網(wǎng)絡(luò)功能,允許虛擬機和父分區(qū)共享主機網(wǎng)卡,可以在測試用的單網(wǎng)卡主機上虛擬出多網(wǎng)卡環(huán)境,減少了大量設(shè)置和排錯的麻煩。