虛擬化這三個字,近兩年頻繁出現在IT網站和雜志上,一些媒體還建立了專欄進行報道。從去年到現在,不斷有“未來十大IT技術”的評選出爐,網上報道最廣泛的當屬Gartner(高德納咨詢公司 - 全球最具權威的IT研究與顧問咨詢公司)發布的“未來十大IT技術趨勢”,將虛擬化技術置于首位。
但網上的相關文章,較為專業,敘述生澀,又經常與其他概念參雜,如云計算,企業信息化,綠色IT,服務器節能等,讓人一惑不解,又添數問。作者將其轉換為通俗的語言,來介紹下虛擬化技術。小白、菜鳥們可以駐足,IT和虛擬化專業人士可以繞過。
一 虛擬化的概念和分類
顧名思義,虛擬化就是在計算上虛擬出一些實際計算機里真實存在的東西,以達到更方便、簡單、成本低、安全性高的目的。比如,虛擬計算機硬件,可以安裝操作系統;以現有操作系統為藍本,再虛擬出幾個一摸一樣的;虛擬一個操作系統環境,可以安裝應用軟件。這個解釋,是本人很通俗的說法,嚴格精準的定義,至今還未看到。
虛擬化技術,經過數年的發展,已經成為一個龐大的技術家族,其技術形式種類繁多,實現的應用也一大籮筐了。但對其分類,網上的介紹比較含糊,分類屬性不一。如將服務器虛擬化、硬件虛擬化、cpu虛擬化相提并論,但其實它們都屬一個類別,只是按不同屬性分類得出的不同名稱。
言歸正傳,現在按照不同屬性,對虛擬化做一個分類:
以實現層次來分:硬件虛擬化,操作系統虛擬化,應用程序虛擬化。
以被應用的領域來劃分:服務器虛擬化、存儲虛擬化、網絡虛擬化、桌面虛擬化。
還有從以某類里衍生出來的,無法歸類,比如cpu虛擬化,文件虛擬化。
這些不用屬性的類別之間的關系又是交錯聯系的,下面逐一簡單介紹一下。
二 虛擬化分類之硬件虛擬化
硬件虛擬化,應該是中國IT人員最熟悉的技術了,其代表產品VMware,可能每個程序員都有使用。還有更多一些類似本人這樣的IT愛好者,天天在搗鼓。
硬件虛擬化,就是用軟件來虛擬一臺標準電腦的硬件配置,如cpu、內存、硬盤、聲顯卡、光驅等,成為一臺虛擬的裸機,然后就可以在上面安裝操作系統了。
使用時,先在操作系統里安裝一個硬件虛擬化軟件,用其虛擬出一臺電腦,再安裝系統,做到系統里運行系統,并可虛擬出多臺電腦,安裝多個相同或不同的系統。
其代表產品為VMware,其余幾個知名的有:微軟的Virtual PC,開源免費的VirtualBox。
為虛擬機分配的硬件資源要占用實際硬件的資源,對性能損耗也較大。因為是在系統里安裝虛擬化軟件,再在虛擬的電腦上裝系統,所以就有原系統和虛擬化軟件兩層消耗,為了提高性能,出現了另外一種硬件虛擬化形式:直接在裸機上安裝虛擬化軟件,然后安裝多個系統,并同時運行。跳過原系統這一環節,性能大大提高。這種虛擬化又叫做準虛擬化。VMware推出的相關產品叫VMware ESXi,微軟的該類產品為Hyper-V,主要應用于服務器領域。
三 虛擬化分類之操作系統虛擬化
操作系統虛擬化就是以一個系統為母體,克隆出多個系統。它比硬件虛擬化要靈活方便,因為只需在系統里裝一個虛擬化軟件,就能以原系統為樣本,很快克隆出系統,克隆出的系統與原系統除去一些ID標識外,其余都一樣。
看似與硬件虛擬化一樣,都是虛擬多個操作系統出來,但與硬件虛擬化還是很多不同之處:
1. 操作系統虛擬化是以原系統為樣本,虛擬出一個近乎一摸一樣的系統;硬件虛擬化是虛擬硬件環境,然后真實的安裝系統。它們虛擬的東西不一樣。
2. 操作系統虛擬化,虛擬的系統都只能為同樣的系統;硬件虛擬化,虛擬的系統可以為不同的系統,如linnux、mac、windows家族。
3. 操作系統虛擬化,虛擬的多個系統有較強的聯系,體現在:第一,可以多個虛擬系統同時進行配置,更改了原系統,就改了所有;第二,如果原系統損壞,會殃及所有虛擬系統。硬件虛擬化虛擬的多個系統,是相互獨立,與原系統也無聯系。原系統的損壞不會殃及虛擬的系統。
4. 操作系統虛擬化的性能損耗低,它們都是虛擬的系統,而非硬件虛擬化那樣真實安裝的實體;沒有硬件虛擬化的虛擬硬件層,也大大降低了性能損耗。
四 虛擬化分類之應用虛擬化
前兩種虛擬化技術,大多應用于企業、服務器和一些IT專業工作領域。隨著虛擬化技術的發展,逐漸從企業往個人、專業往大眾應用的趨勢發展,便出現了應用程序虛擬化技術,簡稱應用虛擬化。它近年虛擬化的新貴和熱門領域。
前兩種虛擬化的目的是虛擬完整的真實的操作系統,應用虛擬化的目的也是虛擬操作系統,但只是為保證應用程序的正常運行虛擬系統的某些關鍵部分,如注冊表、C盤環境等,所以較為輕量、小巧。
打一個通俗的比喻:系統是一個餐桌,軟件是餐桌上各種菜品,應用虛擬化軟件則是一次性桌布。鋪個桌布的好處是,不會弄臟餐桌;即使桌布臟了,也好打理,比清理餐桌方便的多;桌上菜品,可以通過打包桌布,帶到另一個餐桌上,鋪開了就吃。
應用虛擬化技術的興起最早也是從企業市場而來。一個軟件被打包后,通過局域網很方便的分發到企業的幾千臺電腦上去,不用安裝,直接使用,大大降低了企業的IT成本。
應用到個人領域,可以實現很多非綠色軟件的移動使用,如cad、3dmax、office等;可以讓軟件免去重裝煩惱,不怕系統重裝。很有綠色軟件的優點,但又在應用范圍和體驗上超越綠色軟件。
使用方法大體為:先安裝虛擬化軟件,此時已經搭建了一個虛擬化環境,然后接收來自網絡的應用軟件或安裝應用軟件到虛擬化環境里,最后使用應用軟件。
應用虛擬化領域比較可喜的是,也有國產產品參與其中。下面簡單介紹幾個有代表性的:
1.Microsoft Application Virtualization (App-V)
前身是sofgrid,被微軟收購,主要針對企業內部的軟件分發,方便了企業桌面的統一配置和管理,支持同時使用同一程序的不同版本、在客戶端第一次運行程序時可以實現邊用邊下載等。但是對windows外殼擴展的程序的支持不夠好,并且安裝實施非常復雜,不是專業的管理員是很難部署起來的。
2.VMware ThinApp
前身是thinstall,被vmware收購。它不需要第三方平臺,直接把虛擬引擎(重寫了幾百個windows的api)和軟件打包成單文件,分發簡單,支持同時運行一個軟件的多個版本;但是和系統的結合不夠緊密,比如說文件關聯、類似于winrar等的右鍵菜單、無法封裝環境包(.net框架、 java環境)、無法封裝服務。主要用于企業軟件分發。
3.Symantec Software Virtualization Solution (SVS)
SVS于2006年左右被Symantec收購,它的虛擬引擎和虛擬軟件包是分離的,能做到對應用程序的完美支持,包括支持windows外殼擴展的程序,支持封裝環境包(.net框架、java環境)、支持封裝服務。但是無法同時運行同一個軟件的不同版本。主要用于企業軟件分發。
4.installfree
Installfree是后起之秀,其最大特色在于:無需在干凈的環境下打包軟件,也可以做到很好的兼容性。打包軟件,是應用虛擬化技術的一大難題。要實現一個軟件的隨處免安裝使用,就必須把軟件正常安裝后的文件都打成包,但如果系統不干凈,就會造成打包文件的不完整,分發到其他電腦上時無法使用。主要用于企業軟件分發。
5.sandboxIE
俗稱沙盤,這個是IT愛好者家喻戶曉的東東了。它主要用于軟件測試和安全使用領域。因為它像個軟件的囚籠,你可以把軟件安裝在沙盤里,并運行在其中,軟件所有行為都不會影響到系統。如果軟件帶毒或被感染病毒,可以一下掃光,就像把一個真實的沙盤里的各種沙造物體打碎,和一下重來。
6.云端軟件平臺(softcloud)
這是應用虛擬化領域的優秀國產軟件,面市不久,其實現原理與SVS很類似。但其最大特別之處在于,不是應用于企業市場,而是針對個人用戶使用軟件時的諸多問題和煩惱的解決方案。
其最大特色,本人理解集中于兩點:一是,讓軟件使用變得更方便快捷;二是,讓軟件使用不影響系統,保持系統干凈、穩定,真正的綠色。
云端與其他應用虛擬化軟件不同,它自帶了打包好的軟件資源,使用時無需安裝,一點就用,不寫注冊表、不寫系統;無用軟件可以一鍵刪除,快速干凈不殘留。而且最省事的一點莫過于重裝系統后,所有軟件不用重裝。因為在云端使用的軟件都在云端的緩存目錄里,重裝系統后只要安裝云端,再次指定這個目錄,所有軟件就可以立即恢復使用,并且無需重配置,就跟重裝前的一摸一樣。
它還有四個一鍵操作,非常方便:一鍵使用、一鍵刪除、一鍵重置到完好狀態、一鍵備份服務器,是使用軟件的全能幫手。
完全可以系統里只裝殺軟、云端,其余軟件都在云端里,非常好的體驗。