本發(fā)明涉及一種混合節(jié)能存儲(chǔ)框架,尤其是涉及一種基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)系統(tǒng)及方法。
背景技術(shù):
名詞解釋:
PLFS文件系統(tǒng):一款開源的并行檢查點(diǎn)存儲(chǔ)文件系統(tǒng)系統(tǒng),本設(shè)計(jì)內(nèi)使用的是根據(jù)其源碼自力開發(fā)的文件系統(tǒng)。
PVFS文件系統(tǒng):一款提供RIAD-0系統(tǒng)結(jié)構(gòu)的并行文件存儲(chǔ)系統(tǒng)。
隨著科技的不斷發(fā)展和技術(shù)的不斷進(jìn)步,硬件性能的不斷提升,并行存儲(chǔ)系統(tǒng)的性能也日新月異,尤其是并行存儲(chǔ)系統(tǒng)的存取效率更是出類拔萃。但是并行存儲(chǔ)系統(tǒng)性能的不斷升級(jí),并行的系統(tǒng)的規(guī)模的不斷擴(kuò)大,一些之前沒有被關(guān)注的問題也漸漸浮現(xiàn)出來。其中,以并行存儲(chǔ)系統(tǒng)的節(jié)能與可靠性的沖突問題尤為突出。
磁盤所消費(fèi)的能源仍然占有現(xiàn)代系統(tǒng)中一個(gè)突出的能源使用部分。在Web服務(wù)器中,磁盤通常占有24%的能源使用;而在proxy服務(wù)器則占有高達(dá)77%的比重。在一個(gè)典型的數(shù)據(jù)中心,存儲(chǔ)設(shè)備能夠占據(jù)高達(dá)27%的電能消耗。也有研究證明,有效的節(jié)能策略能夠可觀的降低磁盤能源消耗。但是,節(jié)能技術(shù)對(duì)系統(tǒng)的可靠性或多或少都有一定的影響,系統(tǒng)的可靠性的降低意味著系統(tǒng)更易于產(chǎn)生問題。因此,為了保證系統(tǒng)的可靠性需要在節(jié)能與可靠性之間達(dá)成最優(yōu)的平衡,在實(shí)現(xiàn)節(jié)能的同時(shí)將對(duì)系統(tǒng)的可靠性造成的影響降到最低成了許多研究者致力的目標(biāo)。
同時(shí),由于固態(tài)硬盤生產(chǎn)成本的逐漸降低,具有高隨機(jī)讀寫性能及低能耗的固態(tài)硬盤在存儲(chǔ)領(lǐng)域的競(jìng)爭(zhēng)力隨之增強(qiáng),因此固態(tài)硬盤漸漸開始普及于日常生活中。然而,由于固態(tài)硬盤仍然較高的價(jià)格極其受可擦寫次數(shù)限制的壽命原因,完全使用固態(tài)硬盤搭建的大型服務(wù)器和數(shù)據(jù)中心將耗費(fèi)龐大的資金。因此,與其單純地將機(jī)械硬盤替換為固態(tài)硬盤搭建服務(wù)器或數(shù)據(jù)中心,研究者們正致力于尋找將兩者互補(bǔ)平衡其性能,可靠性以及存儲(chǔ)成本的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題,就是提供一種基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)系統(tǒng)及方法,用于高性能文件系統(tǒng)基于可靠性的I/O讀寫性能優(yōu)化及在此基礎(chǔ)上實(shí)現(xiàn)節(jié)能,適用于服務(wù)器及數(shù)據(jù)中心的節(jié)能工作,在數(shù)據(jù)重復(fù)訪問率較高的情況下有較好的效果。
解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
一種基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)系統(tǒng),其特征是:包括中間層文件系統(tǒng)和數(shù)據(jù)存儲(chǔ)單元,所述數(shù)據(jù)存儲(chǔ)單元包括熱數(shù)據(jù)高速存儲(chǔ)模塊以及冷數(shù)據(jù)存儲(chǔ)模塊;
所述的中間層文件系統(tǒng)包括定向模塊,所述定向模塊包括分類判斷單元;所述分類判斷單元用于對(duì)數(shù)據(jù)的訪問率進(jìn)行分類判斷并將數(shù)據(jù)分類為訪問率較高的熱數(shù)據(jù)和訪問率較低的冷數(shù)據(jù);
熱數(shù)據(jù)高速存儲(chǔ)模塊用于存儲(chǔ)熱數(shù)據(jù),冷數(shù)據(jù)存儲(chǔ)模塊用于儲(chǔ)存冷數(shù)據(jù)。
進(jìn)一步的改進(jìn),所述定向模塊包括動(dòng)態(tài)分類單元,所述動(dòng)態(tài)分類單元用于根據(jù)數(shù)據(jù)的訪問率重新劃分熱數(shù)據(jù)和冷數(shù)據(jù)。
進(jìn)一步的改進(jìn),所述中間層文件系統(tǒng)包括節(jié)能控制單元;所述節(jié)能控制單元用于計(jì)算冷數(shù)據(jù)帶寬使用率RC,并根據(jù)冷數(shù)據(jù)帶寬使用率RC決定冷數(shù)據(jù)存儲(chǔ)模塊處于休眠模式或活動(dòng)模式。
進(jìn)一步的改進(jìn),所述熱數(shù)據(jù)高速存儲(chǔ)模塊包括第一PVFS文件系統(tǒng)以及并行的數(shù)塊固態(tài)硬盤;第一PVFS文件系統(tǒng)用于接收中間層文件系統(tǒng)的熱數(shù)據(jù)的讀/寫請(qǐng)求;固態(tài)硬盤負(fù)責(zé)將寫入第一PVFS文件系統(tǒng)的數(shù)據(jù)條塊化地保存,以及并行地滿足讀取數(shù)據(jù)的請(qǐng)求;
所述冷數(shù)據(jù)存儲(chǔ)模塊包括第二PVFS文件系統(tǒng)以及并行的數(shù)塊機(jī)械硬盤;第二PVFS文件系統(tǒng)用于接收中間層文件系統(tǒng)的冷數(shù)據(jù)的讀/寫請(qǐng)求;機(jī)械硬盤負(fù)責(zé)將寫入第二PVFS文件系統(tǒng)的數(shù)據(jù)條塊化地保存,以及并行地滿足讀取數(shù)據(jù)的請(qǐng)求。
進(jìn)一步的改進(jìn),所述熱數(shù)據(jù)高速存儲(chǔ)模塊為熱數(shù)據(jù)服務(wù)器,所述冷數(shù)據(jù)存儲(chǔ)模塊為冷數(shù)據(jù)服務(wù)器。
進(jìn)一步的改進(jìn),所述中間層文件系統(tǒng)包括PLFS文件系統(tǒng),中間層文件系統(tǒng)分別與熱數(shù)據(jù)高速存儲(chǔ)模塊以及冷數(shù)據(jù)存儲(chǔ)模塊相連接,連接方式為將中間層文件系統(tǒng)中的PLFS文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)后端設(shè)置為PVFS文件系統(tǒng)。
進(jìn)一步的改進(jìn),所述中間層文件系統(tǒng)還包括權(quán)限模塊:負(fù)責(zé)保存及維護(hù)各個(gè)用戶對(duì)文件的權(quán)限信息,用戶訪問的時(shí)候判斷用戶是否有權(quán)限;
讀寫模塊:負(fù)責(zé)處理用戶的文件讀寫請(qǐng)求;
存儲(chǔ)模塊:根據(jù)讀寫模塊處理的讀寫請(qǐng)求存儲(chǔ)文件數(shù)據(jù);
索引模塊:負(fù)責(zé)維護(hù)用戶存入文件數(shù)據(jù)的索引,方便處理讀取操作時(shí)快速定位請(qǐng)求的文件。
一種基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)方法,包括如下步驟:
步驟一、分類判斷單元用于對(duì)數(shù)據(jù)的訪問率進(jìn)行分類判斷并將數(shù)據(jù)分類為訪問率較高的熱數(shù)據(jù)和訪問率較低的冷數(shù)據(jù),具體步驟如下:
1)分析日志文件,對(duì)每個(gè)文件,記錄一段時(shí)間T內(nèi)被訪問的次數(shù)n;
2)將每個(gè)文件一段時(shí)間T1內(nèi)被訪問的次數(shù)由高到低排序;
3)計(jì)算出一段時(shí)間T1內(nèi)每個(gè)文件的訪問頻率R,R=該文件被訪問計(jì)數(shù)n/所有文件被訪問總計(jì)數(shù)N;
4)將訪問頻率R大于10%的文件分類為熱數(shù)據(jù),存入固態(tài)硬盤服務(wù)器,將訪問頻率R小于或等于10%的文件分類為冷數(shù)據(jù),存入機(jī)械硬盤服務(wù)器;
步驟二、動(dòng)態(tài)分類單元根據(jù)數(shù)據(jù)的訪問率重新劃分熱數(shù)據(jù)和冷數(shù)據(jù),具體步驟如下:
設(shè)定訪問率閥值O,對(duì)于冷數(shù)據(jù),若一段時(shí)間T2內(nèi)訪問次數(shù)計(jì)數(shù)高于閥值O,則將數(shù)據(jù)從冷數(shù)據(jù)移入熱數(shù)據(jù)存儲(chǔ)服務(wù)器;對(duì)于熱數(shù)據(jù),若一段時(shí)間T2內(nèi)訪問計(jì)數(shù)低于閥值O,則將熱數(shù)據(jù)移入冷數(shù)據(jù)存儲(chǔ)服務(wù)器;
步驟三、節(jié)能控制單元計(jì)算冷數(shù)據(jù)帶寬使用率RC,并根據(jù)冷數(shù)據(jù)帶寬使用率RC決定冷數(shù)據(jù)存儲(chǔ)模塊處于休眠模式或活動(dòng)模式,具體步驟如下:
Ⅰ.計(jì)算冷數(shù)據(jù)服務(wù)器的服務(wù)帶寬BC,BC=冷數(shù)據(jù)服務(wù)器硬盤數(shù)a*單塊硬盤帶寬b;
Ⅱ.冷數(shù)據(jù)服務(wù)器開啟時(shí),持續(xù)計(jì)算冷數(shù)據(jù)帶寬使用率RC,RC=當(dāng)前訪問流量w/冷數(shù)據(jù)服務(wù)器帶寬BC,并對(duì)其進(jìn)行持續(xù)判斷;
Ⅲ.若經(jīng)過一段時(shí)間T3,冷數(shù)據(jù)服務(wù)器的帶寬使用率RC始終小于等于5%,則將冷數(shù)據(jù)服務(wù)器轉(zhuǎn)入休眠模式,并記錄期間對(duì)冷數(shù)據(jù)服務(wù)器的訪問請(qǐng)求,當(dāng)記錄的訪問請(qǐng)求數(shù)達(dá)到次數(shù)C,則將冷數(shù)據(jù)服務(wù)器轉(zhuǎn)入活動(dòng)模式響應(yīng)累積的請(qǐng)求。
進(jìn)一步的改進(jìn),T1為86400*i秒,i為正整數(shù),表示天數(shù),一般i≤30(O為5%~10%;T2為3600~10800秒;T3為1200~2400秒;C為10~30。
進(jìn)一步的改進(jìn),包括如下步驟:
一、用戶訪問的時(shí)候判斷用戶是否有權(quán)限,有權(quán)限則允許進(jìn)行訪問操作;
二、接收用戶的文件讀寫請(qǐng)求;
三、根據(jù)讀寫請(qǐng)求存儲(chǔ)文件數(shù)據(jù)并存儲(chǔ)文件數(shù)據(jù)的索引;
四、將文件數(shù)據(jù)劃分為熱數(shù)據(jù)和冷數(shù)據(jù),并分別儲(chǔ)存。
本發(fā)明中的熱數(shù)據(jù)高速存儲(chǔ)模塊中的PVFS文件系統(tǒng)下留有增加固態(tài)硬盤的擴(kuò)展空間,可以根據(jù)實(shí)際需要,通過調(diào)整PVFS文件系統(tǒng)的設(shè)置可以實(shí)現(xiàn)PVFS文件系統(tǒng)下固態(tài)硬盤的增加或減少。
本發(fā)明中的冷數(shù)據(jù)存儲(chǔ)模塊中的PVFS文件系統(tǒng)下留有增加機(jī)械硬盤的擴(kuò)展空間,可以根據(jù)實(shí)際需要,通過調(diào)整PVFS文件系統(tǒng)的設(shè)置可以實(shí)現(xiàn)PVFS文件系統(tǒng)下機(jī)械硬盤的增加或減少。
本發(fā)明中的中間層文件系統(tǒng)模塊具備節(jié)能功能,它統(tǒng)計(jì)一段時(shí)間內(nèi)中間層文件系統(tǒng)對(duì)冷數(shù)據(jù)存儲(chǔ)模塊的讀寫操作請(qǐng)求數(shù),當(dāng)一定時(shí)間內(nèi)對(duì)冷數(shù)據(jù)存儲(chǔ)模塊沒有訪問時(shí),控制冷數(shù)據(jù)存儲(chǔ)模塊關(guān)閉從而節(jié)約能耗。
本發(fā)明優(yōu)點(diǎn):
一、對(duì)冷數(shù)據(jù)存儲(chǔ)模塊的訪問數(shù)較低的時(shí)間段,能夠?qū)崿F(xiàn)關(guān)閉冷數(shù)據(jù)存儲(chǔ)模塊實(shí)現(xiàn)節(jié)能。
二、在實(shí)現(xiàn)節(jié)能的同時(shí),通過熱數(shù)據(jù)高速存儲(chǔ)模塊中及冷數(shù)據(jù)存儲(chǔ)模塊中的兩個(gè)PVFS文件系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)的并行存儲(chǔ),保證了系統(tǒng)的可靠性。
三、實(shí)現(xiàn)了固態(tài)硬盤與機(jī)械硬盤的混合存儲(chǔ)架構(gòu),通過根據(jù)兩種硬盤的不同特性對(duì)數(shù)據(jù)進(jìn)行優(yōu)化分布,提升了整體文件系統(tǒng)的讀寫性能。
四、熱數(shù)據(jù)高速存儲(chǔ)模塊中及冷數(shù)據(jù)存儲(chǔ)模塊下的存儲(chǔ)硬盤有較高的可擴(kuò)展性,能夠根據(jù)實(shí)際需要配置存儲(chǔ)模塊下的硬盤數(shù)量。
五、將熱數(shù)據(jù)寫入熱數(shù)據(jù)存儲(chǔ)模塊下PVFS文件系統(tǒng)下的固態(tài)硬盤中,能夠減少對(duì)固態(tài)硬盤的擦寫次數(shù),增加文件系統(tǒng)的壽命及可靠性。
六、本框架使用了中間層文件系統(tǒng),因此對(duì)用戶透明并提供了很好的可移植性及易修改性,能夠避免對(duì)文件系統(tǒng)的修改對(duì)操作系統(tǒng)造成不良影響。
附圖說明
圖1是本發(fā)明的組成結(jié)構(gòu)圖;
圖2是中間層文件系統(tǒng)模塊的組成結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說明。
如圖1所示,本發(fā)明的基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)系統(tǒng)實(shí)施例,包括中間層文件系統(tǒng)模塊、熱數(shù)據(jù)高速存儲(chǔ)模塊及冷數(shù)據(jù)存儲(chǔ)模塊。
如圖2所示,中間層文件系統(tǒng)模塊按照數(shù)據(jù)走向包括權(quán)限模塊、讀寫模塊、存儲(chǔ)模塊和定向模塊;存儲(chǔ)模塊連接有索引模塊。
所述的中間層文件系統(tǒng)模塊主要由PLFS文件系統(tǒng)組成,同時(shí)定向模塊包含了對(duì)數(shù)據(jù)的訪問率進(jìn)行分類判斷的算法及節(jié)能算法,將數(shù)據(jù)分類為訪問率較高的熱數(shù)據(jù)和訪問率較低的冷數(shù)據(jù)。當(dāng)一個(gè)讀/寫請(qǐng)求到達(dá)中間層文件系統(tǒng)模塊時(shí),模塊將請(qǐng)求分類為對(duì)熱數(shù)據(jù)的請(qǐng)求和對(duì)冷數(shù)據(jù)的請(qǐng)求,分別傳給熱數(shù)據(jù)高速存儲(chǔ)模塊及冷數(shù)據(jù)存儲(chǔ)模塊;
所述的熱數(shù)據(jù)高速存儲(chǔ)模塊主要由一個(gè)PVFS文件系統(tǒng)以及其下并行的數(shù)塊固態(tài)硬盤組成。模塊中的PVFS文件系統(tǒng)負(fù)責(zé)接收來自中間層文件系統(tǒng)模塊的讀/寫請(qǐng)求,而模塊中的固態(tài)硬盤負(fù)責(zé)將寫入PVFS文件系統(tǒng)的數(shù)據(jù)條塊化地保存,以及并行地滿足讀取數(shù)據(jù)的請(qǐng)求,保證系統(tǒng)的可靠性;
所述的冷數(shù)據(jù)存儲(chǔ)模塊主要由另一個(gè)PVFS文件系統(tǒng)以及其下并行的數(shù)塊機(jī)械硬盤組成。同熱數(shù)據(jù)高速存儲(chǔ)模塊相似,模塊中的PVFS文件系統(tǒng)負(fù)責(zé)接收來自中間層文件系統(tǒng)的讀/寫請(qǐng)求,而模塊中的機(jī)械硬盤負(fù)責(zé)將寫入PVFS文件系統(tǒng)條塊化地保存以及并行的滿足讀取數(shù)據(jù)的請(qǐng)求,保證系統(tǒng)的可靠性。
所述的中間層文件系統(tǒng)模塊分別與熱數(shù)據(jù)高速存儲(chǔ)模塊以及冷數(shù)據(jù)存儲(chǔ)模塊相連接,連接方式為將中間層文件系統(tǒng)模塊中的PLFS文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)后端設(shè)置為熱數(shù)據(jù)高速存儲(chǔ)模塊中的PVFS文件系統(tǒng)以及冷數(shù)據(jù)存儲(chǔ)模塊中的PVFS文件系統(tǒng)。
同時(shí),所述的中間層文件系統(tǒng)中的節(jié)能算法模塊將記錄對(duì)冷數(shù)據(jù)存儲(chǔ)模塊發(fā)送的讀寫請(qǐng)求,當(dāng)一段時(shí)間內(nèi)對(duì)冷數(shù)據(jù)存儲(chǔ)模塊的讀寫請(qǐng)求為零時(shí),將對(duì)冷數(shù)據(jù)存儲(chǔ)模塊實(shí)行節(jié)能策略。因此,在讀寫請(qǐng)求負(fù)載較低的時(shí)間段,本發(fā)明能夠?qū)崿F(xiàn)節(jié)能。
具體的:
分類算法如下:
a.靜態(tài)分類:
分析日志文件,對(duì)每個(gè)文件,記錄一段時(shí)間T1內(nèi)被訪問的次數(shù)n;
將每個(gè)文件一段時(shí)間T1內(nèi)被訪問的次數(shù)由高到低排序;
計(jì)算出一段時(shí)間T1內(nèi)每個(gè)文件的訪問頻率R,R=該文件被訪問計(jì)數(shù)n/所有文件被訪問總計(jì)數(shù)N;
訪問率大于10%的數(shù)據(jù)分類為熱數(shù)據(jù),存入固態(tài)硬盤服務(wù)器,其余的存入機(jī)械硬盤服務(wù)器
T1優(yōu)選設(shè)置為:86400秒
b.動(dòng)態(tài)分類:
設(shè)定閥值O,對(duì)于冷數(shù)據(jù),若一段時(shí)間T2內(nèi)訪問次數(shù)計(jì)數(shù)高于閥值O,則將數(shù)據(jù)從冷數(shù)據(jù)移入熱數(shù)據(jù)存儲(chǔ)服務(wù)器;相對(duì)的,對(duì)于熱數(shù)據(jù),若一段時(shí)間內(nèi)訪問計(jì)數(shù)低于閥值O,則將熱數(shù)據(jù)移入冷數(shù)據(jù)存儲(chǔ)服務(wù)器。
O優(yōu)選設(shè)置為5%,T2優(yōu)選設(shè)置為:7200秒
節(jié)能算法:
a.計(jì)算冷數(shù)據(jù)服務(wù)器的服務(wù)帶寬BC,BC=服務(wù)器硬盤數(shù)a*單塊硬盤帶寬b
b.冷數(shù)據(jù)服務(wù)器開啟時(shí),持續(xù)計(jì)算冷數(shù)據(jù)帶寬使用率RC,RC=當(dāng)前訪問流量w/冷數(shù)據(jù)服務(wù)器帶寬BC,并對(duì)其進(jìn)行持續(xù)判斷
c.若經(jīng)過一段時(shí)間T3,冷數(shù)據(jù)服務(wù)器的帶寬使用率RC始終小于等于5%,則將冷數(shù)據(jù)服務(wù)器轉(zhuǎn)入休眠模式,并記錄期間對(duì)冷數(shù)據(jù)服務(wù)器的訪問請(qǐng)求,當(dāng)記錄的訪問請(qǐng)求數(shù)達(dá)到次數(shù)C,則將冷數(shù)據(jù)服務(wù)器轉(zhuǎn)入活動(dòng)模式響應(yīng)累積的請(qǐng)求
其中T3優(yōu)選設(shè)置為:1800秒,C優(yōu)選設(shè)置為20。
由于對(duì)系統(tǒng)進(jìn)行節(jié)能模式編輯需要對(duì)系統(tǒng)內(nèi)核進(jìn)行代碼修改并重新編譯,是一個(gè)精細(xì)的工作并需要操作系相關(guān)的專統(tǒng)知識(shí),同時(shí)也伴隨著很高的風(fēng)險(xiǎn),一個(gè)細(xì)小的錯(cuò)誤可能導(dǎo)致整個(gè)操作系統(tǒng)的可靠性降低,因此在底層文件系統(tǒng)之上引入一個(gè)中間層文件系統(tǒng)作為代替進(jìn)行修改。
中間層文件系統(tǒng)的優(yōu)勢(shì)主要體現(xiàn)在,第一,代碼量相對(duì)于底層文件系統(tǒng)幾何級(jí)別的小,便于編輯和修改,不需要對(duì)底層文件系統(tǒng)進(jìn)行額外的修改,消去了修改底層文件系統(tǒng)的潛在風(fēng)險(xiǎn);第二,中間層文件系統(tǒng)對(duì)用戶和底層文件系統(tǒng)都有良好的透明性;第三,便于在不同系統(tǒng)環(huán)境下進(jìn)行實(shí)裝。
雖然,上文中已經(jīng)用一般性說明及具體實(shí)施例對(duì)本發(fā)明作了詳盡的描述,但在本發(fā)明基礎(chǔ)上,可以對(duì)之作一些修改或改進(jìn),這對(duì)本領(lǐng)域技術(shù)人員而言是顯而易見的。因此,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進(jìn),均屬于本發(fā)明要求保護(hù)的范圍。