對(duì)癥下藥 服務(wù)器虛擬化難題有解
上一篇焦點(diǎn)話題中(點(diǎn)擊),我們?cè)鴮?duì)目前服務(wù)器虛擬化在實(shí)施之前,及具體部署過(guò)程中遇到了問(wèn)題進(jìn)行了總結(jié)與分析,本文就將致力于破解這些挑戰(zhàn),以幫助確實(shí)適用虛擬化技術(shù)的用戶能夠更放心、更輕松也更為堅(jiān)定的邁上服務(wù)器虛擬化之路,接下來(lái)就讓我們依次對(duì)癥下藥吧:
一、如何界定適合實(shí)施虛擬化技術(shù)的服務(wù)器及應(yīng)用?
嚴(yán)格意義上講,對(duì)于哪些應(yīng)用適于做虛擬化,并沒(méi)有明確的定義,但可通過(guò)相應(yīng)的原則來(lái)幫助我們過(guò)濾。這個(gè)原則主要就是應(yīng)用對(duì)系統(tǒng)資源的需求情況,有些企業(yè)級(jí)應(yīng)用對(duì)處理器資源占用率更大,可能還需要多臺(tái)物理服務(wù)器來(lái)支持,那就不太適合做虛擬化,因?yàn)樘摂M化本身就是一個(gè)追求資源復(fù)用的技術(shù),它適合整合那些平均處理器占用率略低的應(yīng)用,比如在20%左右的應(yīng)用,這樣一臺(tái)物理服務(wù)器可以整合4個(gè)這樣的應(yīng)用,再留出20%的資源應(yīng)對(duì)突發(fā)需求,就是一個(gè)比較好的解決方案。
當(dāng)然,資源占用情況與用于承載應(yīng)用的服務(wù)器的能力也是密切相關(guān)的,在計(jì)劃實(shí)施虛擬化時(shí),不光要考慮應(yīng)用對(duì)服務(wù)器的處理器、內(nèi)存等資源的占用,還要考慮其在I/O方面的需求。根據(jù)這一原則,用戶應(yīng)該選擇具備相應(yīng)能力的服務(wù)器,由于它要當(dāng)作多臺(tái)虛擬服務(wù)器使用,所以處理器與內(nèi)存資源是首當(dāng)其沖。比如運(yùn)行企業(yè)關(guān)鍵應(yīng)用的英特爾至強(qiáng)7500平臺(tái),目前在8路配置上即可提供64個(gè)CPU核心和高達(dá)2TB的內(nèi)存容量,這在x86服務(wù)器中是非常領(lǐng)先的,而其基于英特爾VT-d與VT-c實(shí)現(xiàn)的平臺(tái)內(nèi)I/O與網(wǎng)絡(luò)互聯(lián)的虛擬化功能,也能大大提升了虛擬機(jī)的I/O能力。針對(duì)這一平臺(tái),顯然適用于虛擬化的應(yīng)用種類也就大大增多了。而對(duì)資源要求以及關(guān)鍵等級(jí)不高的應(yīng)用,雙路平臺(tái)中,基于英特爾至強(qiáng)5600的服務(wù)器就完全可以勝任??傊?,資源占用率與占用傾向(占用處理器資源、內(nèi)存資源還是I/O資源?)是我們根據(jù)應(yīng)用界定服務(wù)器是否有必要應(yīng)用虛擬化技術(shù)的重要依據(jù),也是我們做服務(wù)器選型時(shí)的重點(diǎn)參考。
二、是選小型機(jī)還是x86服務(wù)器來(lái)做虛擬化?
在虛擬化技術(shù)方面,x86架構(gòu)的服務(wù)器陣營(yíng)的確是后來(lái)者,但這并不代表它們?cè)谔摂M化應(yīng)用上就是弱者,事實(shí)上隨著技術(shù)的進(jìn)步,特別是這一領(lǐng)域的核心廠商英特爾推出了硬件輔助虛擬化,強(qiáng)化了性能和功能,并降低了虛擬化的性能開(kāi)銷后,x86服務(wù)器的虛擬化能力就不再是一個(gè)疑問(wèn),而是一個(gè)肯定的回答了。事實(shí)上,現(xiàn)在所有的基于虛擬化技術(shù)的公共云(如Google、Amazon等)都是建立在x86平臺(tái)上的。而且與小型機(jī)平臺(tái)相比,英特爾至強(qiáng) 7500平臺(tái)新增了超過(guò)20個(gè)增強(qiáng)可靠性、可用性和可維護(hù)性的功能,已能提供與小型機(jī)相當(dāng)?shù)年P(guān)鍵業(yè)務(wù)承載能力,也能為虛擬化提供堅(jiān)實(shí)的硬件基礎(chǔ),完全可以應(yīng)用于金融、電信等高端核心業(yè)務(wù)的虛擬化整合領(lǐng)域。
因此,對(duì)于那些沒(méi)有小型機(jī)應(yīng)用遺留與兼容問(wèn)題困擾的用戶,現(xiàn)在完全可以考慮使用基于至強(qiáng)的x86平臺(tái)來(lái)做核心應(yīng)用的虛擬化平臺(tái),只有那些需要保留原有小型機(jī)應(yīng)用的客戶,才有必要認(rèn)真思考兩者間的取舍。
三、服務(wù)器虛擬化管理程序選誰(shuí)的好呢?
目前主流虛擬化軟件提供商的方案大體功能正在趨于一致,但仍有各自的長(zhǎng)處,例如:VMware在數(shù)據(jù)中心級(jí)的虛擬化解決方案占據(jù)領(lǐng)導(dǎo)地位;如果基于Windows平臺(tái),那么微軟的方案則是近水樓臺(tái)先得月;在終端虛擬化方面,則是思杰的傳統(tǒng)強(qiáng)項(xiàng)。
在這些的虛擬化解決方案中,一定要注意的是它們對(duì)處理器硬件虛擬化輔助技術(shù)的支持,它將大大減少虛擬化的性能開(kāi)銷,并更容易實(shí)現(xiàn)新的應(yīng)用。比如英特爾面向處理器的VT-x、面向芯片組的VT-d和針對(duì)網(wǎng)絡(luò)適配器的VT-c虛擬化技術(shù),他們都提供了獨(dú)一無(wú)二的全方位的硬件級(jí)虛擬化輔助能力,選用支持這些技術(shù)的虛擬化解決方案,將得到事半功倍的好處,甚至可以獲得一些"獨(dú)有"或額外的收益,比如思杰的XenClient終端虛擬化方案,就是借助于英特爾VT-d技術(shù)才能實(shí)現(xiàn),它使得PC終端也能生成全功能的虛擬機(jī),而不會(huì)造成本地3D顯卡與硬盤存儲(chǔ)方面的性能下降。
四、虛擬化之后的性能不理想?
如果排除之前應(yīng)用是否適用于虛擬化的界定問(wèn)題,那么出現(xiàn)這一現(xiàn)象的最大原因就是服務(wù)器的選型沒(méi)有與應(yīng)用的資源占用傾向相掛鉤,也就是說(shuō)用戶考慮得還不是很全面。很多人在做虛擬化時(shí),只關(guān)注到了CPU與內(nèi)存資源的占用,而沒(méi)有關(guān)注到與應(yīng)用效率密切相關(guān)的I/O性能。我們不難想象當(dāng)多個(gè)虛擬機(jī)共用一套物理存儲(chǔ)或網(wǎng)絡(luò)設(shè)備時(shí)的情況,這時(shí)就需要我們對(duì)平臺(tái)進(jìn)行相應(yīng)的配置。英特爾VT-d與VT-c技術(shù),配合吞吐量更高的英特爾SSD(固態(tài)硬盤)與虛擬網(wǎng)卡解決方案將能有效解決這一問(wèn)題,前者可以允許虛擬機(jī)直接訪問(wèn)主板外設(shè),比如硬盤,而SSD百倍于傳統(tǒng)硬盤的IOPS性能可以滿足同時(shí)多個(gè)虛擬機(jī)的并發(fā)訪問(wèn),VT-c則可以讓一塊網(wǎng)卡應(yīng)對(duì)多個(gè)虛擬機(jī)的復(fù)用,讓網(wǎng)卡具備了多個(gè)虛擬端口的直通響應(yīng)能力,這些都會(huì)大大提高的虛擬機(jī)I/O的性能與效率。
五、虛擬機(jī)遷移的靈活性如何保證?
虛擬機(jī)的實(shí)時(shí)遷移是虛擬化的一個(gè)重要的優(yōu)勢(shì),它為我們帶來(lái)了很多的應(yīng)用想象空間,然而不同CPU平臺(tái)間的遷移的確面臨著因CPU指令集不同可能造成虛擬機(jī)與新的物理平臺(tái)不兼容的情況發(fā)生,所以當(dāng)有這一需求時(shí),一定要注意平臺(tái)相關(guān)技術(shù)的保障能力。
在這方面,英特爾的虛擬化技術(shù)就專門提供了一項(xiàng)針對(duì)此問(wèn)題的技術(shù)--VT FlexMigration,借助這一技術(shù),可以在遷移池中的不同服務(wù)器間建立起一組協(xié)調(diào)一致的指令集,以確保遷移的平滑進(jìn)行,而不會(huì)因?yàn)樘摂M機(jī)請(qǐng)求一個(gè)目的服務(wù)器所不支持的指令集功能而出現(xiàn)錯(cuò)誤,從而讓虛擬機(jī)遷移的優(yōu)勢(shì)發(fā)揮到最大。目前,VT FlexMigration支持自至強(qiáng)5100系列(2006年推出)及之后所有的處理器平臺(tái)間的虛擬機(jī)平滑遷移。
六、虛擬化將多個(gè)應(yīng)用集中在一臺(tái)服務(wù)器上,可靠么?
經(jīng)過(guò)多年的發(fā)展與技術(shù)上的進(jìn)步,x86服務(wù)器已經(jīng)越來(lái)越可靠,正如前文所述,基于至強(qiáng)7500的服務(wù)器在RAS特性(可靠性、可用性、可維護(hù)性)上已能達(dá)到與小型機(jī)相當(dāng)?shù)乃?,再配合適合的操作系統(tǒng),在這一點(diǎn)上已經(jīng)無(wú)需用戶太過(guò)擔(dān)心,已有能力整合多個(gè)關(guān)鍵業(yè)務(wù)應(yīng)用。當(dāng)然,絕對(duì)可靠的系統(tǒng)并不存在,小型機(jī)也是如此,但不要忘了英特爾的VT-x、VT-d、VT-c等硬件虛擬化輔助技術(shù),也讓運(yùn)行在x86平臺(tái)上的虛擬機(jī)有了更多的"玩法",提供了物理服務(wù)器比不了的功能,比如跨越物理服務(wù)器局限的多點(diǎn)虛擬機(jī)快速災(zāi)備功能,它在保證虛擬機(jī)的可用性的同時(shí),借助虛擬機(jī)本身的優(yōu)勢(shì),也為IT架構(gòu)注入了強(qiáng)大的靈活性,并將依此誕生全新的應(yīng)用模式。
眼見(jiàn)之前列出的六大挑戰(zhàn)在眼前被一一破解,相信大家對(duì)服務(wù)器虛擬化技術(shù)也有了更強(qiáng)的信心,不過(guò),在這些主要的挑戰(zhàn)之外,仍有很多細(xì)節(jié)性的問(wèn)題需要解決,這還需要整個(gè)虛擬化產(chǎn)業(yè)界與用戶的進(jìn)一步互動(dòng)。同樣,本期《IT號(hào)外》的專家支招也不會(huì)就這樣結(jié)束,我們還摘錄了一篇有關(guān)英特爾頂尖虛擬化技術(shù)專家答疑解惑的文章分享給大家,敬請(qǐng)期待。
【編輯推薦】