亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種可動(dòng)態(tài)異步調(diào)整raid級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng)的制作方法

文檔序號(hào):6630945閱讀:142來(lái)源:國(guó)知局
一種可動(dòng)態(tài)異步調(diào)整raid級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),首先通過(guò)在線模式生成初始虛擬磁盤(pán),再在IO空閑時(shí),采用后臺(tái)模式增加或降低冗余度,由于增加或降低冗余度操作在后臺(tái)進(jìn)行,不需要占用在線模式時(shí)的IO資源,因此,為一種異步模式;另外,本發(fā)明中,每個(gè)塊條帶的RAID級(jí)別可均不相同,并可進(jìn)行動(dòng)態(tài)調(diào)整,從而提高了存儲(chǔ)系統(tǒng)冗余級(jí)別調(diào)整的靈活性,更能滿足用戶存儲(chǔ)需求。因此,本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),在不影響數(shù)據(jù)存取速度的前提下,充分利用空閑IO和空閑空間,從而提升安全級(jí)別,更適用于應(yīng)用于云存儲(chǔ)和集中化存儲(chǔ)的大規(guī)模應(yīng)用場(chǎng)合。
【專利說(shuō)明】一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)存儲(chǔ)【技術(shù)領(lǐng)域】,具體涉及一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng)。

【背景技術(shù)】
[0002]RAID (Redundant Arrays of Independent Disks,獨(dú)立磁盤(pán)冗余陣列)技術(shù)已廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)的各種場(chǎng)合,RAID技術(shù)分為幾種不同的級(jí)別,可以分別提供不同的速度、安全性和性價(jià)比。根據(jù)實(shí)際情況選擇適當(dāng)?shù)腞AID級(jí)別可以滿足用戶對(duì)存儲(chǔ)系統(tǒng)可用性、性能和容量的要求。
[0003]常用的RAID級(jí)別包括以下幾種:RAIDO、RAID4和RAID5等。
[0004]其中,RAID O采用條帶技術(shù),對(duì)于由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊;然后,將不同物理磁盤(pán)的磁盤(pán)塊組成一個(gè)條帶;在數(shù)據(jù)存儲(chǔ)過(guò)程中,首先將連續(xù)的數(shù)據(jù)按磁盤(pán)陣列中的物理磁盤(pán)的數(shù)量進(jìn)行分段,得到相同大小的數(shù)據(jù)塊,再以條帶為單位,將各個(gè)數(shù)據(jù)塊并行同時(shí)寫(xiě)入到陣列中的不同條帶的不同磁盤(pán)塊上,由于可以對(duì)數(shù)據(jù)進(jìn)行并行讀/寫(xiě),具有數(shù)據(jù)訪問(wèn)速度快的優(yōu)點(diǎn);但是,由于RAID O不具有冗余能力,至少需要兩個(gè)物理磁盤(pán),只要其中一個(gè)物理磁盤(pán)出現(xiàn)損壞,則會(huì)導(dǎo)致整個(gè)磁盤(pán)陣列所保存的所有數(shù)據(jù)均不可用。
[0005]RAID 4也同樣采用條帶技術(shù),其選取一塊物理磁盤(pán)專門用于存儲(chǔ)校驗(yàn)數(shù)據(jù),稱為校驗(yàn)盤(pán);數(shù)據(jù)則分段存儲(chǔ)在其他物理磁盤(pán)中。同一條帶上,其他數(shù)據(jù)的改變均要修改校驗(yàn)數(shù)據(jù)。因此,當(dāng)某一塊物理磁盤(pán)出現(xiàn)損壞時(shí),只需要將損壞物理磁盤(pán)更換為新的物理磁盤(pán),然后再根據(jù)校驗(yàn)盤(pán)的校驗(yàn)數(shù)據(jù),在新物理磁盤(pán)中重建損壞盤(pán)上的數(shù)據(jù)即可。利用單獨(dú)的校驗(yàn)盤(pán)保護(hù)數(shù)據(jù),提高了數(shù)據(jù)冗余存儲(chǔ)能力,從而提高了數(shù)據(jù)存儲(chǔ)的安全性。
[0006]RAID 5與RAID4區(qū)別在于,RAID 5不是以單獨(dú)的物理磁盤(pán)作為校驗(yàn)盤(pán),而是將校驗(yàn)數(shù)據(jù)交互存儲(chǔ)于各個(gè)物理磁盤(pán)上。因此,1性能更加均衡,吞吐量及磁盤(pán)壽命均可最佳配置。相同之處在于,任何一個(gè)物理磁盤(pán)損壞,均不影響有效數(shù)據(jù),缺失的數(shù)據(jù)可通過(guò)同一條帶上的其他數(shù)據(jù)塊生成出來(lái)。
[0007]對(duì)于RAID 4、RAID 5等具有校驗(yàn)位的存儲(chǔ)系統(tǒng),主要采用存儲(chǔ)數(shù)據(jù)和校驗(yàn)數(shù)據(jù)同步存儲(chǔ)結(jié)構(gòu),即:對(duì)于一個(gè)條帶,只有將校驗(yàn)數(shù)據(jù)寫(xiě)完,才能認(rèn)為這個(gè)條帶被寫(xiě)完,該種存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)為:在突發(fā)性斷電等災(zāi)難發(fā)生時(shí),可以保證數(shù)據(jù)的穩(wěn)定性,同時(shí)控制器設(shè)計(jì)較為簡(jiǎn)單。但隨著云存儲(chǔ)和集中化存儲(chǔ)的大規(guī)模應(yīng)用,由若干組單一 RAID組成的存儲(chǔ)結(jié)構(gòu)常常會(huì)因?yàn)橐唤MRAID故障導(dǎo)致大面積應(yīng)用癱瘓,放大了數(shù)據(jù)風(fēng)險(xiǎn),這時(shí),簡(jiǎn)單地增加冗余磁盤(pán)的數(shù)量,或者性能急劇下降,或者空間浪費(fèi)驚人。所以,需要在空間利用率和存取性能上找到最佳點(diǎn),如何在不影響數(shù)據(jù)存取速度的前提下,利用好存儲(chǔ)的空閑1和空閑空間,從而提升安全級(jí)別,是當(dāng)下存儲(chǔ)產(chǎn)品需要解決的關(guān)鍵問(wèn)題。


