本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種磁盤陣列數(shù)據(jù)備份方法及裝置。
背景技術(shù):
磁盤陣列(redundantarraysofindependentdisks,raid)是一種把多塊獨(dú)立的硬盤(物理硬盤)按不同的方式組合起來形成一個(gè)硬盤組(邏輯硬盤),以提供比單個(gè)硬盤更高的存儲(chǔ)性能。磁盤陣列具有數(shù)據(jù)備份功能,即在單塊硬盤出現(xiàn)故障時(shí),由磁盤陣列中的熱備盤進(jìn)行替換,并利用備份數(shù)據(jù)重建和恢復(fù)數(shù)據(jù)。磁盤陣列提供的數(shù)據(jù)備份功能解決了單塊磁盤出現(xiàn)故障會(huì)造成數(shù)據(jù)丟失的問題,可保證用戶數(shù)據(jù)的安全性。
但近年來,單塊硬盤的容量呈倍數(shù)增長(zhǎng)趨勢(shì),已從原先的幾百gb發(fā)展到現(xiàn)在以tb計(jì)量,包括主流使用的4tb、6tb,甚至更大容量。大容量磁盤在帶來較高性價(jià)比的同時(shí),使磁盤重建問題變得日益嚴(yán)重。
當(dāng)一塊磁盤出現(xiàn)故障時(shí),由陣列中熱備盤進(jìn)行替換,然后進(jìn)行數(shù)據(jù)重建,比如,現(xiàn)有技術(shù)中最常用的由5組硬盤構(gòu)建的磁盤陣列,一塊2tb硬盤在沒有數(shù)據(jù)寫入情況下,重建數(shù)據(jù)需要20個(gè)小時(shí);在有數(shù)據(jù)寫入情況下,進(jìn)行數(shù)據(jù)重建時(shí)間更長(zhǎng),可能需要一周。可見,隨著單塊硬盤容量的增大,在磁盤出現(xiàn)故障進(jìn)行數(shù)據(jù)重建時(shí),要花費(fèi)更長(zhǎng)的時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,本發(fā)明的目的是提供一種磁盤陣列數(shù)據(jù)備份方法及裝置,與現(xiàn)有技術(shù)相比,在進(jìn)行數(shù)據(jù)重建時(shí)可以提高數(shù)據(jù)讀寫速度,縮短重建時(shí)間。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種磁盤陣列數(shù)據(jù)備份方法,包括:
將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,所述待存儲(chǔ)數(shù)據(jù)在所述第一磁盤鏡像區(qū)中占用x個(gè)所述磁盤,x為大于零的正整數(shù);
將所述待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤,其中y為大于零的正整數(shù),y大于等于x。
可選地,所述磁盤陣列設(shè)有作為熱備盤的空閑磁盤。
可選地,還包括:在所述第一磁盤鏡像區(qū)中預(yù)留以散列化方式分布在至少兩個(gè)磁盤的空閑塊。
可選地,所述在所述第一磁盤鏡像區(qū)中預(yù)留以散列化方式分布在至少兩個(gè)磁盤的空閑塊包括:
在所述第一磁盤鏡像區(qū)的每一所述磁盤預(yù)留空閑塊。
一種磁盤陣列數(shù)據(jù)備份裝置,包括:
數(shù)據(jù)存儲(chǔ)模塊,用于將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,所述待存儲(chǔ)數(shù)據(jù)在所述第一磁盤鏡像區(qū)中占用x個(gè)所述磁盤,x為大于零的正整數(shù);
數(shù)據(jù)備份模塊,用于將所述待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤,其中y為大于零的正整數(shù),y大于等于x。
可選地,所述磁盤陣列設(shè)置有作為熱備盤的空閑磁盤。
可選地,還包括空閑塊預(yù)留模塊,用于在所述第一磁盤鏡像區(qū)中預(yù)留以散列化方式分布在至少兩個(gè)磁盤的空閑塊。
可選地,所述空閑塊預(yù)留模塊具體用于在所述第一磁盤鏡像區(qū)的每一所述磁盤預(yù)留空閑塊。
由上述技術(shù)方案可知,本發(fā)明所提供的磁盤陣列數(shù)據(jù)備份方法及裝置,將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,所述待存儲(chǔ)數(shù)據(jù)在第一磁盤鏡像區(qū)中占用x個(gè)磁盤;將待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤,其中y大于等于x。
當(dāng)?shù)谝淮疟P鏡像區(qū)中的某磁盤故障,從第二磁盤鏡像區(qū)中讀取該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),寫入到磁盤陣列的空閑塊中,對(duì)故障磁盤數(shù)據(jù)進(jìn)行數(shù)據(jù)重建和恢復(fù),本發(fā)明方法及裝置中,由于將備份數(shù)據(jù)以散列化方式分布在第二磁盤鏡像區(qū)的磁盤上,因此進(jìn)行數(shù)據(jù)重建讀取備份數(shù)據(jù)時(shí),從第二磁盤鏡像區(qū)的各磁盤讀取數(shù)據(jù),能夠利用多個(gè)磁盤的讀寫能力,從而可以提高數(shù)據(jù)讀寫速率,縮短數(shù)據(jù)重建時(shí)間。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種磁盤陣列數(shù)據(jù)備份方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種磁盤陣列的示意圖;
圖3為本發(fā)明又一實(shí)施例提供的一種磁盤陣列的示意圖;
圖4為本發(fā)明實(shí)施例提供的一種磁盤陣列數(shù)據(jù)備份裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參考圖1,本發(fā)明實(shí)施例提供的一種磁盤陣列數(shù)據(jù)備份方法,包括步驟:
s10:將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,所述待存儲(chǔ)數(shù)據(jù)在所述第一磁盤鏡像區(qū)中占用x個(gè)所述磁盤,x為大于零的正整數(shù)。
在磁盤陣列中,至少劃分第一磁盤鏡像區(qū)和第二磁盤鏡像區(qū),第一磁盤鏡像區(qū)用于存儲(chǔ)數(shù)據(jù),第二磁盤鏡像區(qū)用于寫入備份數(shù)據(jù)。第一磁盤鏡像區(qū)包括預(yù)設(shè)數(shù)量的磁盤。
向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中。
s11:將所述待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤,其中y為大于零的正整數(shù),y大于等于x。
向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,同時(shí)對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行備份,將待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤中,其中y大于等于x。這樣,對(duì)應(yīng)第一磁盤鏡像區(qū)中一塊磁盤寫入的存儲(chǔ)數(shù)據(jù),其備份數(shù)據(jù)散列化分布在第二磁盤鏡像區(qū)的多個(gè)磁盤上。
當(dāng)?shù)谝淮疟P鏡像區(qū)中的某磁盤故障,從第二磁盤鏡像區(qū)中讀取該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以將備份數(shù)據(jù)寫入到磁盤陣列的空閑塊中進(jìn)行數(shù)據(jù)重建。由于該故障磁盤的備份數(shù)據(jù)散列化分布在第二磁盤鏡像區(qū)的多個(gè)磁盤上,因此進(jìn)行數(shù)據(jù)重建讀取備份數(shù)據(jù)時(shí),能夠利用多個(gè)磁盤的讀寫能力,從而能夠提高數(shù)據(jù)讀寫速率,縮短數(shù)據(jù)重建時(shí)間。
具體的,在本實(shí)施例磁盤陣列數(shù)據(jù)備份方法的一種實(shí)施方式中,,所述磁盤陣列設(shè)置有作為熱備盤的空閑磁盤??蓞⒖紙D2,在圖2所示的磁盤陣列中,第一磁盤鏡像區(qū)中磁盤d3的存儲(chǔ)數(shù)據(jù),其備份數(shù)據(jù)在第二磁盤鏡像區(qū)中以散列化方式分布在多個(gè)磁盤上。在本磁盤陣列中,預(yù)留有空閑磁盤s1和s2。
當(dāng)?shù)谝淮疟P鏡像區(qū)中的某磁盤故障,從第二磁盤鏡像區(qū)中讀取對(duì)應(yīng)該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),寫入到磁盤陣列中預(yù)留的空閑磁盤中,對(duì)故障磁盤進(jìn)行數(shù)據(jù)重建和恢復(fù)。
在此數(shù)據(jù)重建過程中,故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù)以散列化方式分布在第二磁盤鏡像區(qū)的多個(gè)磁盤上,因此從第二磁盤鏡像中讀取備份數(shù)據(jù)時(shí),分別從第二磁盤鏡像區(qū)的各磁盤讀取數(shù)據(jù),這樣能夠充分利用各個(gè)磁盤的讀寫能力,提高了數(shù)據(jù)讀寫速率,與現(xiàn)有技術(shù)相比能夠提高數(shù)據(jù)恢復(fù)速率,縮短數(shù)據(jù)重建時(shí)間。
在本實(shí)施例磁盤陣列數(shù)據(jù)備份方法的另一種實(shí)施方式中,所述步驟s10還包括:在所述第一磁盤鏡像區(qū)中預(yù)留以散列化方式分布在至少兩個(gè)磁盤的空閑塊。
在本實(shí)施方式中,向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,在寫入過程中在第一磁盤鏡像區(qū)中預(yù)留空閑塊,所預(yù)留的空閑塊以散列化方式分布在至少兩個(gè)磁盤上。
這樣,當(dāng)出現(xiàn)某磁盤故障,從第二磁盤鏡像區(qū)中讀取該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù)進(jìn)行數(shù)據(jù)重建。在第一磁盤鏡像區(qū)的磁盤中預(yù)留空閑塊,并且,空閑塊以散列化方式分布在至少兩個(gè)磁盤上,將備份數(shù)據(jù)寫入第一磁盤鏡像區(qū)中預(yù)留的多個(gè)磁盤的空閑塊中,能夠利用第一磁盤鏡像區(qū)中多個(gè)磁盤的讀寫能力,因此在數(shù)據(jù)恢復(fù)中能進(jìn)一步提高數(shù)據(jù)讀寫能力,可以進(jìn)一步提高數(shù)據(jù)讀寫速率,縮短數(shù)據(jù)重建時(shí)間。
在上一實(shí)施方式中,在磁盤陣列中預(yù)留作為熱備盤的空閑磁盤,這種情況下,在磁盤陣列數(shù)據(jù)讀寫過程中,冗余盤即空閑磁盤不參與數(shù)據(jù)讀寫,會(huì)導(dǎo)致陣列中磁盤的讀寫能力損失。而本實(shí)施方式中,在磁盤陣列中不預(yù)留空閑磁盤,而是在磁盤鏡像區(qū)中預(yù)留空閑塊,這樣避免了磁盤陣列數(shù)據(jù)讀寫能力的損失,可提高磁盤陣列的數(shù)據(jù)讀寫性能。
優(yōu)選的,在本實(shí)施方式中,具體在所述第一磁盤鏡像區(qū)的每一所述磁盤預(yù)留空閑塊??蓞⒖紙D3,在圖3所示的磁盤陣列中,第一磁盤鏡像區(qū)中磁盤d3的存儲(chǔ)數(shù)據(jù),其備份數(shù)據(jù)在第二磁盤鏡像區(qū)中以散列化方式分布在多個(gè)磁盤上。另外,在本磁盤陣列中,在每一磁盤中預(yù)留空閑塊。
在第一磁盤鏡像區(qū)的每一磁盤預(yù)留空閑塊。空閑塊散列化分布在各個(gè)磁盤中,在對(duì)故障磁盤進(jìn)行數(shù)據(jù)恢復(fù)時(shí),從第二磁盤鏡像區(qū)中各磁盤讀取備份數(shù)據(jù),將備份數(shù)據(jù)寫入第一磁盤鏡像區(qū)中預(yù)留的多個(gè)磁盤的空閑塊中,能夠充分利用各磁盤的讀寫能力,在進(jìn)行數(shù)據(jù)重建和恢復(fù)時(shí),磁盤陣列中數(shù)據(jù)讀寫過程是多對(duì)多的關(guān)系,避免了熱點(diǎn),可以大大提高磁盤陣列的故障恢復(fù)效率,縮短故障恢復(fù)時(shí)間。
相應(yīng)的,請(qǐng)參考圖4,本發(fā)明實(shí)施例還提供一種磁盤陣列數(shù)據(jù)備份裝置,包括:
數(shù)據(jù)存儲(chǔ)模塊20,用于將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,所述待存儲(chǔ)數(shù)據(jù)在所述第一磁盤鏡像區(qū)中占用x個(gè)所述磁盤,x為大于零的正整數(shù);
數(shù)據(jù)備份模塊21,用于將所述待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤,其中y為大于零的正整數(shù),y大于等于x。
本實(shí)施例中,在磁盤陣列中,至少劃分第一磁盤鏡像區(qū)和第二磁盤鏡像區(qū),第一磁盤鏡像區(qū)用于存儲(chǔ)數(shù)據(jù),第二磁盤鏡像區(qū)用于寫入備份數(shù)據(jù)。第一磁盤鏡像區(qū)包括預(yù)設(shè)數(shù)量的磁盤。
向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,數(shù)據(jù)存儲(chǔ)模塊20將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中。
向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,同時(shí)對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行備份,數(shù)據(jù)備份模塊21將待存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),以散列化方式寫入第二磁盤鏡像區(qū)的y個(gè)磁盤中,其中y大于等于x。這樣,對(duì)應(yīng)第一磁盤鏡像區(qū)中一塊磁盤中的存儲(chǔ)數(shù)據(jù),其備份數(shù)據(jù)散列化分布在第二磁盤鏡像區(qū)的多個(gè)磁盤上。
當(dāng)?shù)谝淮疟P鏡像區(qū)中的某磁盤故障,從第二磁盤鏡像區(qū)中讀取該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),寫入到磁盤陣列的空閑塊中,對(duì)故障磁盤數(shù)據(jù)進(jìn)行數(shù)據(jù)重建和恢復(fù)。本實(shí)施例磁盤陣列數(shù)據(jù)備份裝置,由于將備份數(shù)據(jù)以散列化方式分布在第二磁盤鏡像區(qū)的磁盤上,因此進(jìn)行數(shù)據(jù)重建讀取備份數(shù)據(jù)時(shí),從第二磁盤鏡像區(qū)的各磁盤讀取數(shù)據(jù),能夠利用多個(gè)磁盤的讀寫能力,從而提高數(shù)據(jù)讀寫速率,縮短數(shù)據(jù)重建時(shí)間。
具體的,在本實(shí)施例磁盤陣列數(shù)據(jù)備份裝置的一種實(shí)施方式中,所述磁盤陣列設(shè)置有作為熱備盤的空閑磁盤。
當(dāng)?shù)谝淮疟P鏡像區(qū)中的某磁盤故障,從第二磁盤鏡像區(qū)中讀取對(duì)應(yīng)該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù),寫入到磁盤陣列中預(yù)留的空閑磁盤中,對(duì)故障磁盤進(jìn)行數(shù)據(jù)重建和恢復(fù)。
在此數(shù)據(jù)重建過程中,故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù)以散列化方式分布在第二磁盤鏡像區(qū)的多個(gè)磁盤上,因此從第二磁盤鏡像中讀取備份數(shù)據(jù)時(shí),分別從第二磁盤鏡像區(qū)的各磁盤讀取數(shù)據(jù),這樣能夠充分利用各個(gè)磁盤的讀寫能力,提高了數(shù)據(jù)讀寫速率,與現(xiàn)有技術(shù)相比能夠提高數(shù)據(jù)恢復(fù)速率,縮短數(shù)據(jù)重建時(shí)間。
在本實(shí)施例磁盤陣列數(shù)據(jù)備份裝置的另一種實(shí)施方式中,還包括空閑塊預(yù)留模塊,用于在所述第一磁盤鏡像區(qū)中預(yù)留以散列化方式分布在至少兩個(gè)磁盤的空閑塊。
在本實(shí)施方式中,向磁盤陣列中存儲(chǔ)數(shù)據(jù)過程中,將待存儲(chǔ)數(shù)據(jù)順序?qū)懭氲谝淮疟P鏡像區(qū)的磁盤中,在寫入過程中,空閑塊預(yù)留模塊在第一磁盤鏡像區(qū)中預(yù)留空閑塊,所預(yù)留的空閑塊以散列化方式分布在至少兩個(gè)磁盤上。
這樣,當(dāng)出現(xiàn)某磁盤故障,從第二磁盤鏡像區(qū)中讀取該故障磁盤中存儲(chǔ)數(shù)據(jù)的備份數(shù)據(jù)進(jìn)行數(shù)據(jù)重建。在第一磁盤鏡像區(qū)的磁盤中預(yù)留空閑塊,并且,空閑塊以散列化方式分布在至少兩個(gè)磁盤上,將備份數(shù)據(jù)寫入第一磁盤鏡像區(qū)中預(yù)留的多個(gè)磁盤的空閑塊中,能夠利用第一磁盤鏡像區(qū)中多個(gè)磁盤的讀寫能力,因此在數(shù)據(jù)恢復(fù)中能進(jìn)一步提高數(shù)據(jù)讀寫能力,可以進(jìn)一步提高數(shù)據(jù)讀寫速率,縮短數(shù)據(jù)重建時(shí)間。
在上一實(shí)施方式中,在磁盤陣列中預(yù)留作為熱備盤的空閑磁盤,這種情況下,在磁盤陣列數(shù)據(jù)讀寫過程中,冗余盤即空閑磁盤不參與數(shù)據(jù)讀寫,會(huì)導(dǎo)致陣列中磁盤的讀寫能力損失。而本實(shí)施方式中,在磁盤陣列中不預(yù)留空閑磁盤,而是在磁盤鏡像區(qū)中預(yù)留空閑塊,這樣避免了磁盤陣列數(shù)據(jù)讀寫能力的損失,可提高磁盤陣列的數(shù)據(jù)讀寫性能。
優(yōu)選的,在本實(shí)施方式中,所述空閑塊預(yù)留模塊具體用于在所述第一磁盤鏡像區(qū)的每一所述磁盤預(yù)留空閑塊。
在第一磁盤鏡像區(qū)的每一磁盤預(yù)留空閑塊??臻e塊散列化分布在各個(gè)磁盤中,在對(duì)故障磁盤進(jìn)行數(shù)據(jù)恢復(fù)時(shí),從第二磁盤鏡像區(qū)中各磁盤讀取備份數(shù)據(jù),將備份數(shù)據(jù)寫入第一磁盤鏡像區(qū)中預(yù)留的多個(gè)磁盤的空閑塊中,能夠充分利用各磁盤的讀寫能力,在進(jìn)行數(shù)據(jù)重建和恢復(fù)時(shí),磁盤陣列中數(shù)據(jù)讀寫過程是多對(duì)多的關(guān)系,避免了熱點(diǎn),可以大大提高磁盤陣列的故障恢復(fù)效率,縮短故障恢復(fù)時(shí)間。
以上對(duì)本發(fā)明所提供的一種磁盤陣列數(shù)據(jù)備份方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。