虛擬化問答錄

問:什麼是虛擬化

答:虛擬化簡單來說就是用軟件的方式模擬硬件,這樣說着好像有點兒(貌似不止一點兒的程度)的抽象。應該很多人玩過俗稱小霸王的遊戲機把,以前我們要買小霸王那種硬件來才能玩小霸王的遊戲,現在我們在電腦下載一個模擬器就行了,這就算是虛擬化的一種形式,當計算機性能足夠了的時候可以通過軟件的形式模擬出了當時的硬件然後實現當時硬件的功能。如果還在說抽象的話,更加簡單表面點的(雖然這個並不是太準確,但如果上面都無法理解的話就姑且這樣認爲吧)就是在一臺電腦上能同時運行多個操作系統的技術就是虛擬化。

問:我一臺電腦一個系統就夠了,虛擬化有什麼用?

答:正常使用的話的確一個系統就夠了,但有時候你想在不影響物理主機的情況下想體驗下其他系統,比如現在不是出了個Windows Blue的泄露版麼,如果你想試試那貨難不成要你重裝一個還bug滿天飛的系統?有了虛擬化的話你就可以不用影響你的物理主機卻又能體驗其他系統了。如果你是編程人員的話你想在其他系統測試下你的軟件的話虛擬化技術也是一個很好的技術。

問:那麼虛擬化是不是就上面那些用途?好像也沒多大作用嘛?

答:上述用途僅僅是對個人而言,對企業來說就用途大了,虛擬化能夠整合物理服務器資源,提高服務器的資源利用率,同時虛擬化還是雲計算的技術。

正規的來說在企業裏是一個系統運行一個業務,但很多情況下一個業務並不會用盡服務器的資源,根據調查大部分的服務器的利用率不到15%,但如果使用虛擬化技術之後,則平均利用率能達到60%以上,這就意味着可以減少4倍的服務器硬件採購,空間佔用以及製冷費用卻能達到相同的效果。同時現在說的很火的雲計算也是基於虛擬化爲基礎的。

問:聽上去,是不是虛擬化只能虛擬操作系統?

答:不是的,只是虛擬操作系統是虛擬化的一個…比較基礎的特徵,畢竟沒任何其他虛擬化條件的情況下一臺物理硬件只能同時運行一個系統。

除了虛擬化系統,虛擬化技術還有諸如應用虛擬化,桌面虛擬化,網絡虛擬化等

問:你剛纔說到雲計算,近來好像一直在炒作這個,這個東西跟虛擬化有什麼關係呢?

答:虛擬化是雲計算的基礎,見下圖

clip_image002

(圖片來自微軟mva)

從圖中可以看到,傳統數據中心跟雲計算(包含私有云和公有云)之間就是隔了一個虛擬化。

因爲虛擬化,將傳統數據中心的資源集合起來形成一個池,然後以互聯網爲基礎向用戶提供服務,這就是雲計算的實質。所以虛擬化是現代雲計算的基礎(這裏說的比較簡略,要詳情瞭解這個請自行搜索雲計算的相關資料,本處由於涉嫌超綱所以就不多說了)

問:嗯,好像很牛的樣子,那虛擬化跟物理硬件相比性能怎樣呢?

答:由於虛擬化產品比較多,說產品方面的就真的兩天兩夜都說不完,僅僅說技術方面的。

總的來說,虛擬化技術分3種:

一種是以JVM(JAVA虛擬機)爲代表的程序虛擬化

其結構如下(畫圖畫的有點醜,別見怪)

clip_image004

從圖可以看到通過JVM隔離了系統和來賓,只要對應平臺上有JVM,那麼其來賓就能運行,這種虛擬化的目的是爲了跨平臺,所以程序員不需要針對特定平臺或者硬件編寫,只要一次編譯即可隨處運行(所以JAVA才如此牛叉)

第二種是以VM Workstation爲代表的混合虛擬化,結構如下圖

clip_image006

