如果我們能夠?qū)⑦@些資源層次之間的緊密連接進(jìn)行有效分離,就像圖1的右側(cè),使得對某個層次的變動甚至是替換都不會影響到其他的層次,那么我們就可以將這種技術(shù)看作是一種虛擬化技術(shù)。最常見的虛擬化技術(shù)——虛擬機就是將操作系統(tǒng)和硬件之間的緊密綁定進(jìn)行了分離,這使得我們能將一臺虛擬機從一臺物理機復(fù)制到另一臺物理機而不用做任何修改就可以像以前一樣運行。當(dāng)然從這個角度來看,遠(yuǎn)程桌面或者終端服務(wù)也是一種虛擬化技術(shù)——展現(xiàn)虛擬化,因為它實現(xiàn)了應(yīng)用程序的展現(xiàn)與應(yīng)用程序、操作系統(tǒng)以及硬件設(shè)備之間的分離,無論在什么地理位置只要能夠通過終端服務(wù)的客戶端,就可以像在那臺服務(wù)器本地一樣訪問上面運行的應(yīng)用程序。所以從廣義上來講,虛擬化并不是僅局限于虛擬機技術(shù),它可以在很多個層面上實現(xiàn),與此同時眾多的虛擬化廠商也在各個層面上都推出了相應(yīng)的虛擬化技術(shù)與產(chǎn)品,例如微軟公司的虛擬化戰(zhàn)略中就包括了從服務(wù)器虛擬化、展示虛擬化、存儲虛擬化、應(yīng)用程序虛擬化等眾多的產(chǎn)品與技術(shù)。
虛擬化之所以成為當(dāng)前企業(yè)IT應(yīng)用的一個熱點,其主要原因正是虛擬化能夠?qū)①Y源進(jìn)行有效隔離,從而可以更充分地利用有限的計算機資源,降低在成本和管理上的投入,同時對于計算資源的隔離也打破了這些資源間原有的緊密綁定,使得企業(yè)的IT系統(tǒng)能夠更加靈活,具備了“按需而變”的動態(tài)特性。
在Windows Server 2008 R2中有很多方面都提供了對虛擬化的支持,其中包括了展示虛擬化(通過終端服務(wù)角色實現(xiàn))、網(wǎng)絡(luò)虛擬化(通過VPN組件實現(xiàn))和服務(wù)器虛擬化(通過Hyper-V角色實現(xiàn)),而Hyper-V則是其中全新提供并具有廣泛應(yīng)用前景的一個組件,因為在同一個物理設(shè)備上運行多個操作系統(tǒng)的需求仍然是目前企業(yè)虛擬化應(yīng)用中最主要的形式。Hyper-V被微軟稱為服務(wù)器虛擬化平臺,很顯然它的主要目標(biāo)就是實現(xiàn)服務(wù)器操作系統(tǒng)的虛擬化。Hyper-V服務(wù)器虛擬化的典型應(yīng)用場景主要有以下幾個:
首先,是服務(wù)器的整合。事實上企業(yè)中的很多服務(wù)器并不像我們想像的那么忙碌,一般情況下很多服務(wù)器的運行負(fù)荷很低,也許CPU的占用率通常都不到20%,其他資源的利用率也很低,但是因為考慮到操作系統(tǒng)的版本、應(yīng)用程序的沖突與兼容性以及易于管理等方面的因素,只能把它們安裝在一個個獨立的物理服務(wù)器上,無論從哪個角度來講,都帶來了很大的浪費。Hyper-V使得我們在同一臺物理硬件服務(wù)器上運行多個不同類型的操作系統(tǒng),而這些操作系統(tǒng)在邏輯層面上是完全隔離的,自然也不會帶來兼容性方面的問題。這樣就可以將原來分別運行在幾臺、十幾臺甚至幾十臺物理服務(wù)器上的操作系統(tǒng)和應(yīng)用整合在一臺物理服務(wù)器上,對于成本的節(jié)省是顯而易見的,而與此同時在管理方面也帶來了很大的效率提升。
其次,是協(xié)助實現(xiàn)業(yè)務(wù)的持續(xù)性。所謂業(yè)務(wù)的持續(xù)性就是如何保證企業(yè)環(huán)境中的應(yīng)用系統(tǒng)能夠獲得最大的可用性。以往這個方面對于IT管理是一個很大的挑戰(zhàn),舉個比較常見的例子,對物理服務(wù)器的硬件進(jìn)行升級和替換是很常見的操作,但是這些操作基本都是需要在關(guān)閉了服務(wù)器以后才能進(jìn)行,這就會造成該服務(wù)器上的應(yīng)用程序很長一段時間不可用,對于一些關(guān)鍵的應(yīng)用系統(tǒng)來講,這種情況是無法接受的。如果使用Hyper-V將應(yīng)用服務(wù)器進(jìn)行虛擬化,這個問題就能得到很好的解決,因為虛擬機中的操作系統(tǒng)并沒有與服務(wù)器底層的硬件相互綁定,所以能夠很容易地將運行中的虛擬服務(wù)器快速遷移到另外一臺物理服務(wù)器上繼續(xù)運行,而對原來的一臺服務(wù)器進(jìn)行硬件的升級和替換。有些應(yīng)用系統(tǒng)的高可用方案實施起來比較煩瑣,而且不同的應(yīng)用系統(tǒng)使用完全不同的高可用技術(shù),這樣對于應(yīng)用系統(tǒng)的高可用性管理也帶來了很多的不便。如果使用Hyper-V將應(yīng)用服務(wù)器進(jìn)行虛擬化,由于Hyper-V本身可以基于Windows Server 2008 R2的故障轉(zhuǎn)移群集很容易地實現(xiàn)虛擬機的高可用性,因此運行于Hyper-V之上的虛擬機和應(yīng)用系統(tǒng)也自然成為了高可用的應(yīng)用系統(tǒng),這使得高可用應(yīng)用系統(tǒng)的構(gòu)建和管理變得非常簡單。另外,虛擬化也極大簡化了服務(wù)器的備份和災(zāi)難恢復(fù),并且提供了快速災(zāi)難恢復(fù)的能力。
再次,是構(gòu)建測試和開發(fā)環(huán)境。對于軟件公司和IT解決方案的提供商而言,開發(fā)和測試環(huán)境顯然是必需的,但是隨著信息技術(shù)在企業(yè)中的不斷深入,企業(yè)應(yīng)用解決方案的開發(fā)和測試環(huán)境也成為企業(yè)IT環(huán)境中必不可少的一部分。但是構(gòu)建一個測試環(huán)境的成本投入、測試環(huán)境的提供和管理、從測試到生產(chǎn)環(huán)境的遷移等,都是比較棘手的問題。使用Hyper-V這樣的服務(wù)器虛擬化平臺以后,一方面可以用較低的成本來構(gòu)建測試開發(fā)環(huán)境,另一方面在測試環(huán)境的管理、從測試環(huán)境到生產(chǎn)環(huán)境的轉(zhuǎn)換和遷移等方面都將變得易于實現(xiàn)。
最后,是構(gòu)建動態(tài)的數(shù)據(jù)中心。Hyper-V能夠?qū)⑻摂M服務(wù)器操作系統(tǒng)以及上面運行的應(yīng)用程序與物理硬件相分離,這使得對應(yīng)用系統(tǒng)的管理、控制、高可用、遷移和容災(zāi)等方面都具有了非常大的靈活性,因此Hyper-V能夠為構(gòu)建動態(tài)的企業(yè)數(shù)據(jù)中心提供核心的支撐平臺。
微軟在Windows Server 2008 R2 Hyper-V之前也有一款服務(wù)器虛擬化的產(chǎn)品——Virtual Server 2005,但是需要知道的是Hyper-V雖然和Virtual Server2005在應(yīng)用領(lǐng)域方面有相同的地方,但是它們并不是同一款產(chǎn)品,Hyper-V也不是Virtual Server 2005的升級版本。Hyper-V和Virtual Server 2005擁有完全不同的架構(gòu),雖然作為使用者不需要了解太多Hyper-V原理和機制方面的知識,但是從圖2中至少可以了解到非常重要的一點:Hyper-V中的“虛擬機(guest)”和所謂的“宿主機(host)” 都是運行在同一個層次的,虛擬機操作系統(tǒng)并不是運行在另一個操作系統(tǒng)的內(nèi)部,也就是說Hyper-V中并沒有“真實操作系統(tǒng)”和“虛擬操作系統(tǒng)”之分,你可以認(rèn)為它們都是虛擬的或者都是真實的,這是Hyper-V和Virtual Server結(jié)構(gòu)上最大的不同點之一。
圖2 Hyper-V原理結(jié)構(gòu)
這種結(jié)構(gòu)帶來的一個最直接的好處就是Hyper-V中的虛擬機能夠獲得比以前Virtual Server等寄居型服務(wù)器虛擬化產(chǎn)品更好的性能和可伸縮性。與此同時由于基于硬件的虛擬化支持,虛擬機之間可以進(jìn)行有效的隔離和數(shù)據(jù)保護(hù),從而能夠在這個虛擬化平臺之上提供更高的安全性。這一切都使得Hyper-V為企業(yè)級的虛擬架構(gòu)提供了更加穩(wěn)固和可靠的平臺。