虛擬技術(shù)作為重要的計(jì)算機(jī)支撐技術(shù),在云計(jì)算中發(fā)揮著關(guān)鍵作用。得益于虛擬化軟件技術(shù),云計(jì)算實(shí)現(xiàn)進(jìn)程已提前到來。
虛擬化計(jì)算可以存在于計(jì)算機(jī)任何層面之間,從應(yīng)用程序到最底硬件層,將真實(shí)層面虛擬,取代真實(shí)層面面向上一層,將上下兩層的關(guān)系進(jìn)行去耦合,使下層透明化,上一層面向虛擬層即可實(shí)現(xiàn)操作功能。
當(dāng)然,虛擬化技術(shù)是軟件技術(shù),是對硬件的功能模擬,需要復(fù)雜語義和機(jī)制進(jìn)行控制和協(xié)作實(shí)現(xiàn),這意味著開銷的增多,對性能也有一定影響,不過隨著虛擬化技術(shù)的不斷發(fā)展和基礎(chǔ)平臺(tái)性能的不斷提高,這一問題已得到很好的解決,使云計(jì)算的推廣有了很好的時(shí)機(jī)。
服務(wù)器虛擬化是云計(jì)算基礎(chǔ)平臺(tái)的核心部分,通過對服務(wù)器虛擬化技術(shù)進(jìn)行解析,展示了云計(jì)算服務(wù)推廣所需的生產(chǎn)平臺(tái),對經(jīng)營云服務(wù)的公司具有一定的指導(dǎo)作用。
1 服務(wù)器虛擬化技術(shù)及價(jià)值優(yōu)勢
虛擬化的定義有很多,可歸納總結(jié)為邏輯技術(shù),以集成抽象方式訪問(調(diào)用計(jì)算機(jī)資源,基于物理機(jī)制,但不受物理限制。虛擬化對任何硬件資源都可虛擬,例如,中央處理器(CPU)、內(nèi)存、硬盤和輸入,輸出(I/O)接口;也可以對軟件環(huán)境進(jìn)行虛擬,例如,操作系統(tǒng)(文件系統(tǒng)和應(yīng)用程序等。虛擬技術(shù)的這種內(nèi)涵決定了它在云計(jì)算中的核心支撐地位,對于云,首先是虛擬資源池,無池就無集成。
服務(wù)器虛擬化技術(shù)是重中之重,是將系統(tǒng)進(jìn)行虛擬化應(yīng)用于服務(wù)器之上的技術(shù),物理服務(wù)器被虛擬成多個(gè)服務(wù)器,面向應(yīng)用集中化處理,多臺(tái)服務(wù)器處理的程序或數(shù)據(jù),通過虛擬技術(shù)放置到1臺(tái)服務(wù)器進(jìn)行處理,能跨越物理平臺(tái)而不受物理平臺(tái)的限制。
云計(jì)算是將IT資源進(jìn)行全部虛擬化,服務(wù)器虛擬化技術(shù)與此目的一致。
產(chǎn)品基于應(yīng)用,同樣做虛擬化必然要遵循市場,在成本和經(jīng)營間要體現(xiàn)價(jià)值才能走向商用化領(lǐng)域。前面講到的時(shí)機(jī),使服務(wù)器虛擬化技術(shù)體現(xiàn)了巨大的價(jià)值優(yōu)勢,分析如下:
1)降低運(yùn)營成本。信息化服務(wù)商的經(jīng)營轉(zhuǎn)型,集約化的管理要求成本必需嚴(yán)格控制,投資趨于精細(xì)化。企業(yè)IT化運(yùn)營成本,主要集中于數(shù)據(jù)中心的投資,其中涉及兩部分:一是硬件和許可服務(wù)支持的投入成本;二是運(yùn)行維護(hù)成本。服務(wù)器虛擬化不僅能充分發(fā)揮服務(wù)器性能,并且依靠強(qiáng)大的虛擬化服務(wù)環(huán)境管理工具使得管理自動(dòng)化,減少了人工干預(yù)。數(shù)據(jù)中心的總體投資呈大幅下降趨勢,在成本管控上體現(xiàn)出巨大的成本節(jié)約空間。
2)應(yīng)用平坦化,平臺(tái)得以透明化?,F(xiàn)有數(shù)據(jù)中心存在多平臺(tái)。這意味著應(yīng)用的復(fù)雜度大幅增加,不同的平臺(tái),要考慮操作系統(tǒng)和中間件等各層面問題,應(yīng)用在各平臺(tái)的發(fā)布、整合和管理上存在巨大的調(diào)試難度,應(yīng)用投放市場的周期相應(yīng)過長。服務(wù)器虛擬化技術(shù)能很好地解決這個(gè)難題,應(yīng)用與硬件平臺(tái)隔離,底層的環(huán)境變化調(diào)整次數(shù)大幅降低,將應(yīng)用創(chuàng)建發(fā)布至虛擬平臺(tái)上即可,相當(dāng)于為平臺(tái)進(jìn)行封裝,跨越了平臺(tái)的限制。
3)提升產(chǎn)品投放效率,加快應(yīng)用對市場需要的響應(yīng)速度?,F(xiàn)在數(shù)據(jù)中心部署應(yīng)用大致會(huì)經(jīng)歷以下步驟:挑選物理機(jī),安裝中間件,安裝應(yīng)用,配置,測試和運(yùn)行。應(yīng)用發(fā)布周期為數(shù)天。應(yīng)用部署需要人員全程跟蹤,不同領(lǐng)域不同模塊的人員在交流時(shí)存在理解問題,容易導(dǎo)致環(huán)節(jié)交接處出錯(cuò)。虛擬化的服務(wù)器技術(shù),使得應(yīng)用部署周期大幅縮短,只需以下幾個(gè)簡單步驟:輸入激活配置參數(shù),拷貝虛擬機(jī),啟動(dòng)虛擬機(jī)和激活虛擬機(jī),周期一般為十幾分鐘。顯然,虛擬化服務(wù)器技術(shù)對于應(yīng)用部署和對市場需求的快速響應(yīng)存在天然優(yōu)勢。
4)創(chuàng)新型備份和恢復(fù)技術(shù),實(shí)時(shí)遷移提高服務(wù)可用性。服務(wù)的穩(wěn)定不間斷提供,是云計(jì)算服務(wù)提供商首要考慮的。舊型數(shù)據(jù)中心采用多物理機(jī)、多人工備份和可用性管理工具來保障故障時(shí)服務(wù)的恢復(fù)。服務(wù)器虛擬化后的數(shù)據(jù)中心、虛擬化的資源對應(yīng)每個(gè)虛擬機(jī),被虛擬機(jī)管理程序封裝和隔離,針對每個(gè)虛擬機(jī)進(jìn)行備份操作,操作后的鏡像可以根據(jù)要求動(dòng)態(tài)遷移至新的虛擬機(jī)或新的物理機(jī)上。動(dòng)態(tài)遷移技術(shù)基于虛擬池,不局限于某一臺(tái)物理機(jī),這使得服務(wù)可用性在多物理機(jī)動(dòng)態(tài)遷移中得到自動(dòng)提升。
5)整合資源,提升資源利用率。云計(jì)算的普及是伴隨著資源的低效應(yīng)用而生的,集中化資源管理被賦予新的生命,這是云計(jì)算推廣的重要時(shí)機(jī)。據(jù)Coogle報(bào)告,企業(yè)數(shù)據(jù)中心的硬件資源利用率在5%一20%之間。采用服務(wù)器虛擬技術(shù),在原應(yīng)用不變的基礎(chǔ)上,集中在某一臺(tái)物理機(jī)上,使得物理資源的利用率大幅提高,相應(yīng)減少了硬件的投入,節(jié)約即是財(cái)富。
6)綠色。全球發(fā)展的今天,政府要求通過技術(shù)革新,降低資源的損耗。這也是個(gè)重要的時(shí)機(jī),導(dǎo)致云計(jì)算備受推廣,IT界幾乎是達(dá)成共識(shí),強(qiáng)力推進(jìn)。服務(wù)器虛擬化計(jì)算在提高資源利用率的同時(shí),能對能耗進(jìn)行有效管理,關(guān)閉限制X86(微軟計(jì)算機(jī)體系架構(gòu))服務(wù)器和應(yīng)用程序。除此之外,對運(yùn)行環(huán)境的溫度進(jìn)行控制,降低配套設(shè)備如空調(diào)的大量耗電,整體性達(dá)到綠色低碳的目的。
2 服務(wù)器虛擬化關(guān)鍵技術(shù)
服務(wù)器虛擬化是對硬件的抽象和對虛擬的管理。
服務(wù)器虛擬:一是對3種基礎(chǔ)硬件資源CPU、內(nèi)存、設(shè)備與I/0進(jìn)行虛擬化;二是依靠虛擬機(jī)實(shí)時(shí)遷移這種輔助技術(shù),對資源虛擬城池進(jìn)行統(tǒng)一調(diào)度和使用。服務(wù)器虛擬化關(guān)鍵技術(shù)解析如下:
1)CPU虛擬化。
將一個(gè)物理CPU虛擬成一個(gè)虛擬CPU,一個(gè)物理CPU只能處理一個(gè)虛擬CPU的指令,不能對應(yīng)多個(gè)虛擬CPU的指令。操作系統(tǒng)可以使用一個(gè)或多個(gè)虛擬CPU,這些虛擬CPU在系統(tǒng)中是相互隔離的。
CPU的虛擬化面臨的難題是操作系統(tǒng)要在虛擬化環(huán)境中執(zhí)行特權(quán)指令功能。目前的操作系統(tǒng)大多基于X86架構(gòu),在設(shè)計(jì)時(shí)被要求直接運(yùn)行在物理機(jī)上,完整擁有整個(gè)底層物理硬件。對于CPU而言,在X86體系中有4個(gè)運(yùn)行級(jí)別,分別為RingO(指令層級(jí)),Ring1,Rin92和Ring3。特別是RingO級(jí)別,可執(zhí)行任何指令,包括CPU狀態(tài)的修改,類似這樣的指令,被稱為特權(quán)指令,也只能在Rin90級(jí)別中完成。
虛擬化的X86架構(gòu),要求操作系統(tǒng)與底層硬件之間要加入虛擬層,而Rin90只能運(yùn)行在虛擬層,這導(dǎo)致操作系統(tǒng)的特權(quán)指令不能直接運(yùn)行在硬件上,操作系統(tǒng)如中斷處理等特權(quán)操作便不能完成。正是這個(gè)難題,導(dǎo)致基于X86體系架構(gòu)的CPU虛擬化實(shí)現(xiàn)難度較大。
為了解決這個(gè)難題,業(yè)界在初期提出了全虛擬化和半虛擬化2個(gè)軟件方案。
全虛擬化,就是在操作系統(tǒng)和虛擬層之間采用二進(jìn)制代碼動(dòng)態(tài)翻譯技術(shù),對于操作系統(tǒng)的特權(quán)指令采用前插陷入指令的方式,插入至虛擬層的虛擬機(jī),由虛擬機(jī)進(jìn)行指令翻譯,再執(zhí)行操作。這樣做的好處是操作系統(tǒng)無需進(jìn)行更改,對于特權(quán)指令通過虛擬層轉(zhuǎn)換翻譯執(zhí)行,非特權(quán)指令可以直接依靠物理環(huán)境直接執(zhí)行,這樣可以支持多個(gè)操作系統(tǒng)。當(dāng)然,全虛擬化的方案會(huì)增加開銷,這是在犧牲一定性能的基礎(chǔ)上實(shí)現(xiàn)的CPU虛擬方案。
半虛擬化方案,則是全虛擬化的反面,通過修改操作系統(tǒng)解決虛擬機(jī)執(zhí)行特權(quán)指令的問題,所有特權(quán)指令會(huì)轉(zhuǎn)換為虛擬化平臺(tái)的一個(gè)超級(jí)調(diào)用,虛擬平臺(tái)為超級(jí)調(diào)用提供接口,操作系統(tǒng)會(huì)主動(dòng)配合虛擬平臺(tái)完成自身的修改。唯一不足的是,半虛擬化方案中的虛擬平臺(tái)和操作系統(tǒng)要統(tǒng)一匹配,不支持多系統(tǒng)。
伴隨著CPU虛擬化技術(shù)的發(fā)展,針對2種軟件方案存在的開銷犧牲性能的缺陷,業(yè)界提出了一種硬件方案。在處理器中增加硬件輔助虛擬化功能,通過擴(kuò)展的VMX(虛擬機(jī))指令,支持虛擬化操作。
在具體應(yīng)用中,處理器有2種運(yùn)行模式,根模式和非根模式。虛擬化平臺(tái)中,處理器就運(yùn)行在根模式。硬件的擴(kuò)展,大大優(yōu)化了虛擬平臺(tái)的設(shè)計(jì)。
2)內(nèi)存虛擬化。
內(nèi)存虛擬化技術(shù)就是把物理機(jī)的內(nèi)存進(jìn)行統(tǒng)一管理,虛擬封裝成虛擬機(jī)所使用的虛擬內(nèi)存,以提供給每個(gè)虛擬機(jī)進(jìn)行使用,將虛擬內(nèi)存空間獨(dú)立提供給虛擬機(jī)中的進(jìn)程。內(nèi)存技術(shù)與CPU技術(shù)重要性同等重要,訪問次數(shù)同等頻繁。
虛擬內(nèi)存實(shí)現(xiàn)就在于對物理內(nèi)存進(jìn)行管理,按虛擬層對內(nèi)存的需求劃分物理內(nèi)存,建立虛擬層所需內(nèi)存地址與物理機(jī)內(nèi)存地址的映射關(guān)系,保證虛擬層的內(nèi)存訪問在虛擬內(nèi)存和物理機(jī)內(nèi)存的連續(xù)和一致。映射關(guān)系的技術(shù)實(shí)現(xiàn)是內(nèi)存虛擬化的核心。
早期內(nèi)存管理技術(shù),是通過基于硬件的內(nèi)存擴(kuò)展和優(yōu)化程序的軟件方法實(shí)現(xiàn)的,成本高昂。虛擬內(nèi)存技術(shù)因此誕生,通過CPU的內(nèi)存管理單元和頁表轉(zhuǎn)換技術(shù),提升了內(nèi)存性能,維護(hù)了基于應(yīng)用程序所能看到的虛擬內(nèi)存和物理內(nèi)存的映射關(guān)系。
虛擬內(nèi)存管理引入了虛擬物理內(nèi)存和機(jī)器內(nèi)存的概念,以此建立虛擬內(nèi)存地址與物理機(jī)內(nèi)存地址的映射關(guān)系。
虛擬層中的進(jìn)程使用的邏輯內(nèi)存與虛擬物理內(nèi)存建立一級(jí)映射地址關(guān)系,虛擬物理內(nèi)存與物理機(jī)的機(jī)器內(nèi)存建立二級(jí)映射地址關(guān)系。
具體映射地址維護(hù)的管理技術(shù)有以下2種:
一是影子頁表法。操作系統(tǒng)維護(hù)自己的頁表,頁表中的內(nèi)存地址反映一級(jí)映射關(guān)系,虛擬層的頁表反映二級(jí)映射關(guān)系。
一級(jí)映射關(guān)系和二級(jí)映射關(guān)系擁有共同的虛擬物理內(nèi)存地址的變量,當(dāng)操作系統(tǒng)訪問內(nèi)存頁表時(shí),對頁表就要進(jìn)行讀寫地址的操作,一級(jí)映射關(guān)系發(fā)生變化,通過一級(jí)映射中虛擬物理地址的變化,傳遞至二級(jí)映射關(guān)系,二級(jí)映射關(guān)系中虛擬物理地址的變化會(huì)導(dǎo)致物理機(jī)機(jī)器內(nèi)存地址的變化,從而建立了新的內(nèi)存地址映射關(guān)系,這種傳遞式的映射管理方法,類似人的影子一樣,隨人的變化而變化,都是基于本身的。
二是頁表寫入法。直接為操作系統(tǒng)建立邏輯內(nèi)存與機(jī)器內(nèi)存的映射關(guān)系。
當(dāng)操作系統(tǒng)訪問頁表時(shí),由虛擬內(nèi)存管理單元完成對頁表內(nèi)存地址的操作,直接返回機(jī)器內(nèi)存和虛擬內(nèi)容地址的映射關(guān)系,操作系統(tǒng)始終能看清真實(shí)的機(jī)器地址,但每次操作系統(tǒng)對內(nèi)存頁表的訪問,都要依靠虛擬層的監(jiān)視器進(jìn)行。
3)設(shè)備、I/O和網(wǎng)口虛擬化。
顯然,除了CPU和內(nèi)存之外,整個(gè)物理機(jī)和I/0都需要虛擬化,把物理設(shè)備統(tǒng)一管理,封裝成多個(gè)虛擬設(shè)備給虛擬機(jī)使用,以響應(yīng)虛擬機(jī)的設(shè)備訪問和I/0請求。
目前的實(shí)現(xiàn)方案多以軟件實(shí)現(xiàn)。虛擬化的平臺(tái)提供了豐富的設(shè)備和I/0虛擬功能,能把物理設(shè)備虛擬成標(biāo)準(zhǔn)的虛擬設(shè)備,雖然在型號(hào)、配置和參數(shù)等方面與物理機(jī)存在一定的差異,但虛擬設(shè)備只需模擬物理設(shè)備的動(dòng)作,在虛擬機(jī)和物理機(jī)之間傳遞運(yùn)行操作信息和運(yùn)行結(jié)果。這樣做的好處是降低了對底層硬件的依賴,始終面向虛擬機(jī)是標(biāo)準(zhǔn)化的設(shè)備,只要虛擬平臺(tái)一致,虛擬機(jī)就可以在不同物理機(jī)上進(jìn)行遷移。
另外,網(wǎng)口的虛擬化是比較重要的。網(wǎng)口是服務(wù)器與外界聯(lián)系的重要關(guān)口,是IT與通信的結(jié)合點(diǎn)。虛擬服務(wù)器實(shí)質(zhì)就是邏輯服務(wù)器,虛擬服務(wù)器之間的通信仍需通過網(wǎng)絡(luò)接口進(jìn)行。
虛擬機(jī)都有一個(gè)虛擬網(wǎng)口,虛擬機(jī)會(huì)認(rèn)為是塊標(biāo)準(zhǔn)的虛擬網(wǎng)卡。在虛擬網(wǎng)卡實(shí)現(xiàn)中,必需對宿主操作系統(tǒng)的網(wǎng)絡(luò)接口驅(qū)動(dòng)進(jìn)行更改,目的是在物理網(wǎng)卡之上,虛擬一個(gè)交換機(jī),負(fù)責(zé)內(nèi)部虛擬機(jī)和外部的數(shù)據(jù)包轉(zhuǎn)發(fā),其轉(zhuǎn)發(fā)機(jī)理與實(shí)際交換機(jī)相同,仍運(yùn)行在數(shù)據(jù)鏈路層。轉(zhuǎn)發(fā)過程不依靠硬件,通過虛擬平臺(tái)軟件管理方式進(jìn)行。
4)實(shí)時(shí)遷移技術(shù)。
實(shí)時(shí)遷移技術(shù)類似基站軟切換的機(jī)理,對應(yīng)客戶操作系統(tǒng)同時(shí)建立2條鏈路連接,在虛擬機(jī)運(yùn)行過程中,將完整運(yùn)行環(huán)境的狀態(tài)由原宿機(jī)快速遷移至新宿機(jī),遷移過程平緩,用戶在極短時(shí)間內(nèi)不能察覺。在虛擬環(huán)境中,由于對物理機(jī)進(jìn)行了虛擬,所以能跨異構(gòu)的硬件平臺(tái)。
實(shí)時(shí)遷移技術(shù),就是數(shù)據(jù)拷貝、傳送和切換。遷移的虛擬機(jī)通過協(xié)議相互聯(lián)系,首先啟動(dòng)原宿機(jī)操作系統(tǒng)相關(guān)信息和狀態(tài)的拷貝,然后開始遷移,通過內(nèi)存頁面將拷貝移至新的宿機(jī),最后內(nèi)存?zhèn)魉涂截愅瓿?,新宿機(jī)啟動(dòng)接管原宿機(jī)操作系統(tǒng),整個(gè)遷移過程完成。
實(shí)時(shí)遷移技術(shù)對于硬件維護(hù)有重要意義。通過此項(xiàng)技術(shù),工作人員就能在不重啟的情況下,對物理設(shè)備進(jìn)行維護(hù),維護(hù)完成后,再將操作環(huán)境恢復(fù)至原物理設(shè)備,用戶感知很好。另外遷移可用于資源的整合,在平臺(tái)上遷移,提高數(shù)據(jù)中心的資源利用率。
3 結(jié)語
在服務(wù)器虛擬化的應(yīng)用中,我們還更關(guān)心虛擬服務(wù)器的性能。用戶的使用特征會(huì)導(dǎo)致虛擬化服務(wù)器性能呈現(xiàn)不同的狀態(tài)。不同部件的資源使用密集,例如CPU密集、內(nèi)存密集和I/O密集,都會(huì)對虛擬服務(wù)器整體性能有所影響,密集資源使用會(huì)導(dǎo)致虛擬平臺(tái)軟件運(yùn)行機(jī)制開銷的龐大運(yùn)行。
對于虛擬服務(wù)器的性能評(píng)估,我們可以啟用服務(wù)質(zhì)量的2個(gè)重要指標(biāo),即吞吐量和響應(yīng)時(shí)間對服務(wù)器性能進(jìn)行評(píng)估。在構(gòu)建虛擬服務(wù)器時(shí),充分利用服務(wù)質(zhì)量指標(biāo)和用戶使用特征有針對性地選擇合適體系架構(gòu)(X86和大型機(jī))的服務(wù)器進(jìn)行虛擬化,以滿足企業(yè)的運(yùn)營需求。
河南億恩科技股份有限公司(mszdt.com)始創(chuàng)于2000年,專注服務(wù)器托管租用,是國家工信部認(rèn)定的綜合電信服務(wù)運(yùn)營商。億恩為近五十萬的用戶提供服務(wù)器托管、服務(wù)器租用、機(jī)柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶不斷的獲得更大的收益。
服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:
0371-60135900
虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:
0371-55621053
網(wǎng)絡(luò)版權(quán)侵權(quán)舉報(bào)電話:
0371-60135995
服務(wù)熱線:
0371-60135900