這種情況下,在系統底層(Ring0層)加入相應的驅動,但在應用層(Ring3層)還有對應的交互(Ring0是系統內核層,優先級最高,Ring1-2是系統服務層,Ring3是應用層,優先級最低)。換句話說是依靠物理主機操作系統來模擬硬件,這樣的特點是對物理機硬件要求低,但性能比較差,“老一輩”的虛擬化產品基本都是用了這種技術,比如微軟的VPC,VMware的Workstation,VirtualBox等。

第三種是現在開始越來越火的bare metal(裸金屬)架構,其結構如下

clip_image008

對於這種結構,可能有人會問,物理機哪裏去了?

這種虛擬化模式是直接在硬件上跑虛擬化管理層(VMM,裸金屬結構的管理層一般也叫Hypervisor)在這種模式下物理機本身也被當作了一個虛擬機,只不過運行着物理機的那塊叫根分區,其他的虛擬機叫子分區。

在這種結構下,Hypervisor是運行在Ring -1級的,爲什麼這麼說呢?因爲運行在其上面的所有虛擬機(含物理機操作系統)是無法感知到自己是運行在虛擬層上面的,上面的系統都會以爲自己其實是跑在真實的硬件之上。這種結構下的虛擬效率是最高的。關於這種裸金屬架構還有2個比較大的分支,是以VM爲代表的胖內核以及以微軟爲代表的瘦內核,至於哪個優劣這個還得看具體情況,具體兩者區別請自行搜索資料(又超綱了)

問:聽你說了一大堆神乎其神的東西,那麼虛擬化產品哪一家的比較好呢?

答:這個的話,直接推哪家就有廣告嫌疑了,就分別說說各家的特點

目前虛擬化市場比較大的有3家,分別是VMware,Microsoft,Citrix。

VMware,這是傳統的虛擬化老字號,虛擬化市場的龍頭企業….(牛吹大了…)

VM作爲虛擬化的先驅,很多人認識虛擬化就是從他開始的,其技術沉澱和具體的虛擬化經驗是其他廠商所無法比擬的,其產品線齊全口碑好,但其產品往往比較昂貴,而且如果要VM最佳的產品的話還要購買其認證硬件,這個往往開支會很大。

Microsoft,這就是操作系統的老字號了,現在這牌子基本無人不知無人不曉,但在虛擬化來說這隻能說是一個新軍(不過現在來說其實也算有點資質不新了)其有強大的研發能力導致其後勁十足,其新的Hyper-V比起VM來說一點都不落下風,且硬件兼容性好(基本上X86的意思就是等同於兼容微軟)而且微軟有一個是其他廠商無法比擬的優勢就是其產品整合程度是最高的(試問有哪家公司能提供從系統到應用軟件一條龍產品的?)

Citrix,這個基本來說就是應用虛擬化的王者,其桌面虛擬化也更接近於應用虛擬化,但由於筆者沒用過,僅僅瞭解到他應用虛擬化是很牛(本着沒用過的人無法做過多評價的原則所以保留意見)。

附上2012年虛擬化佔有率的餅圖

clip_image010

(圖片引用自IT168)

問:說了那麼一大堆,那麼我們企業是否應該進行虛擬化呢?虛擬化是否就一定是好的呢?

答:從長遠來看,虛擬化是肯定能帶來效益的,但具體來說,如果你公司規模比較大且服務器利用率不高則應該優先進行虛擬化,而如果公司規模不大服務器也沒幾臺那就沒多大需要虛擬化的必要了。

另外虛擬化不見得總是好的,因爲雖然虛擬化能帶來硬件利用率提升並且減少硬件採購,增加靈活度減少IT管理人員,但也導致了在軟件方面的花費增大,增加了管理的複雜度,對管理人員的要求也更高。

clip_image012

(圖片引用自微軟MVA)

具體是否應該虛擬化,那還是要請管理層仔細斟酌權衡各個利弊之後決定,但無論怎樣,在稍微有點規模之後,虛擬化的效益就會慢慢體現出來,且其對數據中心的未來發展以及爲了可能的向雲計算過渡來說是有顯而易見的好處的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章