摘要:簡(jiǎn)要介紹了基于對(duì)象存儲(chǔ)系統(tǒng)的框架結(jié)構(gòu),并分析了系統(tǒng)的特點(diǎn)。在結(jié)合網(wǎng)絡(luò)QoS和存儲(chǔ)QoS的基礎(chǔ)上,討論了整個(gè)系統(tǒng)的QoS要求。針對(duì)這些要求,提出基于對(duì)象存儲(chǔ)系統(tǒng)的QoS框架,分別在對(duì)象屬性、OSD命令和OSD設(shè)備上得以實(shí)現(xiàn)。
關(guān)鍵詞:QoS; 基于對(duì)象存儲(chǔ); 屬性
中圖法分類(lèi)號(hào):TP333文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1001-3695(2007)01-0080-03
1引言
基于對(duì)象的存儲(chǔ)系統(tǒng)(以下稱(chēng)OBS系統(tǒng))已成為下一代互聯(lián)網(wǎng)信息存儲(chǔ)的核心技術(shù),這種提供對(duì)象接口的方案完美地結(jié)合了SAN和NAS的優(yōu)勢(shì),在系統(tǒng)性能、可擴(kuò)展性、安全性、跨平臺(tái)能力等方面都有了較大的提升。存儲(chǔ)網(wǎng)絡(luò)工業(yè)協(xié)會(huì)(SNIA)[1]已于20-04年提出了基于對(duì)象存儲(chǔ)協(xié)議(OSD協(xié)議)第九修訂版,協(xié)議規(guī)定:對(duì)象是可變長(zhǎng)的,對(duì)象中包含屬性,用來(lái)描述對(duì)象的特征。對(duì)象的屬性可以分為兩種:①協(xié)議已經(jīng)規(guī)定的,如1h為用戶對(duì)象信息,3h為用戶對(duì)象的時(shí)間戳;②協(xié)議為用戶和其他標(biāo)準(zhǔn)的定義所預(yù)留的,屬性頁(yè)號(hào)80h~7FFFh為用戶定義的,8000h~EFFFh可以給其他標(biāo)準(zhǔn)定義。因此,可以利用這些自定義的屬性來(lái)實(shí)現(xiàn)QoS。
系統(tǒng)所要求的QoS體現(xiàn)在從客戶端到終端的過(guò)程中。例如,對(duì)于分組交換網(wǎng)的QoS問(wèn)題,人們利用基于業(yè)務(wù)分類(lèi)、定義優(yōu)先級(jí)、資源預(yù)留、加權(quán)公平排隊(duì)等策略的DiffServe,MPLS等現(xiàn)有技術(shù)來(lái)實(shí)現(xiàn)[2]。對(duì)于終端磁盤(pán)的QoS問(wèn)題,人們采用磁盤(pán)調(diào)度策略來(lái)加以保障。而在基于對(duì)象的存儲(chǔ)系統(tǒng)中,有必要將網(wǎng)絡(luò)的QoS和存儲(chǔ)的QoS結(jié)合起來(lái)考慮,根據(jù)OSD協(xié)議和iSCSI協(xié)議規(guī)范,有針對(duì)性地定義對(duì)象的屬性,使QoS貫穿在建立連接、傳送數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)的整個(gè)過(guò)程中。
2OBS系統(tǒng)結(jié)構(gòu)及特點(diǎn)
如圖1所示,OBS系統(tǒng)主要由四大部分組成,即客戶端、元數(shù)據(jù)服務(wù)器、智能磁盤(pán)設(shè)備 (OSD)和互聯(lián)網(wǎng)絡(luò)。客戶端負(fù)責(zé)向元數(shù)據(jù)服務(wù)器發(fā)起應(yīng)用請(qǐng)求,如文件的創(chuàng)建、刪除、打開(kāi)、關(guān)閉、讀寫(xiě)等;服務(wù)器在對(duì)客戶進(jìn)行身份確認(rèn)后,將文件的元數(shù)據(jù)信息返回給客戶端,包括文件的對(duì)象號(hào)、設(shè)備號(hào)、操作碼等;然后客戶端用得到的證書(shū)向OSD設(shè)備發(fā)送命令,建立連接;OSD設(shè)備在對(duì)證書(shū)的完整性和正確性驗(yàn)證之后,就可以與客戶端進(jìn)行數(shù)據(jù)傳輸[3]。
OBS系統(tǒng)的特點(diǎn)之一是提供了對(duì)象接口,對(duì)象由數(shù)據(jù)、屬性和元數(shù)據(jù)構(gòu)成。由于對(duì)象屬性的加入,使得OSD可以掌握豐富的對(duì)象信息,從而實(shí)現(xiàn)優(yōu)化高效的數(shù)據(jù)組織、自主的對(duì)象管理。最重要的是,智能存儲(chǔ)設(shè)備還可以通過(guò)對(duì)象屬性了解外部環(huán)境,合理地對(duì)資源進(jìn)行分配和預(yù)留,顯著提高服務(wù)的質(zhì)量[4]。
3OBS系統(tǒng)的QoS要求
與傳統(tǒng)的基于塊的存儲(chǔ)系統(tǒng)不同,對(duì)象接口提供了足夠豐富的屬性來(lái)描述數(shù)據(jù)的特征,因此傳統(tǒng)的提供最大努力的服務(wù)機(jī)制已經(jīng)不能滿足OBS系統(tǒng)的應(yīng)用要求。OSD協(xié)議可以根據(jù)具體的應(yīng)用來(lái)提供不同的等級(jí)、不同種類(lèi)的QoS。此外,OBS系統(tǒng)也將面臨著更加復(fù)雜的外部環(huán)境,如一個(gè)OSD設(shè)備是與多個(gè)客戶端互連的,每個(gè)客戶端的請(qǐng)求都有不同的QoS要求,同一個(gè)客戶端的請(qǐng)求也有不同的QoS要求,甚至同一個(gè)對(duì)象相對(duì)應(yīng)不同的操作也會(huì)有不同的QoS 要求,這些都需要智能OSD設(shè)備能根據(jù)對(duì)象的QoS要求,實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的I/O條件和負(fù)載能力,采取相應(yīng)的準(zhǔn)入策略[5]。
結(jié)合OBS系統(tǒng)的特點(diǎn),總結(jié)出三類(lèi)QoS需求:
(1)對(duì)象操作的QoS。針對(duì)整個(gè)對(duì)象的操作,在這里定義的QoS屬性為靜態(tài)屬性,即從對(duì)象的創(chuàng)建到對(duì)象的傳輸、存儲(chǔ)、定義的屬性都將伴隨著這個(gè)對(duì)象,直到最后對(duì)象被刪除才消失。例如,一個(gè)流媒體的文件對(duì)象,它從客戶端傳輸?shù)絆SD設(shè)備需要很高的帶寬,很低的抖動(dòng)以及較低的時(shí)延,這些QoS要求在對(duì)象創(chuàng)建時(shí)就要建立,并且當(dāng)OBS系統(tǒng)的環(huán)境滿足這些屬性定義時(shí),對(duì)象開(kāi)始傳送、存儲(chǔ)。
(2)數(shù)據(jù)操作的OoS,主要保證對(duì)象中數(shù)據(jù)的操作。這些QoS屬性是動(dòng)態(tài)屬性,只有當(dāng)某些應(yīng)用需要對(duì)對(duì)象的數(shù)據(jù)進(jìn)行操作時(shí),才暫時(shí)在OSD命令中定義。例如,文件對(duì)象已經(jīng)儲(chǔ)存在OSD設(shè)備上,如果要作文件對(duì)象拷貝時(shí),需要一個(gè)高帶寬的磁盤(pán)I/O通道,就需要?jiǎng)討B(tài)定義磁盤(pán)的帶寬要求。再例如,在作增量備份時(shí),客戶端需要修改文件對(duì)象的一部分?jǐn)?shù)據(jù),修改過(guò)程的網(wǎng)絡(luò)帶寬要求、響應(yīng)時(shí)間等也是動(dòng)態(tài)定義的屬性要求。
(3)屬性操作的QoS。對(duì)象中包括數(shù)據(jù)和屬性,這類(lèi)的QoS針對(duì)對(duì)象屬性的操作,同樣也是動(dòng)態(tài)屬性。例如在數(shù)據(jù)庫(kù)的應(yīng)用中,需要在規(guī)定時(shí)間內(nèi)檢索出符合一定要求(如修改時(shí)間)的對(duì)象ID,并修改成客戶定義的值,這個(gè)操作的響應(yīng)時(shí)間就是需要?jiǎng)討B(tài)定義的屬性要求。
一般來(lái)說(shuō),一個(gè)對(duì)象的屬性應(yīng)始終包含對(duì)象操作的QoS,但是不同的對(duì)象自定義的QoS會(huì)根據(jù)不同的應(yīng)用而有所區(qū)別,如流媒體需要確保帶寬,減少抖動(dòng),減少延時(shí);商務(wù)應(yīng)用應(yīng)該保證響應(yīng)時(shí)間以及數(shù)據(jù)的安全性和完整性,而數(shù)據(jù)操作的QoS和屬性操作的QoS是在對(duì)這個(gè)對(duì)象具體操作時(shí)所定義的,有時(shí)可能會(huì)與對(duì)象操作的QoS沖突,此時(shí)應(yīng)該以數(shù)據(jù)操作的QoS或?qū)傩圆僮鞯腝oS為準(zhǔn)。
4OBS系統(tǒng)的QoS框架
上面分析了OBS系統(tǒng)的QoS要求,然后將基于這些要求提出OBS系統(tǒng)的QoS框架。
4.1QoS的屬性定義
OBS系統(tǒng)的一個(gè)特點(diǎn)就是對(duì)象屬性可以自定義,因此可以用這些自定義的屬性來(lái)豐富文件的特性,當(dāng)然其中也包括整個(gè)對(duì)象的QoS需求。但是由于具體的應(yīng)用所要求的QoS不盡相同,各個(gè)文件的屬性定義也不一樣,現(xiàn)以比較常見(jiàn)的流媒體為例子來(lái)說(shuō)明對(duì)象QoS屬性的結(jié)構(gòu)。
首先確定流媒體文件的QoS屬性需求:①平均帶寬。用來(lái)確保整個(gè)對(duì)象的傳輸速度,平均帶寬可以通過(guò)公式計(jì)算出,平均帶寬=文件對(duì)象大小平均傳輸進(jìn)間。②峰值帶寬。由于流媒體的傳輸是通過(guò)傳送相鄰幀之間的差別而將視頻壓縮,根據(jù)圖片細(xì)節(jié)的不同,所要傳送的數(shù)據(jù)量隨著時(shí)間的變化而變化。有時(shí)峰值帶寬會(huì)遠(yuǎn)遠(yuǎn)大于平均帶寬[6],峰值帶寬的確定可以使應(yīng)用程序留出足夠的緩沖區(qū)來(lái)滿足QoS需求。③抖動(dòng)。分組的時(shí)延變化用來(lái)確保流媒體的播放質(zhì)量,如抖動(dòng)太劇烈將使畫(huà)面不平滑,甚至出現(xiàn)停頓的現(xiàn)象。
根據(jù)OSD協(xié)議,我們定義流媒體的QoS屬性頁(yè)如表1所示,屬性頁(yè)的格式如表2所示。
在OSD協(xié)議中規(guī)定,屬性頁(yè)號(hào)從8000h~EFFFh是給其他標(biāo)準(zhǔn)保留的,現(xiàn)定義8000h為QoS屬性頁(yè)碼號(hào),同時(shí)也希望這個(gè)定義能被OSD協(xié)議所規(guī)范。
表1QoS屬性頁(yè)
4.2OSD命令
上面分析了OBS系統(tǒng)的QoS要求,具體的每個(gè)文件對(duì)象都會(huì)有其固定的QoS屬性,即靜態(tài)屬性。同時(shí),對(duì)這個(gè)對(duì)象具體操作時(shí),如對(duì)數(shù)據(jù)操作或?qū)傩圆僮鳎瑯拥匾獙?duì)這些操作定義QoS屬性,這些屬性為動(dòng)態(tài)屬性。當(dāng)對(duì)象既有靜態(tài)屬性又有動(dòng)態(tài)屬性時(shí),需要通過(guò)某些機(jī)制來(lái)保證實(shí)現(xiàn)哪個(gè)等級(jí)的QoS。
客戶端發(fā)送CDB(Command Description Block,命令表述塊)給OSD設(shè)備,可以通過(guò)擴(kuò)展CDB命令第11個(gè)字節(jié)的定義來(lái)實(shí)現(xiàn)靜態(tài)屬性和動(dòng)態(tài)屬性的區(qū)別。具體定義如表3所示。11個(gè)字節(jié)的第4位和第5位的值為01b時(shí),表示后面的屬性為QoS動(dòng)態(tài)屬性。
表3Get and Set Attributes CDB format Code Values
動(dòng)態(tài)屬性應(yīng)該有有效時(shí)限,OBS系統(tǒng)只是在這個(gè)期間內(nèi)保證這些QoS的動(dòng)態(tài)屬性,為此定義一個(gè)標(biāo)志位來(lái)表示這個(gè)期間的開(kāi)始和結(jié)束。同樣利用CDB命令的第11個(gè)字節(jié)來(lái)定義第6位、第7位的值,當(dāng)值為11b時(shí),表示動(dòng)態(tài)屬性有效時(shí)限的開(kāi)始;值為00b時(shí),表示有效時(shí)限的結(jié)束;值為01b和10b保留。
只有當(dāng)11個(gè)字節(jié)的第4位和第5位值為01b時(shí),第6位和第7位的值才有意義。
4.3OSD設(shè)備端的QoS策略
OSD是一個(gè)智能設(shè)備,包括處理器、RAM內(nèi)存、網(wǎng)絡(luò)接口、存儲(chǔ)介質(zhì)如磁盤(pán)等,OSD可以根據(jù)處理器的計(jì)算能力來(lái)制定優(yōu)化策略,保證設(shè)備端的QoS性能。在這里,簡(jiǎn)單討論一下準(zhǔn)入策略和資源預(yù)留策略。
4.3.1準(zhǔn)入策略
由于多個(gè)客戶端有可能同時(shí)連接一個(gè)OSD設(shè)備要求讀寫(xiě)對(duì)象,那么每個(gè)客戶的QoS不是都能保證的,OSD設(shè)備采用準(zhǔn)入策略。當(dāng)一個(gè)新的客戶請(qǐng)求到來(lái)時(shí),OSD設(shè)備先判斷網(wǎng)絡(luò)條件和磁盤(pán)條件是否滿足,在應(yīng)答信息中告知客戶端。準(zhǔn)入策略有三類(lèi)[7]:
(1)最大努力策略。努力滿足所有客戶的請(qǐng)求,當(dāng)OSD設(shè)備性能達(dá)到極限時(shí),整個(gè)系統(tǒng)的QoS惡化,最大努力策略將首先降低不重要應(yīng)用的QoS。
(2)確定策略。OSD設(shè)備根據(jù)客戶請(qǐng)求的QoS判斷接受哪些請(qǐng)求,拒絕哪些請(qǐng)求。這種方式一般都假設(shè)最壞情況,它可能會(huì)導(dǎo)致較低的網(wǎng)絡(luò)和磁盤(pán)利用率。例如,對(duì)流媒體對(duì)象,如果根據(jù)QoS屬性的峰值帶寬來(lái)確定是否準(zhǔn)入,那么肯定會(huì)有一定比例網(wǎng)絡(luò)帶寬的浪費(fèi)。確定策略一般是QoS的硬件保證。
(3)統(tǒng)計(jì)策略。OSD設(shè)備實(shí)時(shí)檢測(cè)系統(tǒng)的性能,用軟件的方式來(lái)實(shí)現(xiàn)QoS[8]。系統(tǒng)可以結(jié)合確定策略和統(tǒng)計(jì)策略來(lái)提高系統(tǒng)的利用率,用確定策略來(lái)保證一些重要應(yīng)用的QoS,用統(tǒng)計(jì)策略來(lái)實(shí)現(xiàn)其他應(yīng)用的QoS。
4.3.2資源預(yù)留策略
因?yàn)閷?duì)象的QoS性質(zhì)由屬性定義,OBS系統(tǒng)可以提前根據(jù)這些屬性來(lái)分配網(wǎng)絡(luò)資源和磁盤(pán)的I/O資源。資源預(yù)留策略只是為不同的QoS需求分配不同比例的傳輸帶寬。例如,當(dāng)多個(gè)客戶端要同時(shí)對(duì)同一個(gè)對(duì)象文件進(jìn)行讀寫(xiě)操作(即熱點(diǎn)數(shù)據(jù)),系統(tǒng)就需要為這個(gè)熱點(diǎn)數(shù)據(jù)預(yù)留較多的磁盤(pán)I/O帶寬,并且當(dāng)預(yù)留的資源沒(méi)有被充分利用時(shí),系統(tǒng)應(yīng)該可以回收這些多余的資源,進(jìn)行再分配,資源預(yù)留過(guò)程是動(dòng)態(tài)的。對(duì)整個(gè)系統(tǒng)來(lái)說(shuō),負(fù)載比較少時(shí),資源預(yù)留策略能較好地提供QoS,負(fù)載增加,它提升性能的能力急劇下降。提升系統(tǒng)QoS性能的幅度與系統(tǒng)負(fù)載成反比。
5結(jié)束語(yǔ)
隨著技術(shù)的發(fā)展,用戶對(duì)應(yīng)用的QoS要求將會(huì)越來(lái)越高。OBS系統(tǒng)的QoS要求可分為三個(gè)方面,即對(duì)象的QoS操作、數(shù)據(jù)的QoS操作和屬性的QoS操作,三者各有聯(lián)系,也各有區(qū)別。作為下一代互聯(lián)網(wǎng)信息存儲(chǔ)的核心技術(shù),OBS系統(tǒng)在保證應(yīng)用的QoS方面體現(xiàn)出更多的優(yōu)勢(shì)。屬性的靈活定義使用戶應(yīng)用的QoS范圍得到大大的擴(kuò)展,OSD命令的擴(kuò)展確定了對(duì)象靜態(tài)屬性和動(dòng)態(tài)屬性的作用期限,而OSD設(shè)備作為智能設(shè)備也提供了高于一般磁盤(pán)設(shè)備的QoS性能保證。
參考文獻(xiàn):
[1]Object Based Storage Devices Command Set (OSD)[EB/OL].http://www.t10.org/drafts.htm T10 Working draft,20-0401.
[2]趙慧玲, 徐向輝.QoS的下一代網(wǎng)絡(luò)結(jié)構(gòu)框架的研究[EB/OL]. http://www.chinatelecom.com.cn,200302.
[3]M Mesnier, G R Ganger, E Riedel.Objectbased Storage[J]. IEEE Communications Magazine,2003,41(8):8490.
[4]D Ellard, et al.Passive NFS Tracing of an Email and Research Workload[C].San Francisco:Conf.File and Storage Tech.,2003.203205.
[5]Yingping Lu,David H C Du,Tom Tuwart.QoS Provisioning Framework for an OSDbased Storage System[C]. Proceedings of the MSST,2005.
[6]Larry L Peterson, Bruce S Davie. Computer Networks a Systems Approach(2nd edition)[M]. China Machine Press, 2000.1823.
[7]Z Dimitrijvic, R Rangaswami.Quality of Service Support for Realtime Storage Systems[C]. Stefan:Proc. ofIntl. IPSI Conference,2003.
[8]Z Dimitrijvic, R Rangaswami, E Chang. The XTREAM Multimedia System[C].Proceedings of the IEEE Conference on Multimedia and Expo.,2002.545548.
作者簡(jiǎn)介:
馮丹,女,博導(dǎo),主要研究方向?yàn)橛?jì)算機(jī)系統(tǒng)結(jié)構(gòu)、磁盤(pán)陣列技術(shù)、海量存儲(chǔ)、網(wǎng)絡(luò)存儲(chǔ);
張羚,男,碩士研究生,主要研究方向?yàn)榫W(wǎng)絡(luò)存儲(chǔ)系統(tǒng)、磁盤(pán)驅(qū)動(dòng);
覃靈軍,男,博士研究生,主要研究方向?yàn)榫W(wǎng)絡(luò)存儲(chǔ)、虛擬存儲(chǔ)、海量存儲(chǔ)技術(shù)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文