【發(fā)明內(nèi)容】

[0008]針對(duì)現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),可有效解決上述問(wèn)題。
[0009]本發(fā)明采用的技術(shù)方案如下:
[0010]本發(fā)明還提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,包括以下步驟:
[0011]SI,對(duì)于由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊;
[0012]對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PNiBN ;
[0013]然后,定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度;
[0014]將所有的已編號(hào)后的磁盤(pán)塊存入已定義的所述存儲(chǔ)池中;
[0015]S2,在所述存儲(chǔ)池中定義SnRm列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件:
[0016]條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次;
[0017]條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量;
[0018]另外,在創(chuàng)建所述虛擬磁盤(pán)時(shí),定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定:
[0019]a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m_h ;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊;
[0020]b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h ;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊;
[0021]C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ;
[0022]d、虛擬磁盤(pán)安全級(jí)別:Vs ;
[0023]S3,設(shè)按自上而下順序共有η個(gè)原始?jí)K條帶,分別記為:原始?jí)K條帶1、原始?jí)K條帶2…原始?jí)K條帶η ;
[0024]設(shè)任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊i_l、磁盤(pán)塊i_2..,磁盤(pán)塊1-m ;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O < h < m,h為自然數(shù);
[0025]S4,當(dāng)進(jìn)行寫(xiě)操作時(shí),RAID控制器接收待寫(xiě)入虛擬磁盤(pán)的數(shù)據(jù),根據(jù)數(shù)據(jù)在虛擬磁盤(pán)中的偏移地址和數(shù)據(jù)的容量大小,通過(guò)虛擬磁盤(pán)的結(jié)構(gòu)定義,將所述數(shù)據(jù)分段,再計(jì)算分段后的數(shù)據(jù)需要寫(xiě)入的數(shù)據(jù)塊的塊地址以及校驗(yàn)塊的塊地址;然后,向計(jì)算后得到的數(shù)據(jù)塊地址寫(xiě)入分段后的數(shù)據(jù),向計(jì)算后得到的校驗(yàn)塊地址寫(xiě)入校驗(yàn)數(shù)據(jù),返回寫(xiě)成功;
[0026]當(dāng)進(jìn)行讀操作時(shí),將所述虛擬磁盤(pán)的空間地址和大小轉(zhuǎn)換后,由并行線程進(jìn)行讀取、匯總,即可讀出數(shù)據(jù);
[0027]S4,具體包括:
[0028]S4.1,RAID控制器監(jiān)控1模塊的空閑狀態(tài),當(dāng)監(jiān)控到1模塊空閑時(shí),執(zhí)行S4.2 ;
[0029]S4.2,所述虛擬磁盤(pán)增加塊條帶冗余度的操作:
[0030]如果同時(shí)滿足以下條件:
[0031]當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集;
[0032]則:所述虛擬磁盤(pán)基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別;
[0033]所述虛擬磁盤(pán)降低塊條帶冗余度的操作:
[0034]如果當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
[0035]優(yōu)選的,S2中,h為整數(shù),且h> = O且h〈 = 5。
[0036]優(yōu)選的,S2中,M為整數(shù)且0〈 = M〈 = 5。
[0037]優(yōu)選的,所述優(yōu)先級(jí)冗余策略包括:
[0038]基于預(yù)定義的虛擬磁盤(pán)安全級(jí)別Vs,虛擬磁盤(pán)安全級(jí)別越高,則表明虛擬磁盤(pán)的重要度越高,則其優(yōu)先級(jí)別越高;
[0039]各個(gè)塊條帶所存儲(chǔ)的具體數(shù)據(jù)的重要度,即:所存儲(chǔ)的具體數(shù)據(jù)越重要,其優(yōu)先級(jí)別越聞;
[0040]各個(gè)塊條帶最后執(zhí)行存儲(chǔ)操作的時(shí)間,即:最后執(zhí)行存儲(chǔ)操作的時(shí)間離當(dāng)前時(shí)間的時(shí)間間隔越小,其優(yōu)先級(jí)別越高。
[0041]優(yōu)選的,S4.2中,所述預(yù)設(shè)校驗(yàn)算法為基于Reed-solomon算法設(shè)計(jì)的多元一次方程組原理,即:在該方程組的解為唯一的情況下,即可增加多級(jí)校驗(yàn)。
[0042]本發(fā)明還提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)系統(tǒng),包括:
[0043]分割模塊,用于對(duì)由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊;
[0044]編號(hào)模塊,用于對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PN: BN;
[0045]存儲(chǔ)池定義模塊,用于定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度;
[0046]虛擬磁盤(pán)定義模塊,用于在所述存儲(chǔ)池中定義由η行m列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件:
[0047]條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次;
[0048]條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量;
[0049]還定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定:
[0050]a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m-h ;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊;
[0051]b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h ;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊;
[0052]C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ;
[0053]d、虛擬磁盤(pán)安全級(jí)別:Vs ;
[0054]數(shù)據(jù)塊數(shù)量初始值以校驗(yàn)塊數(shù)量初始值設(shè)置模塊,對(duì)于任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊1-Ι、磁盤(pán)塊i_2..,磁盤(pán)塊1-m ;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O彡h < m,h為自然數(shù);
[0055]1監(jiān)控模塊,用于監(jiān)控1模塊的空閑狀態(tài);
[0056]塊條帶冗余度增加模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且滿足以下條件:當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集;
[0057]則:基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別;
[0058]塊條帶冗余度降低模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
[0059]本發(fā)明的有益效果如下:
[0060]本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),采用后臺(tái)模式增加或降低各個(gè)塊條帶的冗余度,有不影響在線數(shù)據(jù)存儲(chǔ)速度的前提下,還利用空閑1和空閑空間,從而提升安全級(jí)別,更適用于應(yīng)用于云存儲(chǔ)和集中化存儲(chǔ)的大規(guī)模應(yīng)用場(chǎng)合。另夕卜,本發(fā)明中,每個(gè)塊條帶的RAID級(jí)別可進(jìn)行動(dòng)態(tài)調(diào)整,并且,各個(gè)塊條帶的RAID級(jí)別可不相同,提高了存儲(chǔ)系統(tǒng)冗余級(jí)別調(diào)整的靈活性,更能滿足用戶存儲(chǔ)需求。

