两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于raid備份的數(shù)據(jù)處理方法及裝置的制造方法

文檔序號:9349831閱讀:539來源:國知局
基于raid備份的數(shù)據(jù)處理方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及存儲技術領域,尤其涉及基于RAID備份的數(shù)據(jù)處理方法及裝置。
【背景技術】
[0002] RAID (Redundant Arrays of Independent Disks,獨立冗余磁盤陣列)陣列在長 時間使用時,會因振動、腐蝕或磁盤本身的機械故障等影響,出現(xiàn)磁盤無法被識別,或者出 現(xiàn)無法容錯的介質故障,導致陣列失效。陣列失效的時候,該陣列上的業(yè)務完全中斷,對業(yè) 務連續(xù)性要求較高的應用來說,這是不可接受的。業(yè)務中斷,對用戶的影響可能非常大,甚 至帶來很大的損失。
[0003] 業(yè)界有很多的技術來提供陣列失效的備份,保證業(yè)務的連續(xù)性,如鏡像、復制軟件 等基于業(yè)務層面的N+M備份等。
[0004] 鏡像軟件進行的備份方式為,當需要通過LUN(Logical Unit Number,邏輯單元 號)層向業(yè)務RAID陣列寫入數(shù)據(jù)時,在LUN層就將接收到的數(shù)據(jù)進行鏡像,在LUN層配置 一個大小完全相同的鏡像副本實現(xiàn)數(shù)據(jù)的備份。復制軟件進行的備份方式則是配置一個跟 原LUN層完全相同大小的本地或遠端LUN,業(yè)務寫入的時候,原LUN會將數(shù)據(jù)同時復制到本 地或遠程LUN。
[0005] 在必須使用與業(yè)務RAID陣列相同大小的RAID陣列/邏輯資源作為備份空間進行 鏡像、復制,對備份陣列的大小要求嚴格,同時只有故障的RAID陣列會用到備份空間,沒有 故障的RAID陣列的備份空間是閑置的,不能被共享,造成存儲資源的浪費。
[0006] 因此,現(xiàn)有的備份技術存在備份空間利用率低下的問題。

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

