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