虛擬化是一種方法,本質上講是指從邏輯角度而不是物理角度來對資源進行配置,是從單一的邏輯角度來看待不同的物理資源的方法。以此出發(fā),虛擬化是一種邏輯角度出發(fā)的資源配置技術,是物理實際的邏輯抽象。比如說,當前只有一臺計算機,通過虛擬技術,在用戶看來,可以多臺,每臺都有其各自的CPU、內存、硬盤等物理資源。
對于用戶,虛擬化技術實現(xiàn)了軟件跟硬件分離,用戶不需要考慮后臺的具體硬件實現(xiàn),而只需在虛擬層環(huán)境上運行自己的系統(tǒng)和軟件。而這些系統(tǒng)和軟件在運行時,也似乎跟后臺的物理平臺無關。
服務器虛擬化技術是將服務器物理資源抽象成邏輯資源,讓一臺服務器變成幾臺甚至上百臺相互隔離的虛擬服務器,我們不再受限于物理上的界限,而是讓CPU、內存、磁盤、I/0等硬件變成可以動態(tài)管理的“資源池”,從而提高資源的利用率,簡化系統(tǒng)管理,實現(xiàn)服務器資源整合,讓IT對業(yè)務的變化更具適應力。
虛擬化的概念在20世紀60年代首次出現(xiàn),利用它可以對屬于稀有而昂貴資源的大型機硬件進行分區(qū)。隨著時間的推移,微型計算機和PC可提供更有效、更經(jīng)濟的方法來分配處理能力,因此到20世紀80年代,虛擬技術已不再廣泛使用。
但是到了20世紀90年代,研究人員開始探索如何利用虛擬化解決與廉價硬件激增相關的一些問題,例如,利用率不足、管理成本不斷攀升和易受攻擊等。虛擬化技術處于時代前沿,可以幫助企業(yè)升級和管理他們在世界各地的IT基礎架構并確保其安全。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統(tǒng),并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。
所有的IT設備,不管是PC、服務器還是存儲,都有一個共同點:它們被設計用來完成一組特定的指令。這些指令組成一個指令集。對于虛擬技術而言,“虛擬”實際上就是指的虛擬這些指令集。虛擬機有許多不同的類型,但是它們有一個共同的主題就是模擬一個指令集的概念。每個虛擬機都有一個用戶可以訪問的指令集。虛擬機把這些虛擬指令“映射”到計算機的實際指令集。硬分區(qū)、軟分區(qū)、邏輯分區(qū)、Solaris Container、VMware、Ken、微軟Hyper—V這些虛擬技術都是運用的這個原理,只是虛擬指令集所處的層次位置不同。無論哪一種虛擬技術,都要求需要實施虛擬化的物理服務器能夠良好地支持這些的虛擬化指令集。
全虛擬化方式
全虛擬化方式(Full Virtualization)是指虛擬管理層對底層硬件進行完全模擬,把底層硬件平臺的API完整拷貝并提供給上層虛擬機,虛擬機中的客戶操作系統(tǒng)和應用無法感知真實機器的存在。全虛擬化方式的優(yōu)點是兼容性好,可以在虛擬機上使用任何類型的操作系統(tǒng),客戶操作系統(tǒng)無需修改,所有軟件都能在虛擬機中運行;但其缺點是性能開銷較大,以軟件來完全模擬底層硬件必然影響硬件調用的性能。
半虛擬化方式
半虛擬化方式(Para—virtualization)是指虛擬管理層對底層硬件進行部分模擬,把底層硬件平臺的低級API用一套高級API來代替并提供給上層虛擬機,客戶操作系統(tǒng)需要支持底層硬件。這樣,虛擬機在運行時可減少用戶模式(User Mode)和特權模式(Supervisor Mode)之間的切換,從而降低運行時的開銷。例如,虛擬化軟件XEN就是使用了半虛擬化方式。
實現(xiàn)虛擬化的技術主要有純軟件的虛擬化技術和硬件輔助虛擬化技術兩種。前者是當前主流的虛擬化技術,具有成熟的應用,硬件輔助虛擬化技術是今后的發(fā)展方向。
軟件虛擬化技術
傳統(tǒng)的計算機層次結構分為三層,即硬件層(Hardware Layer)、主機操作系統(tǒng)層(HostOS Layer)和應用層(Application Layer)。在這種結構中,主機操作系統(tǒng)統(tǒng)一控制、管理和分配整個計算機的硬件和軟件資源,這種結構的缺點主要在于未能充分發(fā)揮CPU的性能,利用率較低;還有就是一臺計算機無法滿足同時運行多平臺的應用需求,如果對于一種不同的應用程序采用一臺獨立的物理服務器,解決方案是增加服務器的數(shù)量,這無疑將增加投資成本。
服務器虛擬化技術采用純軟件的方法,就是在硬件層之上仍然安裝被稱為主機操作系統(tǒng)的系統(tǒng),在其上部署虛擬機軟件(Virtual Machine Software,VMS),根據(jù)實際應用需求,VMS可以將物理計算機虛擬出多個分區(qū),每一個分區(qū)稱為一個虛擬機(Virtual Machine,VM)。虛擬機具有完整的計算機應用環(huán)境,包括硬件層(由VMS提供)、驅動接口層(由VMS提供)、操作系統(tǒng)(Guest OS Layer)及應用層(Applications),都是建立在計算機的應
用環(huán)境上,屬于用戶級軟件。這樣用戶可以“隨心所欲”地安裝應用程序。實現(xiàn)這種虛擬化技術關鍵在于虛擬機軟件的可靠性。
對于一臺獨立的物理服務器,在這臺服務器上安裝操作系統(tǒng),在操作系統(tǒng)安裝相應的應用程序,這種傳統(tǒng)架構是一臺獨立的物理服務器作為一種應用程序服務器使用。服務器虛擬化之后,一臺獨立物理服務器的資料被虛擬化為若干個獨立的主機,這些主機可以單獨安裝其他的操作系統(tǒng),在操作系統(tǒng)之上又可以分別安裝各種不同的應用程序。
基于軟件虛擬化技術實現(xiàn)的虛擬機軟件主要有VMware的Workstation、Microsoft的Hvper-V、Parallels等,這些軟件在近年來得到了迅速的推廣和應用。
硬件虛擬化技術
硬件輔助虛擬化技術源于Intel公布的Vanderpool技術,即VT技術,該技術對于服務器系統(tǒng),包括處理器VT技術和IO虛擬分配技術進行了規(guī)范。Intel和AMD公司發(fā)布的CPU產(chǎn)品中都集成了VT技術,為進一步推動和發(fā)展虛擬化計算環(huán)境提供了硬件支持。
由于虛擬化技術將物理服務器進行了抽象,形成邏輯上的服務器,因而有助于我們更好管理服務器的計算資源,與傳統(tǒng)應用相比.有以下四大突出的特征。
(1)分區(qū):將物理服務器進行虛擬化后。使得在一個物理服務器上同時運行多操作系統(tǒng),每個操作系統(tǒng)單獨運行在一臺虛擬機,通過在多個虛機之間劃分系統(tǒng)資源以滿足使用需求,顯然,這將提高服務器的利用效率。
(2)隔離:由于在硬件層實現(xiàn)了虛擬機之間的故障和安全隔離,因而因操作系統(tǒng)或應用軟件帶來的安全問題能夠更好地進行隔離,更好地保證安全性。而且通過高級資源調控還能動態(tài)地保證不同虛機的性能。
(3)封裝:運行的每個虛機都被封裝為文件,這樣在移動和復制虛機時就如同移動和復制文件一樣簡單,提高管理和部署的便利。
(4)硬件獨立性:虛擬機可以在異構硬件安裝和移動,基于虛擬化技術,可以在AMD或Intel架構的服務器上進行不同操作系統(tǒng)的安裝和移動,可以更好地整合現(xiàn)有的異構硬件資源來提高使用效率和節(jié)約投資。
基于服務器虛擬化技術所體現(xiàn)的特點,采用虛擬化技術帶來的好處非常明顯通過整合物理服務器,提高的資源利用率相當充分,絕大多數(shù)應用的傳統(tǒng)部署利用率不超過10%,虛擬化后利用率往往超過70%;此外,虛擬化意味著降低成本,節(jié)能減排,成為構建綠色IT的必然選擇,因為數(shù)據(jù)中心每減少一臺服務器,可以降低約4 t的二氧化碳排放量,這相當于減少了1.5輛在路上行駛的汽車或多種植55棵樹木,對于環(huán)境的保護意義非凡;虛擬化實現(xiàn)上是對物理硬件進行抽象,形成池化的計算資源,使得用戶面對多臺服務器時的管理復雜度大大降低.將大幅節(jié)約在傳統(tǒng)架構上的管理成本。正是基于這些優(yōu)勢,虛擬化技術得到廣泛認可和應用。不僅服務器被廣泛進行虛擬化.由于云計算的驅動,傳統(tǒng)的桌面PC也以新的虛擬化應用方式提供,存儲、網(wǎng)絡也被虛擬化,以全池化的形式進行資源的分配和管理,通過虛擬化層的軟件重新對數(shù)據(jù)中心的建設和應用方式進行定義。