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