IBM Power虛擬化技術(shù):容易被人忽略的力量
以服務(wù)器虛擬化為主的虛擬化解決方案目前正在火熱的發(fā)展與普及中,各種跡象都表明,越來越多的客戶都已走出理論評(píng)估的階段,而開始真正的部署虛擬化解決方案。不過,由于x86服務(wù)器是當(dāng)前服務(wù)器市場出貨量的主流,所以一談到虛擬化,很多人都潛意識(shí)的將其等同于x86虛擬化解決方案,而在這一領(lǐng)域,大家想到的是VMware, Hyper-V和Xen等。但顯然這并不全面,當(dāng)虛擬化本身使得硬件平臺(tái)對(duì)于用戶來說越來越透明的時(shí)候,我們會(huì)發(fā)現(xiàn),其實(shí)與我們關(guān)系更密切的是應(yīng)用環(huán)境,而不再是硬件平臺(tái)本身了,這樣也將使我們對(duì)平臺(tái)的看法有所改變。所以,說到這里,我們就不得不提到IBM的虛擬化解決方案,以及IBM獨(dú)有的虛擬化軟件和技術(shù)。
事實(shí)上,當(dāng)我們放眼整體的服務(wù)器市場,尤其是在金融,電信等高端行業(yè)和數(shù)據(jù)中心等高端的應(yīng)用情境時(shí),IBM 虛擬化軟件Power VM使我們更深切的感受到IBM在Unix平臺(tái)上的虛擬化能力正左右著未來數(shù)據(jù)中心大整合、應(yīng)用平臺(tái)大融合的趨勢,成為市場上不可忽視的力量。本文主要介紹IBM虛擬化軟件Power VM的特點(diǎn)和優(yōu)勢,但I(xiàn)BM虛擬化軟件不僅僅是Power VM,IBM還擁有最完整的虛擬化軟件和虛擬化管理解決方案,例如Tivoli Monitoring (ITM),Systems Director 。
PowerVM的歷史
與只有10幾年歷史的x86平臺(tái)虛擬化的***VMware相比,IBM的虛擬化軟件和技術(shù)的歷史要比它久遠(yuǎn)多了。IBM早在40多年前就開發(fā)出***代虛擬化軟件,并應(yīng)用在它的大型主機(jī)上,當(dāng)時(shí)IBM使用一種專為 System/360 Mainframe. 量身訂造的操作系統(tǒng) CP-40。在 1967 年,***個(gè)虛擬化軟件Hypervisor誕生,第二版的Hypervisor(CP-67)則在1968年誕生,在那時(shí)它就支持跨虛擬機(jī)共享內(nèi)存,為每個(gè)用戶提供單獨(dú)的內(nèi)存空間。
在這里,Hypervisor(Hypervisor)是一種軟件,它允許多個(gè)操作系統(tǒng)共享一臺(tái)硬件主機(jī)。這個(gè)版本被用于整合物理硬件和更迅速地部署環(huán)境(比如開發(fā)環(huán)境)。在 20 世紀(jì) 70 年代,IBM 一直在改進(jìn)他們的技術(shù),支持 MVS 與其他操作系統(tǒng)(比如 UNIX)在 VM/370 上一起運(yùn)行。在 1997 年,同樣是在大型機(jī)上創(chuàng)建虛擬化技術(shù)的這些人在 IBM 中端平臺(tái)上創(chuàng)建了一個(gè)Hypervisor。
IBM Hypervisor所基于的一個(gè)關(guān)鍵元素在于,虛擬化是系統(tǒng)固件本身的一部分的事實(shí),這與其他基于Hypervisor的解決方案不同。這是因?yàn)椴僮飨到y(tǒng)(OS)、硬件和Hypervisor之間集成非常緊密,Hypervisor是介于 OS 與提供虛擬化功能的硬件之間的系統(tǒng)軟件。在 2001 年,經(jīng)過 4 年的設(shè)計(jì)和開發(fā),IBM 發(fā)布了一款面向中端 UNIX 系統(tǒng)的Hypervisor,該Hypervisor支持全局分區(qū)。2004 年發(fā)布了高級(jí)POWER虛擬化(Advanced Power Virtualization,APV,這里的Power不是指電源,而是指POWER System服務(wù)器),它是 IBM ***款真正的虛擬化解決方案,支持共享資源,它在 2008 年被重新命名為 PowerVM,PowerVM成為IBM新的虛擬化軟件代號(hào)。
PowerVM的主要特色
PowerVM是一個(gè)典型的Type 1的Hypervisor,這從基礎(chǔ)上保證了它的高效率,但與VMware、微軟、Xen的Type1型Hypervisor相比,PowerVM仍然有自己鮮明的特色,發(fā)展至今,PowerVM目前有以下幾個(gè)重要的特點(diǎn)與功能。
PowerVM的基本架構(gòu),在框架設(shè)計(jì)上,它與微軟的Hyper-V和思杰的XenServer更為相似
虛擬I/O服務(wù)器(VIOS,Virtual I/O Server)—— 這個(gè)服務(wù)器負(fù)責(zé)為虛擬分區(qū)提供 I/O 服務(wù)。它負(fù)責(zé)管理物理適配器供一個(gè)或多個(gè) VIO 虛擬的客戶分區(qū)共享。這有助于消除對(duì)專用網(wǎng)絡(luò)和/或 I/O 的需求,從而減少了成本。IBM 的實(shí)現(xiàn)方法使用了共享以太網(wǎng)和虛擬 SCSI 來支持共享網(wǎng)絡(luò)和磁盤 I/O。
微分區(qū)和共享處理器邏輯分區(qū)(Micro partitioning and Shared Processor Logical Partitioning,SLPAR) —— 微分區(qū)允許虛擬分區(qū)只占用一部分的CPU資源,最細(xì)的顆粒度可以只到一個(gè)CPU核心的1/10。虛擬服務(wù)器可以在任何物理服務(wù)器上運(yùn)行,因?yàn)槲锢硖幚砥魇峭耆蚕淼?。而共享的處理器邏輯分區(qū)可以在微分區(qū)的基礎(chǔ)上,通過使用一種稱為未封頂分區(qū)的特性來擴(kuò)大 CPU 數(shù)量和它們的授權(quán)容量(Entitled Capacity,EC),授權(quán)容量在創(chuàng)建 CPU 的配置文件時(shí)配置。這是一項(xiàng)重要特性,因?yàn)樵试S系統(tǒng)在突發(fā)的 CPU 密集時(shí)期,從一個(gè)共享的處理器池的其他邏輯分區(qū)中分配未使用的 CPU 資源,這些資源在其他時(shí)間是空閑的,這樣,能夠夠以一種動(dòng)態(tài)方式簡化工作負(fù)載管理。 則CPU資源的調(diào)整單位可精細(xì)到1/100核心,方便精確性管理。
動(dòng)態(tài)分區(qū)遷移(Live Partition Mobility)—— 這個(gè)功能支持將正在運(yùn)行的邏輯分區(qū) LPAR(等同于一個(gè)虛擬機(jī),可以是 AIX 或 Linux)從一個(gè)物理服務(wù)器移動(dòng)到另一個(gè)服務(wù)器。
共享專用容量—— 允許專用處理器分區(qū)將空閑 CPU 周期捐獻(xiàn)出來,以便在空閑處理器池中使用。
多個(gè)處理器池—— 允許在分配給共享池的分區(qū)之間均衡處理能力,從而提高吞吐量。
Lx86—— 這項(xiàng)技術(shù)支持運(yùn)行直接在 Linux 分區(qū)上運(yùn)行沒有專門移植到 Power Architecture 的 x86 Linux 應(yīng)用程序,無需執(zhí)行必要的重新編譯操作??梢杂行У恼匣趚86的Linux應(yīng)用服務(wù)器。
工作負(fù)載分區(qū)(Workload Partitioning ,WPAR)與遷移——這是一個(gè)非常有用,且十分重要的特性,它的對(duì)象并不是一個(gè)完整的虛擬化區(qū),而是相應(yīng)的工作負(fù)載(Workload)。類似于 Solaris 容器/專區(qū),它提供了將邏輯分區(qū)拆分為工作負(fù)載的能力。每個(gè)工作負(fù)載都具有自己的包含環(huán)境,但沒有自己的內(nèi)核。經(jīng)過配置的 WPAR 是 LPAR 的一部分,它減少了需要維護(hù)的 AIX 映像的數(shù)量。WPAR 在 AIX 實(shí)例**享系統(tǒng)資源:目錄、CPU、RAM 和 I/O。而且可以像遷移LPAR那樣,將WPAR進(jìn)行遷移且不需要中斷應(yīng)用的運(yùn)行(即Live Application Mobility),這個(gè)特性還允許執(zhí)行多系統(tǒng)負(fù)載平衡,可以用來節(jié)約數(shù)據(jù)中心的成本。
活動(dòng)內(nèi)存共享(Active Memory Sharing,AMS)——與處理器池的概念相似,多個(gè)分區(qū)可共享一個(gè)物理內(nèi)存池,而每個(gè)分區(qū)根據(jù)工作負(fù)載的情況可動(dòng)態(tài)的調(diào)配內(nèi)存資源。當(dāng)然,管理員也可以為分區(qū)分配專一的內(nèi)存資源以確保應(yīng)用性能,而AMS的出現(xiàn)為靈活的運(yùn)用內(nèi)存提供了可能。
主動(dòng)內(nèi)存擴(kuò)展(Active Memory Expansion,AME)——應(yīng)用有需求的時(shí)候(比如SAP的ERP應(yīng)用),通過內(nèi)存壓縮技術(shù)將現(xiàn)有的內(nèi)存數(shù)據(jù)進(jìn)行壓縮,以騰出物理內(nèi)存空間,最多可等效擴(kuò)充50%的內(nèi)存容量,用戶也因此可以在部署相關(guān)應(yīng)用時(shí)節(jié)省50%內(nèi)存容量的成本。
PowerVM相較其他UNIX虛擬化平臺(tái)的優(yōu)勢
目前,在UNIX平臺(tái)下,主要的虛擬化解決方案均是相關(guān)硬件平臺(tái)廠商所專門開發(fā)的,IBM的POWER系統(tǒng)對(duì)應(yīng)的虛擬化軟件就是PowerVM,而HP的安騰平臺(tái)就是VSE(Virtual Server Environment,虛擬服務(wù)器環(huán)境),Sun的SPARC平臺(tái)則是xVM,但面向SPARC系統(tǒng)的主要還是LDOM(面向Solaris on x86的是基于Xen開源平臺(tái)的),至于Virtual BOX則是面向終端桌面的產(chǎn)品,并不在本文的討論范圍。
HP的VSE也有著比x86平臺(tái)虛擬化更悠久的歷史,大約在26年前,HP推出了自己的虛擬化技術(shù),這可算是VSE的前身,而在具體的功能上HP也在不斷完善著VSE的能力,不過其主要的虛擬化模式vPar、nPar以及IVM(Integrity Virtual Machines)均有自己的不足,相對(duì)來說vPar、nPar并不能算是完全的虛擬化分區(qū),它們不支持內(nèi)核共享,分區(qū)間也不能做到共享虛擬化資源,做分區(qū)的遷移時(shí)仍需要離線,所以這有違于虛擬化的初衷,因此HP的安騰系統(tǒng)主要的虛擬化應(yīng)用是基于IVM的。在虛擬機(jī)的CPU核心顆粒度方面,IVM占有優(yōu)勢,可達(dá)到1/20核心,PowerVM只有1/10,不過PowerVM的分區(qū)可以***支持64個(gè)虛擬處理器(vCPU),而IVM只有4個(gè)(HP的vPar分區(qū)倒可以支持到128個(gè)vCPU,但又不能做到CPU與I/O資源共享,以及分區(qū)的動(dòng)態(tài)遷移)。在內(nèi)存容量方面,PowerVM的分區(qū)可支持高達(dá)2TB的內(nèi)存,而IVM***只支持64GB內(nèi)存。當(dāng)然,VSE也有自己的優(yōu)勢,那就是支持Windows Server操作系統(tǒng),不過一臺(tái)安騰主機(jī)對(duì)于Windows應(yīng)用來說,性價(jià)比可能更有待考慮。
至于Sun的LDOM,則也在相應(yīng)的規(guī)格上處于下風(fēng),它的虛擬分區(qū)***支持8個(gè)vCPU與64GB的內(nèi)存,并且微分區(qū)功能較弱,在T1處理器上只能實(shí)現(xiàn)4個(gè)微分區(qū),而在T2處理器上則為8個(gè),并且也不支持分區(qū)間的動(dòng)態(tài)分配。
另外一點(diǎn),活動(dòng)內(nèi)存共享與活動(dòng)內(nèi)存擴(kuò)展兩大功能也是HP與Sun虛擬化技術(shù)所不具備的。而更重要的是,在新的一代服務(wù)器硬件平臺(tái)的發(fā)展中,Sun已經(jīng)明顯力不從心,HP所采用的在2010發(fā)布的安騰9300處理器其實(shí)是一款2007年的產(chǎn)品,在硬件性能方面明顯不如IBM的POWER7,而強(qiáng)大的硬件平臺(tái)的性能也為更為強(qiáng)大的虛擬化性能提供了基礎(chǔ)的保障,這一點(diǎn)POWER7與PowerVM的組合,無疑更占優(yōu)勢。
PowerVM相較x86虛擬化平臺(tái)的優(yōu)勢
而在與x86平臺(tái)的其他虛擬化軟件相比較時(shí),我們更能看出PowerVM的優(yōu)勢,這是與幾十年的發(fā)展積累分不開的。
注:***的vSphere 4.1的虛擬機(jī)并發(fā)遷移數(shù)量也能達(dá)8個(gè),不過并沒有超過PowerVM的水平
以上是PowerVM與***的,也是當(dāng)前***大的x86虛擬化平臺(tái)VMware的vSphere 4的比較,可以看出在PowerVM的優(yōu)勢明顯,而微軟的Hyper-V R2的虛擬機(jī)也只支持最多4個(gè)vCPU與64GB內(nèi)存,而XenServer 5.5則是8Vcpu/32GB內(nèi)存,在可用的虛擬機(jī)數(shù)量方面,vSphere單臺(tái)服務(wù)器可最多支持320個(gè)虛擬機(jī),Hyper-V R2為384個(gè),而PowerVM目前的水平可達(dá)640個(gè),不久的未來將會(huì)達(dá)到1000個(gè)虛擬機(jī)的水平。
此外,在虛擬化的性能衰減方面,IBM的PowerVM也有明顯的優(yōu)勢。
所謂的虛擬化性能衰減是指服務(wù)器在做虛擬化后的應(yīng)用性能,相對(duì)于裸機(jī)時(shí)的應(yīng)用性能的下降幅度,下降幅度越小,也就意味著虛擬化性能的衰減越小,虛擬化的效率越高,即系統(tǒng)進(jìn)行虛擬化時(shí)的系統(tǒng)開銷越少,而留給應(yīng)用的處理資源(CPU/內(nèi)存/IO等)越多。
在SAP S&D 2-tier的測試中,以每核心的用戶數(shù)為基準(zhǔn),我們可以看出POWER系統(tǒng)基本上沒有因虛擬化而產(chǎn)生性能衰減,而在至強(qiáng)5500系統(tǒng)上,配合VMware***的ESX(包含于vSphere 4),性能出現(xiàn)了比較大的衰減,當(dāng)使用4個(gè)虛擬CPU時(shí),較裸機(jī)性能下降了31.7%,而當(dāng)虛擬CPU增加到8個(gè)時(shí)(到時(shí)與物理CPU核心數(shù)量相當(dāng)),雖然測試結(jié)果較4個(gè)虛擬CPU更高,但每核心的性能則較裸機(jī)性能下降了38.7%,超過了1/3,可見系統(tǒng)的虛擬化開銷是比較大的。不過,就裸機(jī)性能來看,至強(qiáng)5500有明顯讓人眼前一亮,已經(jīng)明顯超過了Power 570。
同樣的性能衰減也出現(xiàn)在微軟的Hyper-V平臺(tái)上。首先是單個(gè)虛擬機(jī)不同數(shù)量的虛擬CPU的比較,這里采用的測試程序是DayTrader2.0,它是一個(gè)開源的基準(zhǔn)測試程序,DayTrader2.0測試模型一個(gè)股票交易系統(tǒng),基于Java EE技術(shù)構(gòu)建,采用了外連的數(shù)據(jù)庫架構(gòu),在測試中Power 550與至強(qiáng)5500服務(wù)器測試環(huán)境均搭配相同的數(shù)據(jù)庫服務(wù)器(基于Power 570),數(shù)據(jù)庫是DB2 2.97。對(duì)于測試結(jié)果我們暫且不看不同虛擬CPU個(gè)數(shù)時(shí)的性能差異,只看性能差異的變化值,從1個(gè)虛擬CPU過渡到2個(gè)虛擬CPU時(shí),POWER與至強(qiáng)5500系統(tǒng)基本上都呈現(xiàn)了成倍的線性性能增長,至強(qiáng)5500甚至更明顯(POWER的依靠幅度降低),但當(dāng)虛擬CPU數(shù)量提高到4個(gè)和8個(gè)時(shí),可以看出雖然兩者的性能提升幅度不再像1到2個(gè)虛擬CPU時(shí)那樣大,但兩者間的性能差距在漸漸拉開,也就說明Hyper-V的虛擬化性能衰減更大了。
AIM7虛擬機(jī)測試結(jié)果
接下來是虛擬機(jī)數(shù)量的擴(kuò)展性能對(duì)比測試,測試軟件也是一個(gè)開源的基準(zhǔn)測試程序——AIM7,它主要用來對(duì)服務(wù)器的CPU、內(nèi)存與I/O子系統(tǒng)進(jìn)行壓力測試,而虛擬機(jī)數(shù)量無疑將增加對(duì)系統(tǒng)的負(fù)載,所以這個(gè)測試也將體現(xiàn)系統(tǒng)各功能單元對(duì)虛擬機(jī)數(shù)量的承載能力。還是不用看每個(gè)虛擬機(jī)數(shù)量階段的性能差異,而是看差異變化的趨勢。我們會(huì)發(fā)現(xiàn)POWER系統(tǒng)基本可以得到線性的增長,至強(qiáng)5500系統(tǒng)在1和4個(gè)虛擬機(jī)時(shí)表現(xiàn)還不錯(cuò),甚至在4個(gè)虛擬機(jī)時(shí)與POWER的性能差距小于1個(gè)虛擬機(jī)的狀態(tài),但到了6個(gè)和8個(gè)虛擬機(jī)之后,兩者的性能就開始拉大,也就意味著此時(shí)Hyper-V的虛擬化性能衰減開始越來越明顯。
以上測試基本能反應(yīng)出了PowerVM與x86上的ESX、Hyper-V這幾個(gè)Hypervisor的效率差異,顯然,PowerVM在系統(tǒng)資源的調(diào)配與管理上要更為成熟高效些。
***值得注意的是,PowerVM還具備x86 Linux直接兼容的能力,傳統(tǒng)在x86平臺(tái)上運(yùn)行的Linux系統(tǒng)可以不改代碼運(yùn)行在PowerVM環(huán)境中,而相對(duì)于POWER系統(tǒng)自身的Linux系統(tǒng),性能衰減只有10%。
總結(jié):PowerVM的價(jià)值不容忽視
通過以上的分析對(duì)比,我們可以感覺到IBM在虛擬化軟件和技術(shù)方面的優(yōu)勢,以及在UNIX平臺(tái)上的虛擬化能力,但長久的平臺(tái)界限的劃分,讓大多數(shù)用戶忽略了這一點(diǎn)。不過,正像本文開頭所講的,虛擬化技術(shù)本身也在正使平臺(tái)的劃分開始模糊,而用戶也因此會(huì)越來越關(guān)注應(yīng)用的運(yùn)行環(huán)境而不再是硬件平臺(tái)。
這讓我們想起了IBM另一個(gè)引以為榮的產(chǎn)品——大型主機(jī),而它早就以虛擬化技術(shù)聞名于天下,借助于兼容Linux系統(tǒng),使得大型主機(jī)獲得了更廣闊的應(yīng)用范圍,以及更強(qiáng)大的服務(wù)能力。而對(duì)于POWER系統(tǒng)來講,強(qiáng)大的裸機(jī)性能顯然是一個(gè)堅(jiān)實(shí)的保障,在此基礎(chǔ)上的高效率的虛擬化平臺(tái),也將讓POWER系統(tǒng)有機(jī)會(huì)向下染指x86的應(yīng)用領(lǐng)地。
總之,當(dāng)我們?yōu)閤86平臺(tái)的性能獲得巨大進(jìn)步而歡心鼓舞,并期盼其與UNIX系統(tǒng)一爭高小的同時(shí),也不要忘了,虛擬化技術(shù)的出現(xiàn),也讓服務(wù)器市場變化更為“虛幻莫測”,如果說x86通過增強(qiáng)性能與RAS特性而向高端進(jìn)軍,那么UNIX小型機(jī)也完全可能借助于虛擬化向x86領(lǐng)地滲透,這在當(dāng)前所倡導(dǎo)的數(shù)據(jù)中心大整合、應(yīng)用平臺(tái)大融合的理念并不抵觸,就看能否找到其中那個(gè)“臨界點(diǎn)”,而在這里,IBM PowerVM的價(jià)值與能量顯然不可忽視!