概述
虛擬計算機指通過軟體模擬的具有完整硬體系統功能的,運行在一個完全隔離環境中的完整計算機系統。
優勢
提高伺服器利用率不通過購買新的硬體來增加計算能力的惟一方法就是虛擬地增加伺服器。
從近一兩年的套用情況來看,伺服器的實際利用率正在向業界敲響警鐘,這不僅僅發生在大型RISC伺服器上,中小型Intel架構的伺服器也面臨同樣的問題。目前來看,不通過購買新硬體設備來增加計算能力的惟一方法就是虛擬地增加伺服器,即伺服器虛擬化。
在大型機年代,虛擬化技術可以實現在一台計算機中運行多個作業系統,每一個作業系統可以運行各自的套用,並能與現有伺服器實現數據互傳。從理論上說,每一台實際的計算機都可以分出幾個、甚至幾十個虛擬作業系統,即虛擬計算機系統,提供用戶所需要的特定服務,比如檔案伺服器、列印伺服器、Web伺服器等。
但是,基於x86平台的伺服器系統的虛擬化卻是一個新興事物。幾年前,一些立志創新的人們才試圖從x86晶片組中“壓榨”更多空間。通過增設虛擬結構以期從機器中“壓榨”出更多性能的虛擬化(Virtualization)就是他們努力的核心方向。
虛擬化的優勢在於它能將所有可用的計算和存儲資源以資源池的方式組成一個單一的整合視圖,通過提供虛擬功能,可將資源看做一個單一公共的平台,最終資源池就像我們日常生活中的水和電一樣,成為企業信息系統中的“公用設施”(Utility Computing)。
對用戶的益處對用戶來說,虛擬計算資源帶來的益處是明顯的:首先提高了資源利用率,避免了複雜的系統集成和大規模的設備占用空間,降低了投資成本;二是簡化了管理的複雜性,能對整體系統運行環境進行統一監管和動態分配,從而降低了計算管理和運行成本;三是可以充分利用整體平台的優勢,更好地發揮系統的效能;四是從總體上提高了全系統的可靠性。在未來的幾年內,虛擬化將成為計算機技術中最具發展潛力的領域。
發展歷程
虛擬計算機可以追溯到上世紀70年代。當時計算機的記憶體主要由磁芯存儲器組成,由於受磁芯本身特性和驅動時延等因素的影響,計算機記憶體儲器往往是做不大的,一般只有幾KB到幾十KB,因而嚴重影響了計算機的套用和發展。為此,人們提出了虛擬存儲器的概念。在具有存儲器的計算機中,外存儲器(磁鼓、磁帶或磁碟)被當做記憶體儲器使用。對用戶來說,好像機器具有一個很大的記憶體儲器。虛擬記憶體儲器的容量由計算機的地址結構和輔助存儲器的容量決定,與實際記憶體無關。
在當時情況下,對於一些部件不完整性的計算機,可利用其他部件設施或別的機器的可公用部分,構成一個獨立完整的運算操作,好像就是一台計算機,所以被稱為虛擬計算機。
虛擬計算機和虛擬存儲器概念的提出和套用,對於上世紀70年代計算機和存儲資源緊張的情況下要完成大型計算和數據處理、信息處理任務,的確起到了一定的積極作用。
隨著大規模、超大規模積體電路的出現和套用,出現了大型計算機和巨型計算機。大型計算機的出現和套用給需要進行大量計算的部門帶來福音,但同時一台大型機的價格也十分昂貴。另外安裝大型機以後,對於一個單位而言,計算任務往往是不飽滿的,機器的空閒率很高,因而虛擬化又成為討得用戶歡心的拿手絕活,通過虛擬化提高了大型機的有效使用率。
今天,越來越多的企業發現自己大量的伺服器資源被嚴重閒置,伺服器實際使用率亟待提高,管理亟待改善,人們開始把希望寄托在虛擬化技術的套用上,希望利用虛擬化技術來解決伺服器閒置的問題,提高伺服器的利用率。虛擬化技術的套用,不僅是大型機的拿手絕活,已開始向中小型機及伺服器延伸,這已成為新時期虛擬化技術研究套用的熱潮,雖然這一時期和上世紀70年代虛擬化技術套用的內涵不同,但是虛擬化在計算機技術中套用的目標卻驚人的相似,都是圍繞著如何提高計算機套用效率而發展的。
技術的發展與套用,總是和社會的需求分不開,目前信息系統發展到“大集中”時代,計算機虛擬化的套用發展,已經出現兩大流派和技術。一是利用虛擬化來提高現有計算機、伺服器的利用率,已開始從大型機向小型伺服器擴展。世界範圍內已經出現了代表性的廠商和產品。二是整合計算技術和網路技術,整合存儲網路和開放的作業系統,形成一個柔性的企業級集約化的虛擬機平台,按需設定,整合數據中心多種套用和需求。這一方向是從建設開放、虛擬計算平台理念出發,把虛擬計算機技術套用推到了一個新的水平。
解決方案實例
伺服器虛擬化已經從大型機拓展到Intel平台,作為鞏固數據中心的方法,它正在掀起一股空前的流行趨勢。目前在Intel伺服器虛擬機領域主要有三家公司在競爭,包括Vmware、Swsoft、Connectix公司,他們都提供了基於CPU利用率提升(PV,Processor Virtualization)的獨特解決方案。
Vmware的虛擬伺服器VMware公司通過使用虛擬機技術,提供了硬體級的虛擬,即VMware虛擬機為運行於虛擬設備(VM)的作業系統映像提供了一整套虛擬的x86兼容硬體。這套虛擬硬體虛擬了真正伺服器所擁有的全部設備――主機板晶片集、CPU、記憶體、SCSI和IDE磁碟設備、連線埠以及顯示設備。每個虛擬機都被封裝到一個檔案中,因此可以實現工作負載的無縫移植。該軟體還可以運行在NAS和SAN上。
VMware公司伺服器虛擬化產品有兩種:GSX Server和ESX Server,都可以提供多作業系統支持。但這兩個產品採取的實現方式不同,GSX Server在宿主作業系統上運行虛擬作業系統,比如在Windows 2000系統中運行多個伺服器虛擬系統;而GSX Server的後繼產品 ESX Server則基於專有的系統平台,使用分立的分區來隔離每一個虛擬系統,消除了GSX Server無法避免的性能瓶頸,且可以將計算性能動態分配給有計算任務的虛擬伺服器。為了實現這一目標,管理員可以“接管”硬體,並且對每個虛擬機消耗的物理資源(下至某些網路頻寬以及每次I/O訪問)進行精確的控制。VMware技術能夠實現分區隔離。有了安全隔離,某個分區上的惡意用戶就無法破壞另一個分區上的系統。
到目前為止,VMware缺乏的是對64位及iSCSI的支持。儘管VMware還沒有公開發布什麼信息,但業界大多數人預測這些都應該在不遠的將來得以實現。
SWsoft公司的Virtuozzo虛擬系統與VMware公司產品的主要不同在於該技術虛擬了作業系統層。Virtuozzo系統使用所謂的虛擬環境(VE),而不是一般的虛擬設備(VM),即Virtuozzo在伺服器上虛擬作業系統,產生了完全隔離的虛擬分區,實現了分區間功能、容錯、命名和資源的隔離。
VE與眾不同之處在於它能夠虛擬作業系統分配系統資源的基本核心,這種方法具有更少的管理費用和更高的擴展性。據SWsoft公司介紹,如果不考慮一台伺服器上的虛擬環境/分區數,那么這種方法給每台伺服器增加的開支不超過1%。它能夠在單個物理系統中打開上千個的VE,大大提高了系統的伸縮性。另外,Virtuozzo還具有加強的API管理以及對64位安騰平台的支持功能。
Connectix公司的虛擬伺服器提供了兩項核心技術功能:虛擬,即將硬體實現的功能用軟體實現;二進制轉化,即將一個指令集轉化成為另外一個指令集(比如x86到PowerPC,或者x86到虛擬x86指令集)。它支持多個虛擬機作業系統,可以在這些平台運行OS/2和NetWare,實現完全的驅動兼容。虛擬伺服器還可以運行Linux、Windows NT、2000和Net Servers。
從表面上看,該產品與Vmware GSX Server類似,可以在宿主作業系統中運行多個伺服器仿真程式。而Connectix公司堅持,這一產品功能和性能可與Vmware的高端產品Vmware ESX Server相比,具體性能有待權威機構進行測試。
如此看來,採用基於CPU利用率提升的解決方案的優勢在於:可以在一台伺服器上運行多個不同的作業系統;可以增加一台伺服器的網路連線連線埠。