摘要:基于對象存儲(chǔ)文件系統(tǒng)結(jié)構(gòu)特點(diǎn)和策略管理思想,提出了對象存儲(chǔ)文件系統(tǒng)管理的一般模型#65377;定義了兩種策略結(jié)構(gòu),并通過分析對象存儲(chǔ)文件系統(tǒng)節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換邏輯關(guān)系,給出了管理策略訂制的理論依據(jù)#65377;模型及其管理策略訂制方法在Lustre對象存儲(chǔ)文件系統(tǒng)中得到應(yīng)用,效果良好#65377;
關(guān)鍵詞:對象存儲(chǔ)文件系統(tǒng);對象管理;策略;Lustre
中圖分類號(hào):TP335文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2007)10-0051-03
對象存儲(chǔ)[1]是近年來出現(xiàn)的新的海量數(shù)據(jù)管理技術(shù)#65377;在該技術(shù)中對象是數(shù)據(jù)及其屬性的組合,屬性用于定義數(shù)據(jù)的RAID參數(shù)#65380;分布和服務(wù)質(zhì)量等#65377;應(yīng)用對象存儲(chǔ)方式存儲(chǔ)文件是提高存儲(chǔ)系統(tǒng)I/O性能的一種有效途徑#65377;然而,對象存儲(chǔ)文件系統(tǒng)的I/O性能不僅與文件數(shù)據(jù)存儲(chǔ)方式相關(guān),也與管理機(jī)制有著緊密的聯(lián)系#65377;
與大多數(shù)分布式文件系統(tǒng)類似,目前對對象存儲(chǔ)文件系統(tǒng)的管理,如Lustre[2]#65380;zFS[3],多采用腳本的方式,對系統(tǒng)中的節(jié)點(diǎn)逐個(gè)進(jìn)行管理#65377;這種方式能夠提供較大的管理靈活度和執(zhí)行一些底層的管理操作,但也存在如下缺點(diǎn):a)不能從系統(tǒng)層次對文件系統(tǒng)進(jìn)行管理,從而無法從整體上獲取系統(tǒng)的狀態(tài)信息;b)缺乏實(shí)時(shí)的系統(tǒng)監(jiān)控機(jī)制,無法及時(shí)發(fā)現(xiàn)文件系統(tǒng)故障信息;c)逐個(gè)節(jié)點(diǎn)管理模式會(huì)導(dǎo)致管理的復(fù)雜度隨被管節(jié)點(diǎn)數(shù)目的增加而增加#65377;因此,需要重新定義一種新的管理方式,以滿足對象存儲(chǔ)文件系統(tǒng)管理的需要#65377;
策略管理是指管理系統(tǒng)根據(jù)管理員提交的策略進(jìn)行系統(tǒng)管理#65377;利用策略管理可以提高系統(tǒng)管理的自動(dòng)化程度#65377;本文結(jié)合策略管理思想,在分析對象存儲(chǔ)文件系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,提出了一個(gè)適合其特性的管理模型,分析了系統(tǒng)策略管理機(jī)制及其實(shí)現(xiàn)方式#65377;
1管理模型的提出
1.1典型對象存儲(chǔ)文件系統(tǒng)拓?fù)浣Y(jié)構(gòu)
通過對Lustre#65380;zFS#65380;StorageTank[4]等系統(tǒng)和文獻(xiàn)[5] 的分析可以抽象出對象存儲(chǔ)文件系統(tǒng)的拓?fù)浣Y(jié)構(gòu)#65377;其特征如下:
a)系統(tǒng)主體由三部分組成,即計(jì)算節(jié)點(diǎn)(computer node,CN)#65380;元數(shù)據(jù)服務(wù)器(meta data server,MDS)及對象存儲(chǔ)服務(wù)器(object storage target,OST),三部分通過網(wǎng)絡(luò)互連#65377;
b)邏輯文件數(shù)據(jù)以對象方式,按一定規(guī)則分布在多個(gè)對象存儲(chǔ)服務(wù)器上#65377;
MDS池由若干元數(shù)據(jù)服務(wù)器構(gòu)成,用來管理對象存儲(chǔ)文件系統(tǒng)中的文件#65380;目錄以及每個(gè)文件的分布視圖;若干對象存儲(chǔ)服務(wù)器構(gòu)成了OST池,用來管理#65380;存儲(chǔ)對象數(shù)據(jù)#65377;計(jì)算節(jié)點(diǎn)提供了用戶訪問對象存儲(chǔ)文件系統(tǒng)的接口#65377;
1.2管理模型
圖1為基于對象存儲(chǔ)文件系統(tǒng)拓?fù)浣Y(jié)構(gòu)并結(jié)合策略管理思想提出的對象存儲(chǔ)文件系統(tǒng)的管理模型#65377;模型由管理控制端(management console)#65380;管理服務(wù)器(management server)和被管理對象節(jié)點(diǎn)組成#65377;管理控制端提供用戶Web訪問的接口;管理服務(wù)器主要由Web服務(wù)器#65380;策略管理器(policy manager)和策略數(shù)據(jù)庫(policy database)組成,負(fù)責(zé)解析#65380;執(zhí)行用戶管理請求;被管理對象節(jié)點(diǎn)有MDS#65380;OST和CN三種類型,被管理對象節(jié)點(diǎn)上運(yùn)行agent程序,以響應(yīng)policy manager操作請求#65377;
定義系統(tǒng)配置管理#65380;狀態(tài)管理和監(jiān)控管理三種管理功能#65377;管理員通過管理控制臺(tái)將管理請求提交給Web服務(wù)器,Web服務(wù)器對請求進(jìn)行解析并發(fā)送至策略管理器#65377;策略管理器由策略控制模塊(policy controller)和策略執(zhí)行模塊(policy executer)組成#65377;策略控制模塊控制策略執(zhí)行邏輯#65377;根據(jù)用戶定制的策略,從策略數(shù)據(jù)庫中尋找到管理請求對應(yīng)的管理動(dòng)作,并根據(jù)策略將管理動(dòng)作提交至策略執(zhí)行模塊,由該模塊通過通信協(xié)議將請求發(fā)送至agent上#65377;Agent是被管理對象節(jié)點(diǎn)上的服務(wù)程序,負(fù)責(zé)具體管理動(dòng)作的執(zhí)行,并將執(zhí)行的結(jié)果返回給策略執(zhí)行模塊,繼而通過策略控制模塊和Web服務(wù)器返回至管理控制臺(tái)#65377;
1.3管理模型特點(diǎn)分析
與傳統(tǒng)的對象存儲(chǔ)文件系統(tǒng)管理[6]相比,該模型具有以下幾個(gè)特點(diǎn):
a)基于策略管理的管理方式,使得整個(gè)管理系統(tǒng)更加智能化#65377;管理者只需定義管理策略,就能保證整個(gè)管理系統(tǒng)能自動(dòng)正常地運(yùn)行#65377;
b)通用的管理結(jié)構(gòu),適用于所有滿足文中描述的對象存儲(chǔ)文件系統(tǒng)結(jié)構(gòu)#65377;管理者只需指定管理代理端的具體操作,即可管理不同的對象存儲(chǔ)文件系統(tǒng)#65377;
c)統(tǒng)一的管理監(jiān)控結(jié)構(gòu),避免了由于某些功能執(zhí)行不正確導(dǎo)致系統(tǒng)性能不能充分發(fā)揮的問題;同時(shí),也避免了逐個(gè)節(jié)點(diǎn)配置帶來的復(fù)雜性#65377;
2管理機(jī)制分析
2.1策略描述
策略是一組策略元素的集合體[7]#65377;用C,M,A,O,P表示一個(gè)策略元素#65377;其中:C表示策略元素執(zhí)行條件;M表示策略元素執(zhí)行方式;A表示策略元素執(zhí)行的管理動(dòng)作,區(qū)分為配置管理#65380;狀態(tài)管理和系統(tǒng)監(jiān)控管理三種;O表示策略元素管理對象,分別對應(yīng)于對象存儲(chǔ)文件系統(tǒng)中的三類對象CN#65380;OST和MDS,每類對象可包括多個(gè)實(shí)體;P為擴(kuò)充項(xiàng),為策略元素執(zhí)行管理操作時(shí)需要的管理參數(shù)#65377;
管理員通過策略描述項(xiàng)對策略進(jìn)行描述,策略描述項(xiàng)包括P_N#65380;P_ELE_name#65380;condition#65380;M#65380;action與OB#65377;其中:P_N表示策略名;P_ELE_name表示策略元素名; condition表示策略元素執(zhí)行條件,分時(shí)間條件和事件條件兩種(時(shí)間條件格式定義為Tyearmonthdayhourminute,若只有T,表示即時(shí)觸發(fā);事件條件格式定義為E事件名稱);M表示策略元素執(zhí)行方式,0代表不限次數(shù);action表示策略元素管理動(dòng)作;OB表示管理對象#65377;
2.2基于Petri網(wǎng)的管理策略定制
對基于時(shí)間觸發(fā)的策略,管理員只需要在策略執(zhí)行條件中設(shè)定執(zhí)行時(shí)間點(diǎn),策略管理器就可根據(jù)設(shè)定的時(shí)間點(diǎn)執(zhí)行策略對應(yīng)的動(dòng)作#65377;
基于事件觸發(fā)的管理策略定制的核心是將觸發(fā)事件和策略管理動(dòng)作進(jìn)行綁定,以達(dá)到預(yù)期管理目的#65377;但是,不同系統(tǒng)狀態(tài)下,相同類型的觸發(fā)事件可能會(huì)對應(yīng)不同的管理操作#65377;因此需要基于對象存儲(chǔ)文件系統(tǒng)的狀態(tài)轉(zhuǎn)換邏輯關(guān)系圖來定義觸發(fā)事件所對應(yīng)的策略管理動(dòng)作#65377;
將對象存儲(chǔ)文件系統(tǒng)節(jié)點(diǎn)狀態(tài)定義為六種:停止#65380;配置#65380;啟動(dòng)#65380;運(yùn)行#65380;修復(fù)#65380;故障#65377;停止?fàn)顟B(tài)表示節(jié)點(diǎn)中關(guān)于對象文件系統(tǒng)的進(jìn)程沒有被啟動(dòng),且節(jié)點(diǎn)處于非配置過程;配置狀態(tài)表示節(jié)點(diǎn)正在被配置過程;啟動(dòng)狀態(tài)表示相關(guān)進(jìn)程已運(yùn)行,但還處在初始化的過程中,不能對外提供服務(wù);運(yùn)行狀態(tài)表示節(jié)點(diǎn)能正常對外提供服務(wù);故障狀態(tài)表示節(jié)點(diǎn)運(yùn)行出錯(cuò),還沒有進(jìn)行恢復(fù);恢復(fù)狀態(tài)表示節(jié)點(diǎn)正在進(jìn)行服務(wù)恢復(fù)#65377;
圖2為利用Petri網(wǎng)[8]描述的對象文件系統(tǒng)節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換邏輯模型#65377;
進(jìn)行策略定制時(shí),根據(jù)節(jié)點(diǎn)當(dāng)前的運(yùn)行狀態(tài),定義管理事件產(chǎn)生后需要執(zhí)行的管理動(dòng)作#65377;如配置狀態(tài)下,啟動(dòng)事件觸發(fā)的管理動(dòng)作對應(yīng)為t1#65377;表1為基于狀態(tài)轉(zhuǎn)換關(guān)系圖構(gòu)建的通用對象存儲(chǔ)文件系統(tǒng)模型MDS端對應(yīng)的策略定制表#65377;OST端#65380;計(jì)算節(jié)點(diǎn)端與此類似,這里不再贅述#65377;對于具體的對象存儲(chǔ)文件系統(tǒng),可以選擇其子集作為策略進(jìn)行管理,用戶只需要定義具體的管理對象(OB)和執(zhí)行方式(M)即可#65377;
3策略管理器的實(shí)現(xiàn)
策略管理器由策略控制和策略執(zhí)行模塊組成#65377;圖3是策略管理器實(shí)現(xiàn)過程#65377;
圖3中的虛線表示策略分析流#65377;策略控制模塊首先從數(shù)據(jù)庫獲取新的策略,將其加入策略鏈表中,將策略中制訂的管理動(dòng)作#65380;對象及執(zhí)行方式構(gòu)成一個(gè)策略執(zhí)行作業(yè)添加至作業(yè)鏈表中;然后將該策略的執(zhí)行條件和對應(yīng)的策略執(zhí)行作業(yè)名構(gòu)成一個(gè)條件結(jié)構(gòu),加入到條件鏈表中#65377;
圖3中的實(shí)線表示策略提交流#65377;系統(tǒng)中設(shè)計(jì)有一個(gè)進(jìn)程,用來接收管理服務(wù)器的請求,通過不斷遍歷條件鏈表找出相對應(yīng)的條件,并觸發(fā)回調(diào)函數(shù)執(zhí)行#65377;回調(diào)函數(shù)根據(jù)條件結(jié)構(gòu)中的策略執(zhí)行作業(yè)名,找到相應(yīng)的作業(yè),將管理動(dòng)作#65380;對象以及執(zhí)行方式提交至策略執(zhí)行模塊中的分析函數(shù)#65377;分析函數(shù)根據(jù)管理動(dòng)作的不同,將管理動(dòng)作#65380;對象及執(zhí)行方式交由不同的子模塊進(jìn)行具體執(zhí)行#65377;
策略執(zhí)行子模塊由三部分組成:Cli_config 模塊用來傳遞配置文件,執(zhí)行配置操作;Cli_manage 模塊用來完成OST#65380;MDS#65380;computer node的停止#65380;啟動(dòng)#65380;運(yùn)行#65380;故障#65380;恢復(fù)狀態(tài)等的變化;Cli_monitor執(zhí)行監(jiān)控操作,用來獲取服務(wù)的各種狀態(tài)信息#65377;
4模型在Lustre系統(tǒng)中的應(yīng)用
4.1Lustre管理策略定制
以MDS管理為例,定義停止#65380;配置#65380;運(yùn)行#65380;啟動(dòng)四種系統(tǒng)狀態(tài)#65377;設(shè)置事件條件為E_MDS_stop#65380;E_MDS_start和E_MDS_config;設(shè)置時(shí)間條件為T#65377;E_MDS_stop為停止節(jié)點(diǎn)運(yùn)行事件,E_MDS_start為觸發(fā)系統(tǒng)啟動(dòng)事件,E_MDS_config為觸發(fā)系統(tǒng)配置事件;T表示即時(shí)觸發(fā)#65377;
根據(jù)對象存儲(chǔ)文件系統(tǒng)狀態(tài)轉(zhuǎn)換邏輯圖及MDS的通用策略模型,選擇其一個(gè)子集,規(guī)定MDS的管理策略,如表2所示#65377;
4.2Lustre中管理模型實(shí)現(xiàn)的結(jié)果
圖4是實(shí)現(xiàn)的Lustre文件系統(tǒng)的管理界面#65377;用戶通過啟動(dòng)按鈕產(chǎn)生E_MDS_start事件,通過關(guān)閉按鈕產(chǎn)生E_MDS_stop#65377;事件產(chǎn)生后,將由策略管理器根據(jù)MDS運(yùn)行策略執(zhí)行對應(yīng)的管理動(dòng)作,并通過MDS上的管理代理進(jìn)行系統(tǒng)管理#65377;
5結(jié)束語
基于策略管理的思想,本文提出了一個(gè)符合一般對象存儲(chǔ)文件系統(tǒng)結(jié)構(gòu)特點(diǎn)的管理模型,給出了具體實(shí)現(xiàn)方式,并將其成功應(yīng)用于Lustre對象存儲(chǔ)文件系統(tǒng)的管理中#65377;實(shí)踐表明本模型具有較強(qiáng)的通用性和適用性#65377;
值得提出的是,對象存儲(chǔ)文件系統(tǒng)由于其基于對象的存儲(chǔ)方式,給存儲(chǔ)端智能管理帶來了可能性#65377;因此,如何根據(jù)對象的屬性,動(dòng)態(tài)地進(jìn)行對象存儲(chǔ)文件系統(tǒng)的管理,也將是一個(gè)很有意義的研究方向#65377;
參考文獻(xiàn):
[1]LONG D,BRANDT S,MILLER E,et al.Design and implementation of large scale objectbased storage system,Technical Report ucsccrl0235[R]. Santa Cruz:University of California,2002.
[2]BRAAM P J.The Lustre storage architecture[R].[S.l.]:Cluster File Systems Inc,2002:20100.
[3]RODEH O,TEPERMAN A.zFS: a scalable distributed file system using object disks[C]//Proc of the IEEE Mass Storage Systems and Technologies Conference. San Diego,CA:[s.n.],2003:207-218.
[4]RANDAL B.Data management in a distributed file system for storage area networks[D].Santa Cruz:University of California,2000:23-58.
[5]Object storage architecture,Panasas white paper[R].[S.l.]:Panasas,2003:715.
[6]WELCH B,GIBSON G.Managing scalability in object storage systems for HPC Linux clusters[C]//Proc of the IEEE Mass Storage Systems and Technologies Conference. Adelphi,MD:[s.n.],2004:100112.
[7]SLOMAN M.Policy driven management for distributed systems[J].Journal of Network and System Management,1994,2(4):333-360.
[8]MURATA T.Petri nets:properties,analysis and applications[J].Proc of the IEEE,1989,77(4):541-580.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”