【專利附圖】

【附圖說(shuō)明】
[0061]圖1為本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法的原理示意圖;
[0062]圖2為本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0063]以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明:
[0064]本發(fā)明提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,如圖1所示,為用于說(shuō)明本發(fā)明存儲(chǔ)方法的原理示意圖,包括以下步驟:
[0065]SI,對(duì)于由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊;
[0066]對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PNiBN ;
[0067]參考圖1,共有6個(gè)物理磁盤(pán),每一個(gè)物理磁盤(pán)均被分割為4個(gè)磁盤(pán)塊,因此,對(duì)于第I個(gè)物理磁盤(pán),物理磁盤(pán)號(hào)PN為PD_A,磁盤(pán)塊號(hào)BN分別為O、1、2和3,因此,磁盤(pán)塊編號(hào)分別為:PD_A0、PD_A1、PD_A2和PD_A3 ;同樣,對(duì)于第2個(gè)物理磁盤(pán),物理磁盤(pán)號(hào)PN為Η)_B,磁盤(pán)塊號(hào)BN分別為0、1、2和3,因此,磁盤(pán)塊編號(hào)分別為:PD_B0、PD_B1、PD_B2和PD_B3 ;對(duì)于第3-6個(gè)物理磁盤(pán),物理磁盤(pán)號(hào)PN分別為PD_C、PD_D.PD_E.PD_F,每一個(gè)磁盤(pán)塊號(hào)BN均為0、1、2和3,具體的磁盤(pán)塊編號(hào)不再贅述。
[0068]然后,定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度;
[0069]將所有的已編號(hào)后的磁盤(pán)塊存入已定義的所述存儲(chǔ)池中;
[0070]S2,在所述存儲(chǔ)池中定義SnRm列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件:
[0071]條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次;
[0072]也就是說(shuō),每個(gè)塊條帶中所有的磁盤(pán)塊編號(hào)(PN:BN)的集合中,不同的PN僅允許出現(xiàn)一次,即每個(gè)塊條帶中不允許有相同的物理磁盤(pán)的不同磁盤(pán)塊出現(xiàn)。例如,如圖1,在塊條帶I中,共有5個(gè)磁盤(pán)塊,其編號(hào)分別為:PD_A2、PD_B0、PD_C3、PD_D2和PD_E3,分別來(lái)自于5個(gè)不同的物理磁盤(pán);再例如,對(duì)于PD_A0、PD_A1、PD_A2和PD_A3這4個(gè)磁盤(pán)塊,均來(lái)自于物理磁盤(pán)PD_A,因此,這4個(gè)磁盤(pán)塊中,當(dāng)任意一個(gè)磁盤(pán)塊出現(xiàn)在條帶I時(shí),其他3個(gè)磁盤(pán)塊均不允許出現(xiàn)在條帶I中。
[0073]條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量;
[0074]另外,在創(chuàng)建所述虛擬磁盤(pán)時(shí),定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定:
[0075]a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m-h ;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊;
[0076]b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h ;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊;
[0077]C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ;
[0078]d、虛擬磁盤(pán)安全級(jí)別:Vs ;
[0079]實(shí)際應(yīng)用中,h為整數(shù),且h> = O且h〈 = 5,即h = 0、1、2、3、4或5。現(xiàn)有技術(shù)中的RAID級(jí)別,每個(gè)塊條帶包括的校驗(yàn)塊數(shù)量的最大值為3,本發(fā)明中,每個(gè)塊條帶包括的校驗(yàn)塊數(shù)量的最大值為5,比現(xiàn)有技術(shù)增加一個(gè)冗余度。M為整數(shù)且0〈 = M〈 = 5,即M = O、1、2、3、4或5,也就是說(shuō),根據(jù)實(shí)際需要,每個(gè)塊條帶既可不包含校驗(yàn)塊數(shù)量,即為RAIDO級(jí)另O,也可以最多支持5個(gè)校驗(yàn)塊,也就是說(shuō),每個(gè)塊條帶的冗余度變化范圍非常大。
[0080]S3,設(shè)按自上而下順序共有η個(gè)原始?jí)K條帶,分別記為:原始?jí)K條帶1、原始?jí)K條帶2…原始?jí)K條帶η ;
[0081]設(shè)任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊i_l、磁盤(pán)塊i_2..,磁盤(pán)塊1-m ;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O < h < m,h為自然數(shù);
[0082]參考圖1,初始化時(shí),共生成4個(gè)原始?jí)K條帶,分別為原始?jí)K條帶1、原始?jí)K條帶2、原始?jí)K條帶3和原始?jí)K條帶4 ;并且,在初始時(shí),每個(gè)原始?jí)K條帶所包含的數(shù)據(jù)塊數(shù)量均相等,例如,每個(gè)原始?jí)K條帶均包括4個(gè)數(shù)據(jù)塊;然后,每個(gè)原始?jí)K條帶可均不包括校驗(yàn)塊,即為4+0在線數(shù)據(jù)模式;也可以均包括I個(gè)校驗(yàn)塊,為4+1在線數(shù)據(jù)模式,類推的,也可以設(shè)計(jì)為4+2在線數(shù)據(jù)模式或4+3在線數(shù)據(jù)模式。初始時(shí),每個(gè)原始?jí)K條帶所包含的磁盤(pán)塊均為在線磁盤(pán)塊,另外,每個(gè)原始?jí)K條帶的冗余度(即包含的校驗(yàn)塊數(shù)量)根據(jù)實(shí)際需求設(shè)置,所設(shè)置的校驗(yàn)塊數(shù)量越少,冗余度越低,但空間利用率越高;相反,所設(shè)置的校驗(yàn)塊數(shù)量越多,冗余度越多,但空間利用率越低。因此,根據(jù)需求,在空間利用率和冗余度之間找到最佳的設(shè)置校驗(yàn)塊的數(shù)量即可。
[0083]S4,當(dāng)進(jìn)行寫(xiě)操作時(shí),RAID控制器接收待寫(xiě)入虛擬磁盤(pán)的數(shù)據(jù),根據(jù)數(shù)據(jù)在虛擬磁盤(pán)中的偏移地址和數(shù)據(jù)的容量大小,通過(guò)虛擬磁盤(pán)的結(jié)構(gòu)定義,將所述數(shù)據(jù)分段,再計(jì)算分段后的數(shù)據(jù)需要寫(xiě)入的數(shù)據(jù)塊的塊地址以及校驗(yàn)塊的塊地址;然后,向計(jì)算后得到的數(shù)據(jù)塊地址寫(xiě)入分段后的數(shù)據(jù),向計(jì)算后得到的校驗(yàn)塊地址寫(xiě)入校驗(yàn)數(shù)據(jù),返回寫(xiě)成功;
[0084]當(dāng)進(jìn)行讀操作時(shí),將所述虛擬磁盤(pán)的空間地址和大小轉(zhuǎn)換后,由并行線程進(jìn)行讀取、匯總,即可讀出數(shù)據(jù);
[0085]S4,具體包括:
[0086]S4.1,RAID控制器監(jiān)控1模塊的空閑狀態(tài),當(dāng)監(jiān)控到1模塊空閑時(shí),執(zhí)行S4.2 ;
[0087]S4.2,所述虛擬磁盤(pán)增加塊條帶冗余度的操作:
[0088]如果同時(shí)滿足以下條件:
[0089]當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集;
[0090]則:所述虛擬磁盤(pán)基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別;通過(guò)本步驟,由于按優(yōu)先級(jí)先后順序增加各個(gè)塊條帶的冗余度,因此,在某一時(shí)刻,各個(gè)塊條帶的冗余度是不相同的,由此實(shí)現(xiàn)動(dòng)態(tài)改變各個(gè)塊條帶冗余級(jí)別的效果。
[0091]其中,優(yōu)先級(jí)冗余策略包括但不限于以下幾種策略:(1)基于預(yù)定義的虛擬磁盤(pán)安全級(jí)別Vs,虛擬磁盤(pán)安全級(jí)別越高,則表明虛擬磁盤(pán)的重要度越高,則其優(yōu)先級(jí)別越高;
(2)各個(gè)塊條帶所存儲(chǔ)的具體數(shù)據(jù)的重要度,即:所存儲(chǔ)的具體數(shù)據(jù)越重要,其優(yōu)先級(jí)別越高;(3)各個(gè)塊條帶最后執(zhí)行存儲(chǔ)操作的時(shí)間,即:最后執(zhí)行存儲(chǔ)操作的時(shí)間離當(dāng)前時(shí)間的時(shí)間間隔越小,其優(yōu)先級(jí)別越高。
[0092]其中,預(yù)設(shè)校驗(yàn)算法可以為基于Reed-solomon算法設(shè)計(jì)的多元一次方程組原理,即:在該方程組的解為唯一的情況下,即可增加多級(jí)校驗(yàn)。
[0093]所述虛擬磁盤(pán)降低塊條帶冗余度的操作:
[0094]如果當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
[0095]通過(guò)本步驟,由于按優(yōu)先級(jí)先后順序降低各個(gè)塊條帶的冗余度,因此,在某一時(shí)刻,各個(gè)塊條帶的冗余度是不相同的,由此實(shí)現(xiàn)動(dòng)態(tài)改變各個(gè)塊條帶冗余級(jí)別的效果。
[0096]例如,在初始時(shí),生成4+1在線數(shù)據(jù)模式,即,初始生成的每一個(gè)塊條帶均為RAIDl級(jí)別,包括4個(gè)數(shù)據(jù)塊和I個(gè)校驗(yàn)塊,通過(guò)低級(jí)別的RAID進(jìn)行實(shí)時(shí)在線保護(hù),保證了數(shù)據(jù)讀取速度;然后,當(dāng)1空閑且有空閑空間時(shí),對(duì)每個(gè)塊條帶動(dòng)態(tài)增加I個(gè)冗余度,即增加I個(gè)校驗(yàn)塊,從而增加存儲(chǔ)系統(tǒng)的安全級(jí)別;如果存儲(chǔ)空間允許,再不斷增加校驗(yàn)塊,每擴(kuò)增一個(gè)校驗(yàn)塊,即增加了存儲(chǔ)系統(tǒng)的一個(gè)安全級(jí)別,并且,不同條帶支持的冗余級(jí)別不同;當(dāng)1空閑且空閑空間不夠時(shí),對(duì)每個(gè)塊條帶動(dòng)態(tài)降低冗余度,從而釋放可用空間。
[0097]由此可見(jiàn),本發(fā)明中,首先通過(guò)在線模式生成初始虛擬磁盤(pán),然后,在1空閑時(shí),采用后臺(tái)模式增加或降低冗余度,由于增加或降低冗余度的操作是在后臺(tái)進(jìn)行的,不需要占用在線模式時(shí)的1資源,因此,為一種異步模式;另外,本發(fā)明中,每個(gè)塊條帶的RAID級(jí)別可均不相同,并可進(jìn)行動(dòng)態(tài)調(diào)整,允許用戶根據(jù)實(shí)際需要,優(yōu)先將某個(gè)特定的塊條帶增加冗余度,從而提高了存儲(chǔ)系統(tǒng)冗余級(jí)別調(diào)整的靈活性,更能滿足用戶存儲(chǔ)需求。因此,本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),在不影響數(shù)據(jù)存取速度的前提下,充分利用空閑1和空閑空間,從而提升安全級(jí)別,更適用于應(yīng)用于云存儲(chǔ)和集中化存儲(chǔ)的大規(guī)模應(yīng)用場(chǎng)合。
[0098]如圖2所示,本發(fā)明還提供一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)系統(tǒng),包括:
[0099]分割模塊,用于對(duì)由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊;
[0100]編號(hào)模塊,用于對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PN: BN;
[0101]存儲(chǔ)池定義模塊,用于定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度;
[0102]虛擬磁盤(pán)定義模塊,用于在所述存儲(chǔ)池中定義由η行m列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件:
[0103]條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次;
[0104]條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量;
[0105]還定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定:
[0106]a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m_h ;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊;
[0107]b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h ;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊;
[0108]C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ;
[0109]d、虛擬磁盤(pán)安全級(jí)別:Vs ;
[0110]數(shù)據(jù)塊數(shù)量初始值以校驗(yàn)塊數(shù)量初始值設(shè)置模塊,對(duì)于任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊1-Ι、磁盤(pán)塊i_2..,磁盤(pán)塊1-m ;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O彡h < m,h為自然數(shù);
[0111]1監(jiān)控模塊,用于監(jiān)控1模塊的空閑狀態(tài);
[0112]塊條帶冗余度增加模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且滿足以下條件:當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集;
[0113]則:基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別;
[0114]塊條帶冗余度降低模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
[0115]綜上所述,本發(fā)明提供的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法及存儲(chǔ)系統(tǒng),在空間利用率和存取性能上找到最佳點(diǎn),在不影響數(shù)據(jù)存取速度的前提下,充分利用好存儲(chǔ)的空閑1和空閑空間,從而提升安全級(jí)別。
[0116]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,其特征在于,包括以下步驟: SI,對(duì)于由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊; 對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PN:BN ; 然后,定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度; 將所有的已編號(hào)后的磁盤(pán)塊存入已定義的所述存儲(chǔ)池中; S2,在所述存儲(chǔ)池中定義SnRm列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件: 條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次; 條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量; 另外,在創(chuàng)建所述虛擬磁盤(pán)時(shí),定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定: a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m-h;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊; b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊; C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ; d、虛擬磁盤(pán)安全級(jí)別:Vs ; S3,設(shè)按自上而下順序共有η個(gè)原始?jí)K條帶,分別記為:原始?jí)K條帶1、原始?jí)K條帶2...原始?jí)K條帶η ; 設(shè)任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊1-Ι、磁盤(pán)塊i_2..,磁盤(pán)塊1-m ;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O < h < m,h為自然數(shù); S4,當(dāng)進(jìn)行寫(xiě)操作時(shí),RAID控制器接收待寫(xiě)入虛擬磁盤(pán)的數(shù)據(jù),根據(jù)數(shù)據(jù)在虛擬磁盤(pán)中的偏移地址和數(shù)據(jù)的容量大小,通過(guò)虛擬磁盤(pán)的結(jié)構(gòu)定義,將所述數(shù)據(jù)分段,再計(jì)算分段后的數(shù)據(jù)需要寫(xiě)入的數(shù)據(jù)塊的塊地址以及校驗(yàn)塊的塊地址;然后,向計(jì)算后得到的數(shù)據(jù)塊地址寫(xiě)入分段后的數(shù)據(jù),向計(jì)算后得到的校驗(yàn)塊地址寫(xiě)入校驗(yàn)數(shù)據(jù),返回寫(xiě)成功; 當(dāng)進(jìn)行讀操作時(shí),將所述虛擬磁盤(pán)的空間地址和大小轉(zhuǎn)換后,由并行線程進(jìn)行讀取、匯總,即可讀出數(shù)據(jù); S4,具體包括: S4.1,RAID控制器監(jiān)控1模塊的空閑狀態(tài),當(dāng)監(jiān)控到1模塊空閑時(shí),執(zhí)行S4.2 ; S4.2,所述虛擬磁盤(pán)增加塊條帶冗余度的操作: 如果同時(shí)滿足以下條件: 當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集; 則:所述虛擬磁盤(pán)基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別; 所述虛擬磁盤(pán)降低塊條帶冗余度的操作: 如果當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
2.根據(jù)權(quán)利要求1所述的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,其特征在于,S2中,h為整數(shù),且h> = O且h〈 = 5。
3.根據(jù)權(quán)利要求1所述的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,其特征在于,S2中,M為整數(shù)且0〈 = M〈 = 5。
4.根據(jù)權(quán)利要求1所述的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,其特征在于,所述優(yōu)先級(jí)冗余策略包括: 基于預(yù)定義的虛擬磁盤(pán)安全級(jí)別Vs,虛擬磁盤(pán)安全級(jí)別越高,則表明虛擬磁盤(pán)的重要度越高,則其優(yōu)先級(jí)別越高; 各個(gè)塊條帶所存儲(chǔ)的具體數(shù)據(jù)的重要度,即:所存儲(chǔ)的具體數(shù)據(jù)越重要,其優(yōu)先級(jí)別越聞; 各個(gè)塊條帶最后執(zhí)行存儲(chǔ)操作的時(shí)間,即:最后執(zhí)行存儲(chǔ)操作的時(shí)間離當(dāng)前時(shí)間的時(shí)間間隔越小,其優(yōu)先級(jí)別越高。
5.根據(jù)權(quán)利要求1所述的可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)方法,其特征在于,S4.2中,所述預(yù)設(shè)校驗(yàn)算法為基于Reed-solomon算法設(shè)計(jì)的多元一次方程組原理,即:在該方程組的解為唯一的情況下,即可增加多級(jí)校驗(yàn)。
6.一種可動(dòng)態(tài)異步調(diào)整RAID級(jí)別的存儲(chǔ)系統(tǒng),其特征在于,包括: 分割模塊,用于對(duì)由多個(gè)物理磁盤(pán)組成的磁盤(pán)陣列,將每一個(gè)物理磁盤(pán)進(jìn)行分割處理,由此得到多個(gè)磁盤(pán)塊; 編號(hào)模塊,用于對(duì)每一個(gè)所述磁盤(pán)塊進(jìn)行編號(hào),該編號(hào)由物理磁盤(pán)號(hào)PN和磁盤(pán)塊號(hào)BN聯(lián)合組成,記為PN: BN; 存儲(chǔ)池定義模塊,用于定義存儲(chǔ)池,所述存儲(chǔ)池具有磁盤(pán)塊分配表和塊條帶冗余度標(biāo)識(shí)表;其中,所述塊條帶冗余度標(biāo)識(shí)表用于記錄每個(gè)塊條帶的冗余度; 虛擬磁盤(pán)定義模塊,用于在所述存儲(chǔ)池中定義由η行m列個(gè)磁盤(pán)塊組成的虛擬磁盤(pán),每一行的所有磁盤(pán)塊形成一個(gè)磁盤(pán)塊條帶,簡(jiǎn)稱為塊條帶;并約定所述塊條帶符合如下2個(gè)條件: 條件1、每個(gè)塊條帶中,具有相同物理磁盤(pán)號(hào)PN的磁盤(pán)塊僅允許出現(xiàn)一次; 條件2、每個(gè)塊條帶具有的磁盤(pán)塊數(shù)量需滿足在創(chuàng)建所述虛擬磁盤(pán)時(shí)所設(shè)定的最少磁盤(pán)塊數(shù)量; 還定義或默認(rèn)定義所述虛擬磁盤(pán)的數(shù)據(jù)冗余級(jí)別,該數(shù)據(jù)冗余級(jí)別由如下4個(gè)參數(shù)決定: a、每個(gè)塊條帶中的存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊數(shù)量:m-h;其中,將存儲(chǔ)真正數(shù)據(jù)的磁盤(pán)塊簡(jiǎn)稱為數(shù)據(jù)塊; b、每個(gè)塊條帶中的存儲(chǔ)校驗(yàn)值的磁盤(pán)塊數(shù)量:h;其中,將存儲(chǔ)校驗(yàn)值的磁盤(pán)塊簡(jiǎn)稱為校驗(yàn)塊; C、每個(gè)塊條帶中允許增強(qiáng)的校驗(yàn)塊數(shù)量:M ; d、虛擬磁盤(pán)安全級(jí)別:Vs ; 數(shù)據(jù)塊數(shù)量初始值以校驗(yàn)塊數(shù)量初始值設(shè)置模塊,對(duì)于任意一個(gè)原始?jí)K條帶i均由m個(gè)磁盤(pán)塊組成,按自左向右的順序,分別記為:磁盤(pán)塊i_l、磁盤(pán)塊i_2..,磁盤(pán)塊1-m;并且,所述原始?jí)K條帶的m個(gè)磁盤(pán)塊均為在線磁盤(pán)塊;每一個(gè)所述原始?jí)K條帶具有的m個(gè)磁盤(pán)塊中,配置h個(gè)用于存儲(chǔ)校驗(yàn)值的校驗(yàn)塊,其他m-h個(gè)磁盤(pán)塊為用于存儲(chǔ)真正數(shù)據(jù)的數(shù)據(jù)塊;其中,O彡h < m,h為自然數(shù); 1監(jiān)控模塊,用于監(jiān)控1模塊的空閑狀態(tài); 塊條帶冗余度增加模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且滿足以下條件:當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量超過(guò)設(shè)定值;并且,存在校驗(yàn)塊數(shù)量小于最大數(shù)量M的第一塊條帶集; 則:基于優(yōu)先級(jí)冗余策略,按優(yōu)先級(jí)從高到低順序分別對(duì)所述第一塊條帶集中的各個(gè)塊條帶增加一個(gè)級(jí)別的冗余處理,即:為所獲取的塊條帶增加一個(gè)校驗(yàn)塊,并基于預(yù)設(shè)校驗(yàn)算法,向所增加的校驗(yàn)塊中寫(xiě)入校驗(yàn)數(shù)據(jù);更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度;重復(fù)本步驟,不斷對(duì)各個(gè)塊條帶增加冗余度,改變各個(gè)塊條帶的RAID級(jí)別; 塊條帶冗余度降低模塊,用于當(dāng)所述1監(jiān)控模塊監(jiān)控到1模塊空閑時(shí),且當(dāng)前所述存儲(chǔ)池的空閑磁盤(pán)塊數(shù)量低于設(shè)定值,則按優(yōu)先級(jí)從低到高順序分別對(duì)各個(gè)塊條帶回收一個(gè)校驗(yàn)塊,降低塊條帶的冗余級(jí)別;更新所述塊條帶冗余度標(biāo)識(shí)表中的塊條帶冗余度標(biāo)識(shí);然后,在存儲(chǔ)池的所述磁盤(pán)塊分配表標(biāo)識(shí)所回收的所述校驗(yàn)塊為自由狀態(tài),使其可作為數(shù)據(jù)塊使用。
【文檔編號(hào)】G06F3/06GK104267913SQ201410559584
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2014年10月20日 優(yōu)先權(quán)日:2014年10月20日
【發(fā)明者】張宇 申請(qǐng)人:北京北亞時(shí)代科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1