[0007] 為了解決現(xiàn)有技術備份存在的利用率低下的問題,本發(fā)明提供了一種基于RAID 層面?zhèn)浞莸臄?shù)據(jù)處理方法。
[0008] -種基于RAID備份的數(shù)據(jù)處理方法,包括:
[0009] 設定至少一個RAID陣列作為備份陣列;
[0010] 當向業(yè)務RAID陣列發(fā)送數(shù)據(jù)處理命令時,判斷所述數(shù)據(jù)處理命令對應的RAID條 帶是否失效,在失效的情況下查找所述失效的RAID條帶到所述備份陣列中數(shù)據(jù)塊的映射 關系,并在找到所述映射關系后在備份陣列的對應數(shù)據(jù)塊中執(zhí)行數(shù)據(jù)處理命令。
[0011] 業(yè)務RAID陣列為用于業(yè)務處理的非備份RAID陣列。失效的RAID條帶根據(jù)映射關 系映射到備份空間中,多個業(yè)務RAID陣列通過建立映射關系可共享一個備份陣列,對備份 陣列的大小沒有嚴格限制,只有失效的RAID條帶會將數(shù)據(jù)備份在備份陣列中,其他正常的 RAID條帶可正常使用,因此極大地提高了備份空間的利用率;且上層下發(fā)的對失效的RAID 條帶進行的數(shù)據(jù)處理命令可直接在備份空間中進行,上層不會感知,不需要進行上層的處 理。
[0012] 在建立映射關系后,需要將失效RAID條帶與備份陣列中的數(shù)據(jù)塊之間的映射關 系進行保存,以便進行失效RAID條帶對應的數(shù)據(jù)塊的查找。
[0013] 進一步而言,所述失效RAID條帶與對應數(shù)據(jù)塊的映射關系存于映射關系表中,每 個具有失效RAID條帶的業(yè)務RAID陣列對應一張映射關系表。
[0014]映射關系表記錄原失效RAID條帶和備份陣列數(shù)據(jù)塊的對應關系。備份陣列與失 效陣列不是一一對應的,可能只有部分RAID條帶失效需要重新映射,沒有失效的條帶還是 在原陣列中提供數(shù)據(jù)訪問,失效條帶重新映射到備份空間,從備份空間中訪問。映射關系表 位于內(nèi)存中,可以通過LBA地址為索引進行查找。
[0015] 進一步而言,所述數(shù)據(jù)處理命令為數(shù)據(jù)寫入命令,在查找所述映射關系時,如果所 述映射關系不存在,則先在所述備份陣列中查找空閑的數(shù)據(jù)塊,再建立所述失效RAID條帶 與所述空閑數(shù)據(jù)塊之間的映射關系。
[0016] 如果映射關系表中不存在失效RAID條帶對應的備份陣列數(shù)據(jù)塊,則表明當前數(shù) 據(jù)寫入命令為當前RAID條帶失效后首次進行數(shù)據(jù)寫入,因此此時要去備份陣列中尋找空 閑的數(shù)據(jù)塊并建立對應的映射關系存入映射關系表中。其中映射關系表保存在內(nèi)存中,每 次內(nèi)存掉電重啟都會丟失內(nèi)容,因此,每次在映射關系表中增加映射關系后,均對備份陣列 的頭部信息更新保存相應的映射關系。在內(nèi)存上電重啟后,均進行備份陣列的頭部信息掃 描以重新生成映射關系表。
[0017] 進一步而言,與失效RAID條帶具有映射關系的數(shù)據(jù)塊被劃分為多個空間,對應 地,所述映射關系表包含:失效RAID條帶的起始LBA地址、備份陣列中對應失效RAID條帶 的數(shù)據(jù)塊起始LBA地址以及對應數(shù)據(jù)塊各空間的比特位,每個比特位用于表示對應的數(shù)據(jù) 塊空間是否被占用。
[0018] 映射關系表中包含了失效RAID條帶及其對應數(shù)據(jù)塊兩者的LBA地址,且通過表 示各空間的比特位將數(shù)據(jù)塊的占用情況進行記錄保存。由于每個數(shù)據(jù)塊被劃分為若干個 空間,因此從下發(fā)的數(shù)據(jù)處理命令中存在的失效RAID條帶中的LBA地址中,可以根據(jù)失效 RAID條帶起始LBA地址與備份陣列數(shù)據(jù)塊的起始LBA地址的對應關系,以及被劃分的數(shù)據(jù) 塊空間大小,得到在數(shù)據(jù)塊中對應的數(shù)據(jù)塊空間位置(相當于對應數(shù)據(jù)處理命令中LBA地 址的數(shù)據(jù)塊LBA地址),從而進行相應位置的數(shù)據(jù)寫入。并且由于數(shù)據(jù)塊空間由各比特位表 示,因此易于知道各空間的占用情況。
[0019] 進一步而言,所述數(shù)據(jù)寫入命令包括待寫入數(shù)據(jù)的LBA地址,向對應失效RAID條 帶的數(shù)據(jù)塊執(zhí)行數(shù)據(jù)寫入命令的方法包括:
[0020] 根據(jù)失效RAID條帶起始LBA地址與備份陣列數(shù)據(jù)塊的起始LBA地址的對應關系, 以及被劃分的數(shù)據(jù)塊空間大小得到待寫入數(shù)據(jù)在備份陣列中所在數(shù)據(jù)塊空間的位置;
[0021] 如果待寫入的數(shù)據(jù)塊為空閑數(shù)據(jù)塊,則在寫入數(shù)據(jù)后將對應的比特位狀態(tài)從未占 用更改為已占用;如果待寫入的數(shù)據(jù)塊已寫入數(shù)據(jù)時,根據(jù)比特位狀態(tài)判斷待寫入數(shù)據(jù)的 數(shù)據(jù)塊空間是否已被占用:如果是,則用待寫入數(shù)據(jù)更新已寫入的數(shù)據(jù);否則,將待寫入數(shù) 據(jù)寫入到數(shù)據(jù)塊空間中并在寫入數(shù)據(jù)后將對應的比特位狀態(tài)從未占用更改為已占用。
[0022] 如果待寫入的數(shù)據(jù)塊是新建立的空閑數(shù)據(jù)塊,則各數(shù)據(jù)塊空間未被占用,比特位 均為未占用狀態(tài),直接寫入即可,并在寫入以后更改比特位狀態(tài)為已占用;如果映射關系在 先前已經(jīng)建立,則表示已有數(shù)據(jù)寫入的命令,數(shù)據(jù)塊中存在被占用的數(shù)據(jù),此時,被占用的 數(shù)據(jù)塊空間所表示的比特位為已占用狀態(tài),如果數(shù)據(jù)寫入命令中對應LBA地址的數(shù)據(jù)塊空 間位置為已占用狀態(tài),則對應地將待寫入的數(shù)據(jù)用來更新已寫入的數(shù)據(jù)塊空間,比特位狀 態(tài)不需要進行更改;如果對應的數(shù)據(jù)塊空間位置未被占用,則與空閑數(shù)據(jù)塊的數(shù)據(jù)寫入方 法一樣。
[0023] 進一步而言,在查找所述映射關系時先查找是否存在對應的映射關系表,如果不 存在,則在查找到所述空閑數(shù)據(jù)塊并建立所述映射關系時建立所述映射關系表。
[0024] 映射關系表是保存在內(nèi)存中的,只有在RAID條帶失效并進行數(shù)據(jù)寫入時才進行 建立,可以減少內(nèi)存占用。
[0025] 進一步而言,所述數(shù)據(jù)讀取命令包括待讀取數(shù)據(jù)的LBA地址,向對應失效RAID條 帶的數(shù)據(jù)塊執(zhí)行數(shù)據(jù)讀取命令的方法包括:根據(jù)失效RAID條帶起始LBA地址與備份陣列數(shù) 據(jù)塊的起始LBA地址的對應關系,以及被劃分的數(shù)據(jù)塊空間大小得到待讀取的數(shù)據(jù)命令在 備份陣列中所在數(shù)據(jù)塊空間的對應位置并讀取對應位置的數(shù)據(jù)。
[0026] 數(shù)據(jù)讀取命令包含LBA地址,在RAID條帶失效的情況下直接從映射關系表中找 到對應的數(shù)據(jù)塊,根據(jù)命令中的LBA地址,通過失效RAID條帶起始LBA地址與數(shù)據(jù)塊起始 LBA地址的對應關系,換算出所要讀取的數(shù)據(jù)所在數(shù)據(jù)塊位置進行相應的讀取,上層也不會 感知到讀取位置的變化。
[0027] 本發(fā)明還提供了一種數(shù)據(jù)處理裝置,用于實施本發(fā)明方法,以解決備份空間利用 率低下的問題。
[0028] 一種基于RAID備份的數(shù)據(jù)處理裝置,包括:
[0029] 備份陣列設定單元,設定至少一個RAID陣列作為備份陣列;
[0030] 備份數(shù)據(jù)處理單元,當向業(yè)務RAID陣列發(fā)送數(shù)據(jù)處理命令時,判斷所述數(shù)據(jù)處理 命令對應的RAID條帶是否失效,在失效的情況下查找所述失效的RAID條帶到所述備份陣 列中數(shù)據(jù)塊的映射關系,并在找到所述映射關系后在備份陣列的對應數(shù)據(jù)塊中執(zhí)行數(shù)據(jù)處 理命令。
[0031] 失效的RAID條帶根據(jù)映射關系映射到備份空間中,多個業(yè)務RAID陣列通過建立 映射關系可共享一個備份陣列,對備份陣列的大小沒有嚴格限制,只有失效的RAID條帶會 將數(shù)據(jù)備份在備份陣列中,其他正常的RAID條帶可正常使用,因此極大地提高了備份空間 的利用率;且上層下發(fā)的對失效的RAID條帶進行的數(shù)據(jù)處理命令可直接在備份空間中進 行,上層不會感知,不需要進行上層的處理。
[0032] 在建立映射關系后,需要將失效RAID條帶與備份陣列中的數(shù)據(jù)塊之間的映射關 系進行保存,以便進行失效RAID條帶對應的數(shù)據(jù)塊的查找。
[0033] 進一步而言,備份數(shù)據(jù)處理單元還包括用于生成映射關系表的映射關系表生成子 單元,所述失效RAID條帶與對應數(shù)據(jù)塊的映射關系存于映射關系表中,每個具有失效RAID 條帶的業(yè)務RAID
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
礼泉县| 泗阳县| 中西区| 星座| 延川县| 林周县| 都匀市| 聊城市| 兴安县| 洪洞县| 衢州市| 漳州市| 武陟县| 怀集县| 旬邑县| 宜州市| 霍邱县| 普兰店市| 西乌| 达日县| 杨浦区| 互助| 遂川县| 衡东县| 垫江县| 色达县| 河北区| 新建县| 孟村| 平舆县| 周宁县| 静乐县| 民丰县| 灵璧县| 武威市| 郯城县| 仙桃市| 双桥区| 台北县| 富裕县| 上饶市|