隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展及應(yīng)用的深入,網(wǎng)絡(luò)已聚合了各種計(jì)算資源、數(shù)據(jù)資源、軟件資源以及服務(wù)資源等,但存在總量豐富但資源利用率低的矛盾。網(wǎng)絡(luò)協(xié)作、充分利用閑散資源成了最初的解決方案一網(wǎng)格計(jì)算(grid computing)。網(wǎng)格計(jì)算通過(guò)整合網(wǎng)絡(luò)中的大量閑散資源,在動(dòng)態(tài)的、自治環(huán)境中協(xié)調(diào)資源共享,解決大規(guī)模的具有挑戰(zhàn)性問(wèn)題。但網(wǎng)格計(jì)算自身遇到了難以突破的瓶頸,使商業(yè)應(yīng)用受到了極大的限制。近年來(lái),隨著商業(yè)的推崇,網(wǎng)格計(jì)算演變成了今天的云計(jì)算(cloud computing),面臨如何提高數(shù)據(jù)中心資源的利用率,滿(mǎn)足用戶(hù)提交任務(wù)的信任需求,同時(shí)研究數(shù)據(jù)中心提供的服務(wù)和服務(wù)方式等問(wèn)題閣。這些問(wèn)題更接近商業(yè)化,也更容易實(shí)現(xiàn)。其中存在如何有效地提高云計(jì)算系統(tǒng)性能的關(guān)鍵問(wèn)題。針對(duì)目前存在的問(wèn)題,本文提出了基于虛擬化的云計(jì)算平臺(tái),研究了其平臺(tái)的核心部分,即服務(wù)器云。虛擬化技術(shù)解決并保證了云計(jì)算平臺(tái)的高性能與高可用性,使云計(jì)算平臺(tái)在實(shí)際應(yīng)用中資源最大化、利潤(rùn)最大化,同時(shí)也推動(dòng)了虛擬化技術(shù)與云計(jì)算技術(shù)的快速發(fā)展。
1.虛擬化技術(shù)研究
虛擬化技術(shù)就是指把一個(gè)物理單元虛擬成多個(gè)邏輯單元,供多個(gè)應(yīng)用一起使用。這樣做的主要目的是為了提高資源的使用效率并方便管理各種資源。目前云計(jì)算模式的提出,無(wú)論是私有云,公有云,還是混合云,都需要資源的整合,統(tǒng)一資源為客戶(hù)提供服務(wù),這就要求系統(tǒng)資源具有高性能的處理能力。目前單個(gè)昂貴的服務(wù)器的處理能力僅使用到20%,造成了資源的浪費(fèi),虛擬化技術(shù)解決了上述問(wèn)題,使服務(wù)器處理能力得到了充分的利用。
虛擬化技術(shù)包括內(nèi)存虛擬化、存儲(chǔ)虛擬化、硬件虛擬化、軟件虛擬化等各項(xiàng)技術(shù)。本文著重研究了服務(wù)器虛擬化,服務(wù)器虛擬化將系統(tǒng)虛擬化技術(shù)應(yīng)用于服務(wù)器上,將一個(gè)服務(wù)器虛擬成若干個(gè)服務(wù)器使用。在采用服務(wù)器虛擬化之前。3種不同的應(yīng)用分別運(yùn)行在3個(gè)獨(dú)立的物理服務(wù)器上;在采用服務(wù)器虛擬化之后,這3種應(yīng)用運(yùn)行在3個(gè)獨(dú)立的虛擬服務(wù)器上。而這3個(gè)虛擬服務(wù)器可以被一個(gè)物理服務(wù)托管。從圖中我們可以看出服務(wù)器虛擬化抽象了硬件資源。包括虛擬BIOS、虛擬CPU、虛擬內(nèi)存、虛擬設(shè)備和虛擬IO。虛擬服務(wù)器提供了良好的隔離性和安全性。
通過(guò)研究分析,我們知道,服務(wù)器虛擬化必備的是對(duì)硬件資源的虛擬化。硬件資源包括CPU、內(nèi)存、IO口。這些硬件資源的虛擬化是服務(wù)器虛擬化的核心和關(guān)鍵技術(shù)。
目前主流的服務(wù)器虛擬化技術(shù)包括兩種,即全虛擬化和半虛擬化。研究表明,虛擬化的特性為云計(jì)算平臺(tái)抽象了硬件資源,這樣對(duì)于基于SOA的云服務(wù)平臺(tái)來(lái)說(shuō)是透明的,是可擴(kuò)展的,為云計(jì)算平臺(tái)的彈性設(shè)計(jì)帶來(lái)了極大的利處。針對(duì)虛擬化的全虛擬化來(lái)說(shuō),采用的技術(shù)為二進(jìn)制代碼Dynamic Binary Translation,DBT指在虛擬機(jī)運(yùn)行時(shí)。在敏感指令前插入指令將執(zhí)行陷入到虛擬機(jī)監(jiān)視器中,其優(yōu)點(diǎn)在于代碼的轉(zhuǎn)換是動(dòng)態(tài)的。與全虛擬化不同的半虛擬化通過(guò)修改客戶(hù)操作系統(tǒng)來(lái)解決虛擬機(jī)執(zhí)行特權(quán)指令的問(wèn)題。在本虛擬化中存在客戶(hù)機(jī)操作系統(tǒng)必須和虛擬化平臺(tái)兼容,否則虛擬機(jī)無(wú)法有效地操縱宿主機(jī),因此,本文提出的基于虛擬化云計(jì)算平臺(tái)的構(gòu)建方案是基于全虛擬化的KVM;赗edhat的虛擬化技術(shù)還具有在線遷移、快速部署等服務(wù)器管理功能。為云計(jì)算平臺(tái)提供了穩(wěn)健可靠的基礎(chǔ)資源架構(gòu)。
2.服務(wù)器云的構(gòu)建
服務(wù)器云是云計(jì)算平臺(tái)的最核心部分,所有云計(jì)算平臺(tái)中的功能及子系統(tǒng)都依賴(lài)于服務(wù)器云來(lái)實(shí)現(xiàn)。它既包括硬件服務(wù)器和底層操作系統(tǒng)部分,又包括云計(jì)算平臺(tái)中的虛擬機(jī)超級(jí)監(jiān)督器功能,是運(yùn)行虛擬系統(tǒng),功能服務(wù)器系統(tǒng)的底層基礎(chǔ)平臺(tái)。計(jì)算模式從大型機(jī)的方式逐漸過(guò)渡到微型個(gè)人計(jì)算機(jī)的方式,并且近年來(lái)過(guò)渡到普適計(jì)算上。但用戶(hù)仍然很難獲得異構(gòu)類(lèi)型的操作系統(tǒng)以及應(yīng)用程序,在輕量級(jí)的設(shè)備上很難獲得完善的服務(wù)。本文研究的基于虛擬化的在云計(jì)算模式中,用戶(hù)無(wú)須感知計(jì)算具體所在位置,以及操作系統(tǒng)、中間件、應(yīng)用等技術(shù)細(xì)節(jié)。虛擬化技術(shù)使底層差異封裝為應(yīng)用的統(tǒng)一接口,用戶(hù)由同一接口只需要根據(jù)自己的需求,通過(guò)云計(jì)算平臺(tái)選取相應(yīng)的服務(wù)。