本發(fā)明專(zhuān)利技術(shù)提供了一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)寫(xiě)入方法,該方法首先利用每個(gè)磁盤(pán)中偏移量最小的空閑數(shù)據(jù)單元構(gòu)建新增條帶,并對(duì)新增條帶中的每個(gè)數(shù)據(jù)單元進(jìn)行局部編號(hào),其次把數(shù)據(jù)寫(xiě)入新增條帶。本發(fā)明專(zhuān)利技術(shù)還提供了數(shù)據(jù)讀取方法,首先確定數(shù)據(jù)所在數(shù)據(jù)單元的全局編號(hào);其次由該全局編號(hào)確定該數(shù)據(jù)單元的局部編號(hào)S-U;最后通過(guò)該局部編號(hào)S-U,找到該數(shù)據(jù)單元讀取數(shù)據(jù)。本發(fā)明專(zhuān)利技術(shù)采用固化條帶的方法,使得在磁盤(pán)增加時(shí),條帶的大小不變,擴(kuò)容后,每次對(duì)RAID的訪問(wèn)不需要訪問(wèn)所有的磁盤(pán),只要針對(duì)原始RAID的數(shù)據(jù)單元進(jìn)行訪問(wèn),不受新增磁盤(pán)的影響,使得磁盤(pán)IO操作數(shù)大幅減少,適用于多種RAID級(jí)別,具有良好的適應(yīng)性。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專(zhuān)利技術(shù)屬于數(shù)據(jù)存儲(chǔ)
,特別是涉及一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)讀寫(xiě)方法。
技術(shù)介紹
存儲(chǔ)系統(tǒng)革命性變化表現(xiàn)為其容量的急劇膨脹,根據(jù)權(quán)威機(jī)構(gòu)統(tǒng)計(jì)數(shù)據(jù)表明 2006年全球每年制造、復(fù)制出的數(shù)字信息量攻擊1.61*1012GB,而人類(lèi)開(kāi)始記錄歷史以來(lái), 到2006年為止,全部的書(shū)本文字加起來(lái)大約50PB,顯然2006年信息產(chǎn)生量大約是2006年為止圖書(shū)信息總量的300萬(wàn)倍。隨著信息量的急劇增加,現(xiàn)今主要用以存儲(chǔ)信息的設(shè)備——磁盤(pán)的容量也相應(yīng)不滿足需求。RAID的專(zhuān)利技術(shù)使得用戶可以以比較低的成本保存大量的數(shù)據(jù),但是RAID —旦配置好,存儲(chǔ)容量也就確定了,當(dāng)數(shù)據(jù)量達(dá)到或者接近RAID的存儲(chǔ)容量時(shí),RAID擴(kuò)容也就成為了比較現(xiàn)實(shí)的問(wèn)題。如果原始磁盤(pán)空間不夠,那么用戶希望加一個(gè)磁盤(pán)上去,這個(gè)就是擴(kuò)容。但是整個(gè)數(shù)據(jù)從原始陣列分布到新的陣列,必定會(huì)導(dǎo)致大量的數(shù)據(jù)遷移行為,這種行為往往是需要大量時(shí)間的。比如單盤(pán)512GB,10個(gè)硬盤(pán)組成的5TB的磁盤(pán),假如數(shù)據(jù)已經(jīng)存放了 90%,也就是4. 5TB,現(xiàn)在增加了兩個(gè)512GB的硬盤(pán)后,理論上最少需要移動(dòng)約768GB的數(shù)據(jù),利用 Ultra 320標(biāo)準(zhǔn)的SCSI傳輸速率320MB/s,兩個(gè)盤(pán)并行存放數(shù)據(jù),那么需要40分鐘,這個(gè)時(shí)間只是算數(shù)據(jù)傳輸時(shí)間,并沒(méi)有加上本磁盤(pán)上數(shù)據(jù)移動(dòng)時(shí)間,本磁盤(pán)上移動(dòng)的數(shù)據(jù)基本上達(dá)到了 4. 5TB,考慮由于機(jī)械磁頭尋道等因素,遷移這么大的數(shù)據(jù)需要幾天時(shí)間。以往的擴(kuò)容方法都是采用離線或者在線擴(kuò)容方式,離線擴(kuò)容方式使得RAID在擴(kuò)容期間不能響應(yīng)外部的存儲(chǔ)請(qǐng)求,這種方式一般在要求不是很?chē)?yán)格的解決方案中使用;而在線擴(kuò)容方式一邊響應(yīng)外部的存儲(chǔ)請(qǐng)求,一邊進(jìn)行擴(kuò)容,這種擴(kuò)容方式是普遍采用的一種擴(kuò)容方式。目前在線擴(kuò)容方式基本上移動(dòng)了原有RAID中所有的數(shù)據(jù),這種方式一般需要幾個(gè)小時(shí)甚至幾天的時(shí)間來(lái)把老磁盤(pán)上的數(shù)據(jù)遷移到新磁盤(pán)上。要使得擴(kuò)容后磁盤(pán)訪問(wèn)量大致上均衡,那么對(duì)原有m個(gè)磁盤(pán),擴(kuò)容η個(gè)磁盤(pán),使得總磁盤(pán)數(shù)增加到m+n的方法理論上遷移數(shù)據(jù)量最小值為數(shù)據(jù)總量的n/(m+n)(參見(jiàn)RogerZimmermann,Beomjoo Seo,“Efficient Disk Replacement and Data MigrationAlgorithms for Large Disk Subsystems,,,the Proceedings of the 2004International Conference on Parallel and Distributed Processing Techniques andApplications(PDPTA2004), June 21-24,2004, Las Vegas, Nevada)。現(xiàn)有的RAID中的條帶都是一致的,在進(jìn)行擴(kuò)容后,條帶的大小也隨著磁盤(pán)的增加而相應(yīng)增加,對(duì)數(shù)據(jù)進(jìn)行讀寫(xiě)時(shí),需要訪問(wèn)擴(kuò)容后的所有磁盤(pán)。
技術(shù)實(shí)現(xiàn)思路
本專(zhuān)利技術(shù)的目的在于提供一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)讀寫(xiě)方法,該數(shù)據(jù)讀寫(xiě)方法對(duì)RAID系統(tǒng)的訪問(wèn)不需要訪問(wèn)擴(kuò)容后的所有磁盤(pán),只要針對(duì)原始RAID系統(tǒng)的數(shù)據(jù)單元進(jìn)行訪問(wèn),不受新增磁盤(pán)的影響。本專(zhuān)利技術(shù)提 供了一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)寫(xiě)入方法,包括以下步驟(1)利用每個(gè)磁盤(pán)中偏移量最小的空閑數(shù)據(jù)單元構(gòu)建新增條帶,并對(duì)新增條帶中的每個(gè)數(shù)據(jù)單元進(jìn)行局部編號(hào);(2)把數(shù)據(jù)寫(xiě)入新增條帶。進(jìn)一步的,新增條帶中每個(gè)數(shù)據(jù)單元的局部編號(hào)為該數(shù)據(jù)單元所在的條帶編號(hào)與該數(shù)據(jù)單元所在的磁盤(pán)號(hào)的組合,其中該數(shù)據(jù)單元所在的條帶編號(hào)為當(dāng)前RAID系統(tǒng)所有的條帶個(gè)數(shù)減1。本專(zhuān)利技術(shù)還提供了一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)讀取方法,包括以下步驟(1)確定待讀取數(shù)據(jù)所在數(shù)據(jù)單元的全局編號(hào);(2)由該全局編號(hào)確定該數(shù)據(jù)單元的局部編號(hào)S-U ;(3)通過(guò)該局部編號(hào)S-U,找到該數(shù)據(jù)單元讀取數(shù)據(jù)。進(jìn)一步的,采用如下步驟由數(shù)據(jù)單元的全局編號(hào)確定該數(shù)據(jù)單元的局部編號(hào)(a)判斷數(shù)據(jù)單元的全局編號(hào)是否小于所有固化條帶的數(shù)據(jù)單元總數(shù),如果是,進(jìn)入步驟(b);如果否,轉(zhuǎn)入步驟(c);其中固化條帶是指RAID系統(tǒng)擴(kuò)容前的條帶;(b)用全局編號(hào)除以固化條帶長(zhǎng)度,商為S,余數(shù)為U,轉(zhuǎn)入步驟(d);其中固化條帶長(zhǎng)度是指一個(gè)固化條帶中包含的數(shù)據(jù)單元個(gè)數(shù);(c)用(全局編號(hào)-所有固化條帶的數(shù)據(jù)單元總數(shù))除以新增條帶長(zhǎng)度,所得的結(jié)果中商為S,余數(shù)為U,進(jìn)入步驟(d);其中新增條帶長(zhǎng)度是指一個(gè)新增條帶中包含的數(shù)據(jù)單元個(gè)數(shù);(d)得到數(shù)據(jù)單元的局部編號(hào)S-U0本專(zhuān)利技術(shù)所述的數(shù)據(jù)讀寫(xiě)方法相對(duì)于傳統(tǒng)的數(shù)據(jù)讀寫(xiě)方法來(lái)說(shuō)具有以下優(yōu)勢(shì)1、本專(zhuān)利技術(shù)采用固化條帶的方法,使得在磁盤(pán)增加時(shí),條帶的大小不變,擴(kuò)容后,每次對(duì)RAID的訪問(wèn)不需要訪問(wèn)所有的磁盤(pán),只要針對(duì)原始RAID的數(shù)據(jù)單元進(jìn)行訪問(wèn),不受新增磁盤(pán)的影響,使得磁盤(pán)IO操作數(shù)大幅減少。2、本專(zhuān)利技術(shù)所述的數(shù)據(jù)讀寫(xiě)方法適用于多種RAID級(jí)別,可以應(yīng)用于大多數(shù)場(chǎng)合,具有良好的適應(yīng)性。附圖說(shuō)明圖1條帶和數(shù)據(jù)單元的概念;圖2固化條帶擴(kuò)容方法中數(shù)據(jù)遷移的過(guò)程;圖3建立遷移之前條帶記錄表;圖4建立新數(shù)據(jù)寫(xiě)入后的條帶記錄表;圖5新條帶寫(xiě)入過(guò)程;圖6數(shù)據(jù)讀取示意圖。具體實(shí)施例方式本專(zhuān)利技術(shù)首先提出一種基于固化條帶的RAID擴(kuò)容方法,其核心就是通過(guò)不修改舊數(shù)據(jù)的條帶分條,特別對(duì)于有校驗(yàn)塊的RAID來(lái)說(shuō),可以實(shí)現(xiàn)不修改校驗(yàn)塊進(jìn)行擴(kuò)容。RAID中存儲(chǔ)數(shù)據(jù)的基本結(jié)構(gòu)是條帶(stripe),條帶化存儲(chǔ)能夠拆分?jǐn)?shù)據(jù)成大小相等的數(shù)據(jù)單元(stripe unit),并將不同的數(shù)據(jù)單元同時(shí)寫(xiě)入不同的磁盤(pán),而且一個(gè)條帶在每個(gè)磁盤(pán)中只能有一個(gè)數(shù)據(jù)單元。為了便于對(duì)本專(zhuān)利技術(shù)所述的擴(kuò)容方法進(jìn)行說(shuō)明,下面對(duì)條帶和數(shù)據(jù)單元進(jìn)行編號(hào), 圖1所示為由4個(gè)磁盤(pán)組成的RAID,最上面的一個(gè)條帶,設(shè)置其條帶編號(hào)為0(在計(jì)算機(jī)專(zhuān)業(yè)中,對(duì)存儲(chǔ)介質(zhì)的編址都是從0開(kāi)始的),對(duì)于其下面的條帶依次設(shè)置編號(hào)為1、2、3等,同樣設(shè)置磁盤(pán)編號(hào)依次為0、1、2、3等。數(shù)據(jù)單元的局部編號(hào)即其在條帶內(nèi)的編號(hào),設(shè)置其為條帶編號(hào)加上磁盤(pán)編號(hào),即0-1、1-0、2-0等。圖1中0-0、0-1、0-2、0-3這四個(gè)數(shù)據(jù)單元分別放在編號(hào)為0、1、2和3的四個(gè)硬盤(pán)上,這四個(gè)數(shù)據(jù)單元構(gòu)成條帶0。每個(gè)數(shù)據(jù)單元又有一全局編號(hào),該編號(hào)由要訪問(wèn)的LBA地址除以數(shù)據(jù)單元的大小得到。本文中在不引起誤解的情況下,將數(shù)據(jù)單元的局部編號(hào)簡(jiǎn)稱(chēng)為數(shù)據(jù)單元編號(hào)。校驗(yàn)數(shù)據(jù)單元是指在一個(gè)條帶中,某個(gè)數(shù)據(jù)單元的值是由本條帶中其余數(shù)據(jù)單元的值通過(guò)異或運(yùn)算得到的,設(shè)置校驗(yàn)數(shù)據(jù)單元的目的是為了在一個(gè)磁盤(pán)損壞后,能夠通過(guò)校驗(yàn)數(shù)據(jù)單元與其它數(shù)據(jù)單元恢復(fù)損壞的數(shù)據(jù)。現(xiàn)有RAID中的每個(gè)條帶中數(shù)據(jù)單元的個(gè)數(shù)是磁盤(pán)個(gè)數(shù),磁盤(pán)增加,則條帶中數(shù)據(jù)單元個(gè)數(shù)就增加。固化條帶的方法是相對(duì)于現(xiàn)有RAID而言,該方法中每個(gè)條帶的數(shù)據(jù)單元個(gè)數(shù)是確定的,不隨著磁盤(pán)的個(gè)數(shù)變化而變化。下面介紹基于固化條帶的RAID擴(kuò)容方法,如圖2所示,開(kāi)始的磁盤(pán)陣列中有4個(gè)磁盤(pán),分別編號(hào)為0到3,新增加了一個(gè)磁盤(pán),編號(hào)為磁盤(pán)4。為了負(fù)載均衡,必須要把數(shù)據(jù)寫(xiě)入新的磁盤(pán),使得每個(gè)磁盤(pán)的數(shù)據(jù)量近似相同,這樣每個(gè)磁盤(pán)的訪問(wèn)量才能近似相同。在本專(zhuān)利技術(shù)中,數(shù)據(jù)遷移時(shí)可以不考慮數(shù)據(jù)本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)寫(xiě)入方法,包括以下步驟:(1)利用每個(gè)磁盤(pán)中偏移量最小的空閑數(shù)據(jù)單元構(gòu)建新增條帶,并對(duì)新增條帶中的每個(gè)數(shù)據(jù)單元進(jìn)行局部編號(hào);(2)把數(shù)據(jù)寫(xiě)入新增條帶。
【技術(shù)特征摘要】
1.一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)寫(xiě)入方法,包括以下步驟(1)利用每個(gè)磁盤(pán)中偏移量最小的空閑數(shù)據(jù)單元構(gòu)建新增條帶,并對(duì)新增條帶中的每個(gè)數(shù)據(jù)單元進(jìn)行局部編號(hào);(2)把數(shù)據(jù)寫(xiě)入新增條帶。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫(xiě)入方法,其特征在于,新增條帶中每個(gè)數(shù)據(jù)單元的局部編號(hào)為該數(shù)據(jù)單元所在的條帶編號(hào)與該數(shù)據(jù)單元所在的磁盤(pán)號(hào)的組合,其中該數(shù)據(jù)單元所在的條帶編號(hào)為當(dāng)前RAID系統(tǒng)所有的條帶個(gè)數(shù)減1。3.一種基于固化條帶的RAID系統(tǒng)擴(kuò)容后的數(shù)據(jù)讀取方法,包括以下步驟(1)確定待讀取數(shù)據(jù)所在數(shù)據(jù)單元的全局編號(hào);(2)由該全局編號(hào)確定該數(shù)據(jù)單元的局部編號(hào)S-U;(3)通過(guò)該局部編號(hào)S-U,找到該數(shù)據(jù)單元讀取數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)讀取方法,其...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:萬(wàn)繼光,譚志虎,謝長(zhǎng)生,殷超,王繼斌,毛宇,李俊堯,吳東,李頂,
申請(qǐng)(專(zhuān)利權(quán))人:華中科技大學(xué),
類(lèi)型:發(fā)明
國(guó)別省市:83
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。