什麼事虛拟化
虛拟化是一個比較廣義的概念,在計算機方面通常是指計算元件在虛拟的基礎上而不是真實的基礎上運作;也可以說是一種解決方案,為了簡化管理,最大化利用現有資源。例如:現有有一台伺服器,平時的伺服器資源隻用了10%-20%,還有80%的資源處于閑置狀态,造成資源的浪費,如果我使用虛拟化技術,在一台實體伺服器上運作多個系統,這樣可以充分的利用這台伺服器。
虛拟化的實作方式,從技術角度來說,有純軟體虛拟化,例如vmware和微軟的virtual server;和硬體虛拟化,主要是指cpu的虛拟化技術,像微軟的hyper-v就需要cpu支援硬體虛拟化。從應用角度來說,有伺服器虛拟化,桌面虛拟化、使用者虛拟化和存儲虛拟化等等。
對于純軟體虛拟化而言,容易實作,成本也低,但是在資源利用上有很多的限制,在虛拟機和硬體之間隔了一個作業系統,是以,虛拟作業系統上的應用程式到實際作業系統就要比通常應用程式多經過一個通信層。這個多出來的通信層同樣要經過資料轉換,這種轉換必然會增加系統的複雜性和系統資源的額外開銷。此外,客戶作業系統的支援受到虛拟機環境的能力限制,這會阻礙特定技術的部署,因而會降低系統可靠性和安全性。
純軟體的虛拟化技術在應用上受到了很多實體資源的限制。除了上述提到的額外通信層,為了運作虛拟軟體,就必須占用一部分系統資源,甚至是很大一部分,而這也會增加系統應用的額外開銷,這樣就大大降低了資源的效率,甚至失去了虛拟化的意義。
純軟體虛拟化的諸多不足,讓人們想到了硬體虛拟化。
cpu的虛拟化技術是一種硬體方案,支援虛拟技術的cpu帶有經特别優化過的指令集來控制虛拟過程,通過這些指令集,虛拟機可以很容易提高性能,相比純軟體的虛拟化技術會在很大程度上提高性能。cpu虛拟化技術可以提供基于晶片的功能,借助其相容技術還能改進純軟體解決方案。由于虛拟化硬體可以提供全新的架構,支援作業系統直接在上面運作,進而無需額外的二進制轉換,減少了相關的性能開銷,進而大簡化了虛拟軟體的設計,并使得設計可以标準化,性能更加強大。另外,在純軟體虛拟技術中,目前缺少對64位客戶作業系統的支援,而随着64位處理器的不斷普及,這一嚴重缺點也日益突出。而cpu的虛拟化技術除支援廣泛的傳統作業系統之外,還支援64位客戶作業系統。
對于軟體虛拟化方案來說,cpu虛拟化技術是一個巨大的進步,其優勢簡單的說來主要表現在減少軟體虛拟機相關的性能開銷,極大簡化了軟體的設計并支援更廣泛的作業系統兩個方面。
現狀
目前的虛拟化市場中,主流的産品有微軟的virtual pc和hyper-v系列産品,vmware的vmware workstation、vmware server以及vmware player系列産品以及xen的xen enterprise系列産品,其中vmware由于涉及這個領域比較早,目前在x86伺服器這個領域占有半數以上的市場佔有率,而軟體行業的老大微軟則是後涉足這個領域,但是随着微軟近來推出新一波虛拟化政策,他的市場佔有率正在逐漸擴大,越來越多的使用者加入到了微軟的hyper-v陣營中。