苑中梁,陳興蜀,王毅桐
(四川大學(xué) 計(jì)算機(jī)學(xué)院,成都 610065)
(*通信作者電子郵箱chenxsh@scu.edu.cn)
IaaS環(huán)境下多租戶(hù)安全資源分配算法和安全服務(wù)調(diào)度框架
苑中梁,陳興蜀*,王毅桐
(四川大學(xué) 計(jì)算機(jī)學(xué)院,成都 610065)
(*通信作者電子郵箱chenxsh@scu.edu.cn)
針對(duì)基礎(chǔ)設(shè)施即服務(wù)(IaaS)環(huán)境下多租戶(hù)使用安全服務(wù)時(shí)由于安全資源有限和安全資源分配不均導(dǎo)致的效率低下問(wèn)題,提出了一個(gè)租戶(hù)安全資源調(diào)度框架。首先以最小最大公平算法為基礎(chǔ),結(jié)合Fair Scheduler的調(diào)度思想為租戶(hù)設(shè)定了最小共享量和資源需求量屬性;然后通過(guò)安全服務(wù)資源分配算法在保證租戶(hù)最小共享量滿(mǎn)足的前提下,盡可能公平地滿(mǎn)足租戶(hù)的資源需求;最后結(jié)合租戶(hù)內(nèi)任務(wù)調(diào)度和租戶(hù)間資源搶占算法,實(shí)現(xiàn)了租戶(hù)安全服務(wù)調(diào)度框架。實(shí)驗(yàn)結(jié)果表明,在隨機(jī)資源分配條件下,安全服務(wù)資源分配算法與傳統(tǒng)資源分配算法相比在資源利用率和作業(yè)效率上均有明顯提高,安全服務(wù)調(diào)度框架可以有效解決多租戶(hù)安全資源的分配和強(qiáng)占問(wèn)題。
云計(jì)算;安全服務(wù);資源分配;作業(yè)調(diào)度
亞馬遜的彈性計(jì)算云(Amazon Elastic Compute Cloud, EC2)計(jì)算服務(wù)[1]歷經(jīng)接近10年的快速發(fā)展,目前已經(jīng)成為IT業(yè)界最炙手可熱的話(huà)題之一,它將計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源高度整合,為用戶(hù)提供高可用、高擴(kuò)展的計(jì)算資源[2]。據(jù)最新報(bào)告顯示,2015年全球公有云市場(chǎng)總額已經(jīng)突破700億美元,并且預(yù)計(jì)會(huì)在2018年左右超越1 200億[3]。然而在云計(jì)算高速發(fā)展的背后卻隱藏著許多安全和挑戰(zhàn)[4],諸多國(guó)內(nèi)外著名的云服務(wù)提供商都曾遭遇過(guò)嚴(yán)重的安全事件,如亞馬遜網(wǎng)絡(luò)服務(wù)(Amazon Web Services, AWS)遭受僵尸網(wǎng)絡(luò)攻擊[5]、阿里云云盾升級(jí)導(dǎo)致租戶(hù)正常文件被刪除[6]等,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology, NIST)也在其報(bào)告中指出針對(duì)多租戶(hù)場(chǎng)景下,共享公有云資源的模式將會(huì)引入新的攻擊路徑[7]。所以云服務(wù)商是否能夠給用戶(hù)提供安全服務(wù)成為評(píng)估云服務(wù)商的重要標(biāo)準(zhǔn)。
當(dāng)前主流云服務(wù)提供商如VMware、阿里云、亞馬遜等都為虛擬機(jī)提供安全防護(hù),如阿里云的云盾[8]、VMware的NSX[9]和AWS的白皮書(shū)中都提到了虛擬機(jī)防護(hù)概念,隨著網(wǎng)絡(luò)功能虛擬化(Network Function Virtualisation, NFV)技術(shù)的不斷進(jìn)展,利用虛擬化技術(shù)實(shí)現(xiàn)特定安全功能的接入以滿(mǎn)足云環(huán)境下對(duì)租戶(hù)內(nèi)部安全功能的靈活可控將成為潮流。進(jìn)一步地,利用虛擬網(wǎng)絡(luò)功能轉(zhuǎn)發(fā)圖(Virtualisation Network Functions Forwarding Graph, VNF FG)定義數(shù)據(jù)包的流向,實(shí)現(xiàn)在NFV環(huán)境中將虛擬機(jī)流量引流至安全服務(wù)網(wǎng)絡(luò)進(jìn)行處理[10-11],從而解決安全服務(wù)在云環(huán)境虛擬網(wǎng)絡(luò)中的快速部署問(wèn)題。
一方面,為了方便管理并且盡可能減少安全服務(wù)自身的攻擊面,當(dāng)前各大云廠商的安全服務(wù)集中部署在安全服務(wù)池,并與計(jì)算服務(wù)資源池相隔離,且安全服務(wù)作為增值服務(wù)與計(jì)算服務(wù)相比資源相對(duì)有限;另一方面,當(dāng)租戶(hù)遭遇安全問(wèn)題,往往是大量同租戶(hù)虛擬機(jī)請(qǐng)求安全服務(wù),并且要求安全服務(wù)快速響應(yīng)。在這種業(yè)務(wù)需求下,安全服務(wù)資源分配算法既要考慮云環(huán)境下的租戶(hù)屬性,如租戶(hù)購(gòu)買(mǎi)的安全服務(wù)資源配額必須滿(mǎn)足,又要將剩下資源快速分配以實(shí)現(xiàn)安全資源的快速響應(yīng)。
針對(duì)上述需求,目前已有一些研究成果。文獻(xiàn)[12-13]分別提出的基于蟻群算法和改進(jìn)速率單調(diào)(Rate Monotonic, RM)算法的云環(huán)境任務(wù)資源調(diào)度分配算法更多考慮的是虛擬機(jī)對(duì)外提供服務(wù),并未考慮到多租戶(hù)場(chǎng)景;文獻(xiàn)[14]提出了基于匹配規(guī)則的 MapReduce任務(wù)調(diào)度模型,雖然考慮了云環(huán)境中計(jì)算節(jié)點(diǎn)的動(dòng)態(tài)性,盡可能利用計(jì)算節(jié)點(diǎn)資源,但是對(duì)多租戶(hù)同時(shí)請(qǐng)求安全服務(wù)時(shí)的并發(fā)性和快速響應(yīng)以及多租戶(hù)之間的配額、搶占等關(guān)系考慮不足;Hadoop中的調(diào)度器Fair Scheduler[15]解決了復(fù)雜環(huán)境下任務(wù)的調(diào)度問(wèn)題并且保證了各個(gè)租戶(hù)的公平性,但是參數(shù)過(guò)于復(fù)雜,并不適用于本文單一安全服務(wù)的調(diào)度任務(wù);文獻(xiàn)[16]實(shí)現(xiàn)了基于服務(wù)質(zhì)量(Quality of Service, QoS)的資源池創(chuàng)建和調(diào)度,但是其對(duì)物理資源的使用效率并未作完整考慮。
基于當(dāng)前安全服務(wù)接入多租戶(hù)中產(chǎn)生的安全服務(wù)調(diào)度問(wèn)題,本文研究了相關(guān)的調(diào)度算法并且結(jié)合基礎(chǔ)設(shè)施即服務(wù)(Infrastructure-as-a-Service, IaaS)環(huán)境和接入的場(chǎng)景,設(shè)計(jì)了安全服務(wù)調(diào)度框架和安全服務(wù)資源分配算法。該算法采用最大最小公平算法為主要思想,結(jié)合了云環(huán)境下多租戶(hù)最小共享資源量實(shí)現(xiàn)對(duì)租戶(hù)的最小資源量的保證,并且解決了多任務(wù)之間的搶占問(wèn)題。實(shí)驗(yàn)結(jié)果表明,本文提出的安全服務(wù)調(diào)度框架可以有效解決安全服務(wù)資源不足所導(dǎo)致的資源分配問(wèn)題,實(shí)現(xiàn)多租戶(hù)環(huán)境下安全服務(wù)的合理調(diào)度。
1.1 安全服務(wù)接入架構(gòu)
當(dāng)前典型的安全服務(wù)接入架構(gòu)如圖1所示。當(dāng)控制單元接收到租戶(hù)請(qǐng)求后,在安全服務(wù)節(jié)點(diǎn)中創(chuàng)建一個(gè)對(duì)應(yīng)安全服務(wù)虛擬機(jī)(Security Virtual Machine, SVM),通過(guò)虛擬網(wǎng)絡(luò)接入組件接入到虛擬化節(jié)點(diǎn)中為虛擬機(jī)提供安全服務(wù)。
圖1 安全服務(wù)接入架構(gòu)
1.2 安全服務(wù)接入分析
當(dāng)SVM啟動(dòng)時(shí),每一個(gè)SVM將會(huì)對(duì)應(yīng)一個(gè)需要服務(wù)的租戶(hù)子網(wǎng),每一個(gè)租戶(hù)都擁有自己的一個(gè)虛擬的安全服務(wù)資源池,每當(dāng)租戶(hù)有相關(guān)安全需求時(shí)只需要調(diào)用池中實(shí)例即可,安全服務(wù)接入邏輯圖如圖2所示。
圖2 安全服務(wù)接入邏輯
每一個(gè)租戶(hù)都擁有屬于自己的安全服務(wù)虛擬資源池,租戶(hù)通過(guò)Task為子網(wǎng)中的虛擬機(jī)提供安全服務(wù)時(shí),Task是在虛擬資源池中啟動(dòng)的SVM,底層運(yùn)行在安全服務(wù)節(jié)點(diǎn)的安全服務(wù)通過(guò)調(diào)度機(jī)制抽象為邏輯上多個(gè)獨(dú)立的資源池,通過(guò)合理調(diào)度各租戶(hù)的安全服務(wù)來(lái)保證租戶(hù)之間的公平性并且盡可能使底層物理資源被高效利用。
本章基于最大最小公平算法[17],結(jié)合Fair Scheduler調(diào)度器為每一個(gè)租戶(hù)的資源池加入最小共享量的概念,并設(shè)計(jì)了安全服務(wù)資源分配算法,之后考慮不同租戶(hù)間的資源搶占和租戶(hù)內(nèi)部的任務(wù)調(diào)度問(wèn)題,提出安全服務(wù)調(diào)度設(shè)計(jì)方案。
2.1 最大最小公平算法
最大最小公平算法的基本含義是公平地將資源分配給每個(gè)用戶(hù)想要的最小需求,然后將沒(méi)有使用的資源集中起來(lái)均勻分配給需要“大資源”用量的用戶(hù)。
最大最小公平算法的形式化定義如下:用戶(hù)總是按照遞增的順序獲得資源;每個(gè)用戶(hù)不可能獲得比自己需求的資源更多的資源;當(dāng)某個(gè)用戶(hù)的需求不能夠被滿(mǎn)足時(shí)總是會(huì)等價(jià)地對(duì)過(guò)剩的資源進(jìn)行公平分享。
最大最小公平算法在本文場(chǎng)景中的描述如下:當(dāng)前安全服務(wù)節(jié)點(diǎn)的安全服務(wù)資源總量為C,當(dāng)前存在的租戶(hù)總數(shù)為T(mén),分別為{T1,T2,…,Tn},每一個(gè)租戶(hù)Ti(i=1,2,…,n)對(duì)資源的需求量為Ri,當(dāng)前所有租戶(hù)需求的資源總量為R={R1,R2,…,Rn},可以獲得的公平共享資源量為Ci,根據(jù)上面的形式化定義,有如下的形式約束:
對(duì)于任意一個(gè)租戶(hù)Ti均有:0≤Ci≤Ri;
在上述約束條件下通過(guò)函數(shù):Cmin=F(C,T,R)獲得每個(gè)租戶(hù)的最小的公平量。
2.2 安全服務(wù)資源分配算法
在結(jié)合上述最大最小公平算法的基礎(chǔ)上,考慮到云環(huán)境下按需付費(fèi)使用的特性,本文參考FairScheduler的最小共享量的定義,為每一個(gè)租戶(hù)Ti定義了他的最小共享量為mi(0≤mi≤Ri),安全服務(wù)資源分配算法保證了當(dāng)0≤Ri時(shí):
0≤min(Ri,mi)≤Ci
(1)
即最終給租戶(hù)提供的公平共享量應(yīng)該大于他的最小共享量(如果他的資源需求量小于最小共享量時(shí),公平共享量只需要滿(mǎn)足他的資源需求量即可)。
安全服務(wù)資源分配算法的偽代碼如下,其中:Ri和mi分別為租戶(hù)i的資源需求量和最小共享量,Ts表示當(dāng)前請(qǐng)求服務(wù)的租戶(hù)集合,C表示當(dāng)前安全服務(wù)節(jié)點(diǎn)資源總量;最終求{C1,C2,…,CS}為當(dāng)前Ts中每一個(gè)租戶(hù)的公平共享量。
1)
M=C;
//當(dāng)前未被分配的資源
2)
sc=0;
//當(dāng)前已經(jīng)被分配資源的租戶(hù)
3)
sa=Ts;
//當(dāng)前等待分配資源的租戶(hù) //首先為資源需求量比最小共享量還小的用戶(hù)分配資源
4)
for(i∈sa)do
5)
if(Ri //由于資源需求量小于最小共享量,因此必須保證式(1)成立, //直接分配資源,此時(shí)總資源量變少 6) Ci=Ri;M-=Ri; //此時(shí)租戶(hù)Ti的公平共享量Ci和剩余資源量M的變化 7) sa=sa-{Ti};sc=sc∪{Ti}; 8) Endif 9) Endfor //為所有剩下的租戶(hù)分配至少滿(mǎn)足其最小共享量的資源 10) for(i∈sa)do 11) Ci=mi;M-=mi; 12) Endfor //然后需要判斷資源C是否已經(jīng)分配完畢,如果已經(jīng)分配完畢, //則當(dāng)前待分配集合中的租戶(hù)都應(yīng)該變成已分配 13) if(M=0)then 14) for(i∈sa)do 15) sa=sa-{Ti};sc=sc∪{Ti}; 16) Endfor 17) Endif //如果滿(mǎn)足所有人最小共享量后此時(shí)還有資源剩余, //則將剩下的資源進(jìn)行分配 //定義Rmin為當(dāng)前sa中租戶(hù)需求量的最小值 //定義Cmin為當(dāng)前sa中租戶(hù)公平共享量的最小值 //定義Tmin為公平共享量為Cmin的租戶(hù)集合 //定義Cnext為當(dāng)前sa中租戶(hù)公平共享量的次小值 18) while(((sa)≠0)and(M>0))then 19) //滿(mǎn)足租戶(hù)間公平的剩余資源分配方法 ΔC=min(Cnext-Cmin,M/count(Tmin),Rmin-Cmin) 20) for(i∈Tmin)do 21) Ci+=ΔC;M-=ΔC; 22) sa=sa-{Ti};sc=sc∪{Ti}; 23) Endfor 24) Endwhile 以下通過(guò)圖3~6對(duì)以上代碼邏輯進(jìn)行解釋?zhuān)麄€(gè)安全服務(wù)資源分配算法分為三個(gè)步驟: 圖3為初始分配狀態(tài),其中虛線(xiàn)代表租戶(hù)的資源需求量Ri,實(shí)線(xiàn)代表租戶(hù)的自最小共享量mi,90代表安全服務(wù)節(jié)點(diǎn)的資源總量,柱狀圖內(nèi)數(shù)值代表當(dāng)前租戶(hù)的公平共享量。 圖3 初始分配狀態(tài) 首先對(duì)資源需求量比最小共享量小的租戶(hù)A進(jìn)行資源分配,分配后如圖4。 然后要給剩余租戶(hù)進(jìn)行資源分配,保證每個(gè)租戶(hù)分配的資源滿(mǎn)足其最小共享量,進(jìn)行資源分配后的情況如圖5。 此時(shí)資源池中依然還有資源為4,并且每個(gè)租戶(hù)都分配了自己的最小共享量(A租戶(hù)直接分配到了資源需求量,因?yàn)樗馁Y源需求量比最小共享量要小,所以可以直接滿(mǎn)足),剩余的資源將會(huì)被盡可能公平地分配到B、C、D三個(gè)租戶(hù)當(dāng)中,應(yīng)該滿(mǎn)足如下準(zhǔn)則: 1)租戶(hù)之間的公平共享量應(yīng)該保持大致的公平,這是公平算法首先要保證的; 2)每一個(gè)當(dāng)前擁有相同共享公平量的租戶(hù)都應(yīng)該平等地獲得資源; 3)在相同共享公平量的前提下如果還有剩余資源則應(yīng)該盡可能足某個(gè)租戶(hù)的需求。 本文中使用邏輯:ΔC=min(Cnext-Cmin,M/count(Tmin),Rmin-Cmin)對(duì)資源分配進(jìn)行定義。其中:Cnext-Cmin保證準(zhǔn)則1),將會(huì)讓當(dāng)前公平共享量最小的租戶(hù)盡可能增加資源,使之縮小與其他租戶(hù)的差距達(dá)到公平;M/count(Tmin)則會(huì)保證當(dāng)前相同公平共享量的租戶(hù)在被分配資源時(shí)可以平等;Rmin-Cmin則保證了當(dāng)公平共享量相同時(shí)可以?xún)?yōu)先滿(mǎn)足某個(gè)租戶(hù)的需求。 按照上述邏輯計(jì)算可得ΔC=4,此時(shí)將剩下的資源分配給隊(duì)列B,如圖6。 圖4 租戶(hù)A進(jìn)行資源分配后的狀態(tài) 圖5 剩余租戶(hù)進(jìn)行資源分配后的狀態(tài) 圖6 資源分配完成狀態(tài) 此時(shí)資源分配工作完成,在四個(gè)租戶(hù)中達(dá)到了安全服務(wù)資源分配的相對(duì)公平合理。 2.3 任務(wù)優(yōu)先級(jí)和資源搶占 按照上述安全服務(wù)資源分配算法將資源分配給租戶(hù)后,租戶(hù)需要將自己的任務(wù)形成任務(wù)隊(duì)列來(lái)使用安全服務(wù)資源,本章將介紹租戶(hù)任務(wù)隊(duì)列中任務(wù)的優(yōu)先級(jí)以及租戶(hù)間的搶占算法。 2.3.1 租戶(hù)任務(wù)優(yōu)先級(jí) 由1.2節(jié)可知每個(gè)租戶(hù)都擁有自己的虛擬資源池,當(dāng)資源分配完畢后,根據(jù)租戶(hù)隊(duì)列內(nèi)任務(wù)的緊急程度為每個(gè)任務(wù)添加優(yōu)先級(jí)屬性,隊(duì)列內(nèi)的任務(wù)按照優(yōu)先級(jí)的順序進(jìn)行調(diào)度,整個(gè)租戶(hù)隊(duì)列任務(wù)調(diào)度示意圖如圖7。 新任務(wù)根據(jù)所屬租戶(hù)加入到對(duì)應(yīng)租戶(hù)的隊(duì)列當(dāng)中,每當(dāng)租戶(hù)虛擬資源池中有資源時(shí),總是執(zhí)行優(yōu)先級(jí)較高的任務(wù),當(dāng)新到任務(wù)優(yōu)先級(jí)較高但是租戶(hù)資源池中已無(wú)資源時(shí),總是先搶占其他租戶(hù)隊(duì)列中優(yōu)先級(jí)低任務(wù)的資源,關(guān)于資源搶占將在2.3.2節(jié)中進(jìn)行介紹。 圖7 租戶(hù)任務(wù)隊(duì)列 2.3.2 資源搶占 在上述的任務(wù)隊(duì)列中,當(dāng)新任務(wù)到來(lái)時(shí),假如當(dāng)前租戶(hù)資源未滿(mǎn)足最小共享量時(shí),會(huì)觸發(fā)租戶(hù)間搶占。上文中提到的租戶(hù)最小共享量和公平共享量,根據(jù)上文定義(Ci和mi分別為租戶(hù)的公平共享量和最小共享量)給出“超額占用”定義: excessi=Ci-mi 當(dāng)租戶(hù)的超額占用過(guò)大時(shí),代表租戶(hù)實(shí)際獲得的資源量大于它的最小共享量,此時(shí)租戶(hù)獲得的超額資源(除租戶(hù)購(gòu)買(mǎi)的最小共享量以外的資源)過(guò)多,當(dāng)其他租戶(hù)有搶占需求時(shí),此租戶(hù)需要將自己的部分資源釋放。但是與FairScheduler調(diào)度思想不同的是,當(dāng)此租戶(hù)釋放掉自己的資源后,其任務(wù)會(huì)掛起并等待資源獲得后繼續(xù)運(yùn)行而并不是直接關(guān)閉租戶(hù)的任務(wù)。 2.4 安全服務(wù)調(diào)度框架 根據(jù)前面介紹的在安全服務(wù)調(diào)度中不同租戶(hù)的資源分配和搶占,以及同一租戶(hù)內(nèi)部任務(wù)的調(diào)度方式,提出安全服務(wù)調(diào)度框架如圖8所示。 圖8 租戶(hù)安全任務(wù)調(diào)度 從圖8可以看到整個(gè)調(diào)度過(guò)程分為兩個(gè)部分:一部分是通過(guò)租戶(hù)請(qǐng)求計(jì)算公平共享量并將請(qǐng)求的任務(wù)入隊(duì);另一部分是使用安全服務(wù)資源執(zhí)行租戶(hù)任務(wù)然后出隊(duì)。兩個(gè)部分異步進(jìn)行,共同完成在云環(huán)境下安全服務(wù)的調(diào)度,保證了安全服務(wù)物理資源高效率利用和不同租戶(hù)之間的大致公平。 3.1 測(cè)試環(huán)境 本文研究基于云計(jì)算中的IaaS模式,底層Overlay網(wǎng)絡(luò)使用VxLAN進(jìn)行封裝,計(jì)算節(jié)點(diǎn)采用華為服務(wù)器,配置為E5- 2609和8GB內(nèi)存;網(wǎng)絡(luò)節(jié)點(diǎn)、控制節(jié)點(diǎn)和安全服務(wù)節(jié)點(diǎn)均使用普通PC,配置為i3- 3220和8GB內(nèi)存,操作系統(tǒng)均為CentOS6.5。IaaS云平臺(tái)選用開(kāi)源OpenStack的IceHouse版本,虛擬網(wǎng)絡(luò)設(shè)備為OpenvSwitch2.0.1,安全服務(wù)為OpenVAS7提供的漏洞掃描服務(wù),將其部署在SVM上。實(shí)驗(yàn)平臺(tái)的具體架構(gòu)如圖9所示。 IaaS平臺(tái)實(shí)驗(yàn)架構(gòu)中主要包括控制節(jié)點(diǎn):主要部署OpenStack控制臺(tái)完成OpenStack基本功能和軟件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork)/網(wǎng)絡(luò)功能虛擬化(SDN/NFV)控制器完成安全服務(wù)的相關(guān)調(diào)用;安全服務(wù)節(jié)點(diǎn)目前主要是承載SVM,為租戶(hù)提供安全服務(wù);計(jì)算節(jié)點(diǎn)為IaaS提供計(jì)算資源;網(wǎng)絡(luò)節(jié)點(diǎn)主要為IaaS提供網(wǎng)絡(luò)連接,包括服務(wù)租戶(hù)的動(dòng)態(tài)主機(jī)配置協(xié)議(DynamicHostConfigurationProtocol,DHCP)服務(wù)和路由服務(wù)等,其中數(shù)據(jù)網(wǎng)絡(luò)主要完成數(shù)據(jù)交互,包括計(jì)算節(jié)點(diǎn)的業(yè)務(wù)數(shù)據(jù)、安全服務(wù)節(jié)點(diǎn)的安全檢測(cè)數(shù)據(jù)等;控制網(wǎng)絡(luò)主要傳遞控制信息如配置信息、安全服務(wù)調(diào)度信息等;公共網(wǎng)絡(luò)主要是虛擬機(jī)和宿主機(jī)連接互聯(lián)網(wǎng)的鏈路。 圖9 測(cè)試環(huán)境架構(gòu) 3.2 任務(wù)調(diào)度測(cè)試與分析 由于本文2.2節(jié)中提出的安全資源分配算法借用了FairScheduler算法思想,因此將兩者進(jìn)行對(duì)比;此外還對(duì)比了先進(jìn)先出(FirstInFirstOut,FIFO)算法和基于匹配規(guī)則的MapReduce任務(wù)調(diào)度模型。 實(shí)驗(yàn)創(chuàng)建10個(gè)租戶(hù),并且隨機(jī)地為租戶(hù)生成最小共享量/資源需求量,為了盡可能模擬在實(shí)際環(huán)境中租戶(hù)需求緊張/空閑的情況,這些安全資源請(qǐng)求其中包括租戶(hù)需求量大于最小共享量,同時(shí)也包括租戶(hù)需求量小于最小共享量的情況。 表1為一個(gè)樣本的測(cè)試數(shù)據(jù),其中包括10個(gè)租戶(hù)、隨機(jī)生成每個(gè)租戶(hù)的最小共享量和資源需求量,每個(gè)測(cè)試樣本的資源總量固定為100??倻y(cè)試樣本總量為20組,測(cè)試得出的不同算法的資源利用效率平均值如表2。從表2可以看到,由于本文提出的安全服務(wù)資源分配算法和FairScheduler方法都允許租戶(hù)使用其他租戶(hù)空閑的資源,因此物理資源利用率與單純的FIFO算法相比具有明顯優(yōu)勢(shì);基于匹配規(guī)則的MapReduce任務(wù)調(diào)度模型由于充分利用了物理機(jī)計(jì)算資源,因此在效率上比傳統(tǒng)FIFO提升了19.97%,但是由于其應(yīng)用場(chǎng)景下租戶(hù)依然不能搶占其他租戶(hù)的資源,因此在實(shí)際實(shí)驗(yàn)中其資源利用率還是略低于安全服務(wù)資源分配算法和FairScheduler方法。由于本文的安全服務(wù)資源分配算法基于FairScheduler思想,因此這兩者之間的物理資源利用率大致接近,但由于本文優(yōu)化了FairScheduler算法中的參數(shù),使其適用于單一任務(wù)的資源分配,因此效率有了小幅的提升。 表1 資源利用率測(cè)試樣本 表2 資源利用率對(duì)比 作業(yè)執(zhí)行效率反映的是租戶(hù)從提交任務(wù)到獲得安全服務(wù),以及最后得到結(jié)果的全過(guò)程耗時(shí),其直接影響到租戶(hù)的工作效率,本文對(duì)上述四種算法的作業(yè)執(zhí)行效率進(jìn)行了測(cè)試,作業(yè)內(nèi)容為使用OpenVAS對(duì)不同租戶(hù)子網(wǎng)內(nèi)的幾臺(tái)虛擬機(jī)進(jìn)行漏洞掃描。三種算法測(cè)試樣本如表3,表明云環(huán)境下a、b、c三個(gè)租戶(hù)中分別有5、0、1臺(tái)虛擬機(jī)請(qǐng)求漏洞掃描服務(wù),三個(gè)租戶(hù)購(gòu)買(mǎi)的漏洞掃描服務(wù)資源為2、1、2臺(tái),最終測(cè)試結(jié)果如表4。 表3 作業(yè)效率測(cè)試樣本 表4 作業(yè)時(shí)間對(duì)比 本文的安全調(diào)度過(guò)程相比FIFO和FairScheduler以及MapReduce任務(wù)調(diào)度模型在作業(yè)效率上都有提升,一方面是由于租戶(hù)空閑資源的再使用使租戶(hù)任務(wù)執(zhí)行的并行度獲得了提高,同時(shí)執(zhí)行更多的租戶(hù)任務(wù),盡可能減少了檢測(cè)任務(wù)的等待時(shí)間;另一方面是因?yàn)椴捎昧俗鈶?hù)任務(wù)暫停而不是將其直接殺死的方式,因此當(dāng)暫停的任務(wù)再次獲得資源時(shí)可以有效利用暫停前的狀態(tài)而無(wú)需讓任務(wù)再次重新啟動(dòng),因此也減少了計(jì)算資源的浪費(fèi),提升了作業(yè)效率。 針對(duì)云環(huán)境下多租戶(hù)共享安全資源時(shí),由于資源不均導(dǎo)致的安全服務(wù)效率降低的問(wèn)題,本文結(jié)合IaaS云平臺(tái)特征改進(jìn)了FairScheduler算法,實(shí)現(xiàn)了云環(huán)境下安全服務(wù)調(diào)度框架,通過(guò)實(shí)驗(yàn)驗(yàn)證了改進(jìn)算法在系統(tǒng)資源利用率和作業(yè)效率上均優(yōu)于原FairScheduler算法。在下一步工作中一方面將更加注重針對(duì)不同類(lèi)型安全服務(wù)(如漏洞掃描、防火墻等)的不同分配策略,以進(jìn)一步提高內(nèi)存、CPU等物理資源利用率;另一方面考慮到安全服務(wù)動(dòng)態(tài)性和安全服務(wù)資源的動(dòng)態(tài)伸縮,需要對(duì)算法進(jìn)行進(jìn)一步改進(jìn),使之可以應(yīng)用到更加復(fù)雜的安全服務(wù)資源調(diào)度場(chǎng)景。 ) [1]VARIAJ,MATHEWS.OverviewofAmazonWebservices[EB/OL].[2015-01-21].http://docs.aws.amazon.com/gettingstarted/latest/awsgsg-intro/intro.html. [2]MELLPM,GRANCET.TheNISTdefinitionofcloudcomputing,SP800- 145 [R].Gaithersburg,MD:NationalInstituteofStandards&Technology, 2011. [3]MURRAYS.IDCforecasts[EB/OL].[2015- 11- 20].http://www.idc.com/getdoc.jsp?containerId=prUS25797415. [4]ZISSISD,LEKKASD.Addressingcloudcomputingsecurityissues[J].FutureGenerationcomputersystems, 2012, 28(3): 583-592. [5] 亞馬遜EC2云計(jì)算服務(wù)遭到僵尸網(wǎng)絡(luò)攻擊引發(fā)故障 [EB/OL].[2016- 06- 13].http://www.2cto.com/News/200912/43369.html.(TheEC2ofAmazonwasattackedbybotnet[EB/OL].[2016- 06- 13].http://www.2cto.com/News/200912/43369.html.) [6] 阿里云9月1日云盾升級(jí)故障真相[EB/OL].[2015- 09- 11].http://www.infoq.com/cn/news/2015/09/aliyun-yundun?isappinstalled=0.(ThetruthofthemalfunctionwhichisoccurinAliyunatSep.1 [EB/OL].[2015- 09- 11].http://www.infoq.com/cn/news/2015/09/aliyun-yundun?isappinstalled=0.) [7]JANSENW,GRANCET.Guidelinesonsecurityandprivacyinpubliccloudcomputing,SP800- 144 [R].Gaithersburg,MD:NationalInstituteofStandards&Technology, 2011. [8] 阿里云安全白皮書(shū)V1.2 [EB/OL].(2014- 03).http://www.chinacloud.cn/show.aspx?id=15308&cid=29.(ThewhitepaperofAliyunsecuritysystem[EB/OL].(2014- 03).http://www.chinacloud.cn/show.aspx?id=15308&cid=29.) [9]TheVMwareNSXnetworkvirtualizationplatform[EB/OL].(2015- 07) [2016- 03- 16].http://www.vmware.com/cn/products/nsx/. [10]ETSI.NetworkFunctionsVirtualisation(NFV);architecturalframework[EB/OL].[2016- 03- 16].http://www.etsi.org/deliver/etsi_gs/NFV/001_099/002/01.01.01_60/gs_NFV002v010101p.pdf. [11]ETSI.NetworkFunctionsVirtualisation(NFV);virtualnetworkfunctionsarchitecture[EB/OL].[2016- 03- 16].http://www.etsi.org/deliver/etsi_gs/NFV-SWA/001_099/001/01.01.01_60/gs_nfv-swa001v010101p.pdf. [12] 王永貴,韓瑞蓮.基于改進(jìn)蟻群算法的云環(huán)境任務(wù)調(diào)度研究[J].計(jì)算機(jī)測(cè)量與控制,2011,19(5):1203-1204.(WANG Y G, HAN R L.Study on cloud computing task schedule strategy based on MACO algorithm [J].Computer Measurement & Control, 2011, 19(5): 1203-1204.) [13] 王祺元,閆宏印.基于改進(jìn)RM算法的云環(huán)境任務(wù)調(diào)度研究[J].計(jì)算機(jī)測(cè)量與控制,2013,21(6):1612-1614.(WANG Q Y, YAN H Y.Study on cloud computing task scheduling strategy based on RM algorithm [J].Computer Measurement & Control, 2013, 21(6):1612-1614.) [14] 金偉健,王春枝.基于匹配規(guī)則的MapReduce任務(wù)調(diào)度模型[J].計(jì)算機(jī)應(yīng)用,2014,34(4):1010-1013.(JIN W J,WANG C Z.MapReduce tasks scheduling model based on matching rules [J].Journal of Computer Applications, 2014, 34(4): 1010-1013.) [15] ZAHARIA M, BORTHAKUR D, SARMA J S, et al.Job scheduling for multi-user mapreduce clusters, EECS- 2009- 55 [R].Berkley: University of California, EECS Department, 2009. [16] 吳吉紅.基于服務(wù)質(zhì)量的多租戶(hù)資源調(diào)度方法研究[D].沈陽(yáng):遼寧大學(xué), 2012:21-48.(WU J H.Multi-tenant resource scheduling method based on the quality of service [D].Shenyang: Liaoning University, 2012: 21-48.) [17] MARBACH P.Priority service and max-min fairness [J].IEEE/ACM Transactions on Networking, 2003, 11(5): 733-746. This work is partially supported by the National Natural Science Foundation of China (61272447). YUAN Zhongliang, born in 1991, M.S.candidate.His research interests include virtual network, cloud computing security. CHEN Xingshu, born in 1968, Ph.D., professor.Her research interests include information security, cloud computing security, big data processing. WANG Yitong, born in 1987, Ph.D.candidate.His research interests include cloud computing security. Security resource allocation and service scheduling framework for multiple tenants in IaaS YUAN Zhongliang, CHEN Xingshu*, WANG Yitong (CollegeofComputerScience,SichuanUniversity,ChengduSichuan610065,China) In Infrastructure-as-a-Service (IaaS) environment, the limited security service resources and uneven allocation of security resources for multiple tenants causes low efficiency of security service scheduling.To resolve this problem, a tenant security service scheduling framework was designed.Based on the minimum fairness algorithm and the scheduling idea of Fair Scheduler, the minimum sharing resources and resource demand attribute were set for the tenant.Then, the security service resource allocation algorithm was used to satisfy the tenant’s resource demand as fair as possible to ensure the minimum sharing resources of the tenant.Finally, a tenant security service scheduling framework was implemented by combining the job scheduling algorithm within tenant and resource preemption algorithm among tenants.The experimental results show that under the condition of random allocation of resources, the proposed security service resource allocation algorithm is better than traditional algorithms in the aspects of resource utilization and operation efficiency, and the security service scheduling framework can solve the uneven allocation of security resources for multiple tenants. cloud computing; security service; resource allocation; job scheduling 2016- 08- 15; 2016- 09- 09。 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61272447)。 苑中梁(1991—),男,碩士研究生,山西朔州人,主要研究方向:虛擬網(wǎng)絡(luò)、云計(jì)算安全; 陳興蜀(1968—),女,四川自貢人,教授,博士,主要研究方向:信息安全、云計(jì)算安全、大數(shù)據(jù)分析; 王毅桐(1987—),男,四川成都人,博士研究生,主要研究方向:云計(jì)算安全。 1001- 9081(2017)02- 0383- 05 10.11772/j.issn.1001- 9081.2017.02.0383 TP309.2 A3 測(cè)試與分析
4 結(jié)語(yǔ)