欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種raid陣列轉(zhuǎn)換的方法及裝置的制作方法

文檔序號:6773693閱讀:138來源:國知局
專利名稱:一種raid陣列轉(zhuǎn)換的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種RAID陣列轉(zhuǎn)換的方法及 裝置。
背景技術(shù)
RAID (Redundant Array of Independent Disks,獨立》茲盤冗余陣列)作為 高性能、高可靠的存儲技術(shù),已經(jīng)得到了廣泛的應(yīng)用。RAID將一系列單獨的 磁盤以不同的方式組合起來,為 一個應(yīng)用主機或主機集群提供一個邏輯磁盤。 RAID技術(shù)利用多個磁盤的組合擴大磁盤容量,并提高數(shù)據(jù)讀寫速度和安全 性,例如,當(dāng)一塊或多塊》茲盤出現(xiàn)故障時,能夠依靠其他》茲盤中的數(shù)據(jù)計算 出丟失的數(shù)據(jù)。
RAID技術(shù)經(jīng)過不斷發(fā)展,現(xiàn)在已擁有了從RAIDO到RAID5的6種明 確標(biāo)準(zhǔn)級別的RAID。另夕卜,還有RAID6、 RAID7、 RAID10 ( RAID 1與RAID 0的組合)、RAID01 (RAID 0與RAID 1的組合)、RAID30 ( RAID 3與RAID 0的組合)、RAID50 (RAID 0與RAID 5的組合)等。
其中RAID1陣列是鏡^J茲盤陣列,由2塊磁盤組成,如圖1所示。其中 一塊磁盤作為主》茲盤,另一塊磁盤作為鏡像磁盤,系統(tǒng)中的RAID控制器通 過I(輸入)/0(輸出)口向主磁盤和鏡像磁盤寫數(shù)據(jù),當(dāng)兩塊磁盤的數(shù)據(jù)都 寫完后向RAID控制器發(fā)送確認(rèn)消息,表示寫操作結(jié)束;RAID控制器可以通 過主磁盤或鏡像磁盤讀取數(shù)據(jù),當(dāng)其中一塊磁盤損壞時,可以從RAID1陣列 的另 一塊磁盤上讀出數(shù)據(jù)。
雖然RAID1陣列可以對數(shù)據(jù)進(jìn)行冗余保護(hù),但是RAID1陣列的可用空間 利用率只有50%,并且RAID1陣列大小不能超過l個磁盤的空間大小,當(dāng)存 儲空間需求擴大,或者磁盤空間利用率需要提高時,可以應(yīng)用RAID5陣列。
在一個具有n個(例如5個,如圖2所示)磁盤的RAID5陣列組織形式中,每n-l個block (數(shù)據(jù)塊)產(chǎn)生一個Pn (奇偶校驗塊),并且這n個塊(n-l 個數(shù)據(jù)塊和1個奇偶校驗塊)分別存儲于不同的磁盤上。其中, 一個奇偶校 驗塊通過n-l個數(shù)據(jù)塊按位異或獲得, 一個奇偶校驗塊和計算出該奇偶校驗塊 的n-l個數(shù)據(jù)塊稱為奇偶校驗組, 一個奇偶校驗組中的任何塊可以從該奇偶校 驗組中其他塊計算出來。因此,RAID5陣列的空間利用率為(n-l)/n,其中 n為磁盤數(shù),隨著磁盤數(shù)n的增加,RAID5陣列的空間利用率也會隨之增大。 并且RAID5陣列是^"條帶(Stripe)進(jìn)行數(shù)據(jù)讀寫,條帶是陣列的不同分區(qū)上 的位置相關(guān)的strip的集合,是組織不同分區(qū)上條塊的單位。
有時為了適應(yīng)現(xiàn)實應(yīng)用的需求,例如,提高磁盤利用率時,需要對RAID 陣列進(jìn)行陣列間的轉(zhuǎn)換,將原來的一種RAID (例如RAID1)級別,轉(zhuǎn)換成另 外一種RAID (例如RAID5)級別,并且不損失任何數(shù)據(jù)內(nèi)容。RAID陣列做 陣列轉(zhuǎn)換有兩種方式, 一種是將數(shù)據(jù)遷移到新磁盤組成的新陣列中,另一種 是將數(shù)據(jù)遷移到原RAID1 ^f茲盤和新磁盤組成的新陣列中,如圖3所示。
當(dāng)RAID1陣列轉(zhuǎn)換為RAID5陣列時,需要把RAID1陣列的所有數(shù)據(jù)全 部遷移到原RAID1》茲盤和新石茲盤組成的新RAID5陣列中的石茲盤上,如圖4 所示,具體包括RAID控制器讀出RAID1中的數(shù)據(jù),依次寫到原RAID1磁 盤和新磁盤組成的新RAID5陣列中。
因為在陣列轉(zhuǎn)換的過程中需要數(shù)據(jù)遷移,并且RAID陣列地址需要重新 計算,所以需要很長時間。若在陣列轉(zhuǎn)換過程中對RAID1有數(shù)據(jù)讀寫時,需 要對RAID1的主磁盤和鏡像磁盤都進(jìn)行讀寫操作,由于有RAID1陣列到 RAID5陣列的數(shù)據(jù)遷移(無論從主磁盤還是鏡像磁盤進(jìn)行數(shù)據(jù)遷移),讀寫操 作必須等待數(shù)據(jù)遷移完成后才能進(jìn)行,會很大的影響在線業(yè)務(wù)的性能,并且 如果在陣列轉(zhuǎn)換的過程中終止RAID陣列的數(shù)據(jù)遷移,無法恢復(fù)成原先的 RAID1陣列。

發(fā)明內(nèi)容
本發(fā)明提供了 一種RAID陣列轉(zhuǎn)換的方法及裝置,以不影響RAID陣列轉(zhuǎn) 換過程中的在線業(yè)務(wù)性能。本發(fā)明提供了一種RAID陣列轉(zhuǎn)換的方法,應(yīng)用于包括RAID控制器、 RAID1主磁盤、RAID1鏡傳"磁盤和新》茲盤的裝置中,所述方法包4舌以下步驟
所述RAID控制器設(shè)置所述RAID1鏡像》茲盤為源數(shù)據(jù)盤,所述RAID1 主磁盤為提供在線業(yè)務(wù)讀寫的磁盤;
所述RAID控制器將所述RAID1鏡像磁盤的數(shù)據(jù)作為源數(shù)據(jù)遷移到 RAID5陣列,且不對所述RAID1主磁盤的數(shù)據(jù)進(jìn)行遷移,預(yù)留RAID1主磁 盤對應(yīng)的RAID5陣列邏輯地址;
所述RAID控制器確定所述RAID1鏡傳J茲盤的數(shù)據(jù)作為源數(shù)據(jù)遷移到 RAID5陣列完成后,對所述RAID1主^f茲盤物理地址與所述預(yù)留的RAID5陣 列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏輯地址編址, 完成陣列轉(zhuǎn)換。
其中,在將所述RAID1鏡像磁盤的數(shù)據(jù)遷移到RAID5陣列過程中,還包

所述RAID控制器對所述RAID1主磁盤和鏡像磁盤進(jìn)行異步鏡像。 其中,所述對RAID1主磁盤和鏡<|^茲盤進(jìn)行異步鏡像,具體包括 所述RAID控制器設(shè)置并維護(hù)數(shù)據(jù)修改邏輯地址表,所述數(shù)據(jù)修改邏輯
地址表用于記錄數(shù)據(jù)遷移過程中所述RAID1主磁盤中在線業(yè)務(wù)的變化數(shù)據(jù); 所述RAID控制器檢測到所述RAID主磁盤業(yè)務(wù)流量不會影響在線業(yè)務(wù)
時,通過查找所述數(shù)據(jù)修改邏輯地址表,將所述RAID1主磁盤的變化數(shù)據(jù)同
步到RAID5陣列。
其中,所述通過查找所述數(shù)據(jù)修改邏輯地址表,將所述RAID1主磁盤的 變化數(shù)據(jù)同步到RAID5陣列,具體包括
若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁盤中的數(shù)據(jù)已遷移到RAID5陣列 中,則將所述變化數(shù)據(jù)遷移到所述RAID5陣列中;
若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡{^磁盤中的數(shù)據(jù)還未同步到RAID5陣列 中,則將所述變化數(shù)據(jù)同步到所述RAID1鏡傳"磁盤中。
其中,所述對RAID1主磁盤物理地址與所述預(yù)留的RAID5陣列邏輯地址 進(jìn)行映射,具體為所述主/f茲盤的物理地址與RAID5陣列邏輯地址L的映射關(guān)系為 主磁盤的物理地址=(n畫l ) * (L% (m/ ( n畫l ))) - ( L- ( m/ (n-l))) / ( m/ (n-l));
其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條帶數(shù), m為RAID陣列總共的條帶數(shù);
若根據(jù)上述公式算出主磁盤的物理地址的結(jié)果小于等于0,則 主磁盤的物理地址=(n-l) * (m/ (n-l)) - (L/ ( m/ (n-l)) -1)。
本發(fā)明還提供了一種RAID陣列轉(zhuǎn)換的裝置,包括RAID控制器、RAID1 主磁盤、RAIDl鏡^fl^茲盤和新磁盤,所述RAID控制器具體包括
設(shè)置模塊,用于設(shè)置所述RAID1鏡像磁盤為源數(shù)據(jù)盤,所述RAID1主磁 盤為提供在線業(yè)務(wù)讀寫的磁盤;
遷移模塊,與所述設(shè)置模塊連接,用于將所述RAID1鏡像磁盤的數(shù)據(jù)作 為源數(shù)據(jù)遷移到RAID5陣列,且不對所述RAID1主磁盤的數(shù)據(jù)進(jìn)行遷移,預(yù) 留RAID1主》茲盤對應(yīng)的RAID5陣列邏輯地址;
映射模塊,與所述遷移模塊連接,用于在確定所述RAID1鏡像磁盤的數(shù) 據(jù)遷移到RAID5陣列完成后,對所述RAID1主^f茲盤中的物理地址與所述預(yù)留 的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏 輯地址編址,完成陣列轉(zhuǎn)換。
其中,還包括
異步鏡像模塊,與所述遷移模塊連接,用于在將所述RAID1鏡像磁盤的 數(shù)據(jù)遷移到RAID5陣列過程中對所述RAID1主石茲盤和鏡像磁盤進(jìn)行異步鏡 像。
其中,所述異步鏡像模塊包括
邏輯地址表設(shè)置子模塊,用于所述RAID控制器設(shè)置并維護(hù)數(shù)據(jù)修改邏 輯地址表,所述數(shù)據(jù)修改邏輯地址表用于記錄數(shù)據(jù)遷移過程中所述RAID1主 磁盤中在線業(yè)務(wù)的變化數(shù)據(jù);
檢測子模塊,與所述邏輯地址表設(shè)置子模塊連接,用于檢測所述RAID主磁盤業(yè)務(wù)流量是否影響在線業(yè)務(wù);
同步子模塊,與所述檢測子模塊連接,用于檢測所述RAID主磁盤業(yè)務(wù) 流量不影響在線業(yè)務(wù)時,通過查找所述數(shù)據(jù)修改邏輯地址表,將所述RAID1 主磁盤的變化數(shù)據(jù)同步到RAID5陣列。
其中,所述同步子模塊,具體用于若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁 盤中的數(shù)據(jù)已遷移到RAID5陣列中,則將所述變化數(shù)據(jù)遷移到所述RAID5 陣列中;若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁盤中的數(shù)據(jù)還未同步到RAID5 陣列中,則將所述變化數(shù)據(jù)同步到所述RAID1鏡像磁盤中。
其中,所述遷移^^塊中,所述主/f茲盤的物理地址與RAID5陣列邏輯地址L 的映射關(guān)系為
主磁盤的物理地址=(n-l ) * (L% (m/ (n畫l))) - ( L- ( m/ ( n-l))) / (m/ (n疆l));
其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條帶數(shù), m為RAID陣列總共的條帶數(shù);
若根據(jù)上述公式算出主磁盤的物理地址的結(jié)果小于等于0,則 主磁盤的物理地址=(n-l) * (m/ (n-l)) - (L/ (m/ (n-l)) -1)。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
本發(fā)明中,RAID1陣列轉(zhuǎn)換為RAID5陣列時,RAID1的主》茲盤負(fù)責(zé)在線 業(yè)務(wù),RAID1的鏡像磁盤負(fù)責(zé)數(shù)據(jù)遷移,且RAID1主磁盤與RAID1鏡像磁 盤功能分離,因此,本發(fā)明可以不影響陣列的在線業(yè)務(wù)性能,并且可以加快 RAID陣列的轉(zhuǎn)換速度。


圖1是現(xiàn)有技術(shù)中RAID1陣列示意圖2是現(xiàn)有技術(shù)中RAID5陣列示意圖3是現(xiàn)有技術(shù)中陣列轉(zhuǎn)換類型示意圖4是現(xiàn)有技術(shù)中RAID1->RAID5陣列轉(zhuǎn)換示意圖5是本發(fā)明中一種RAID陣列轉(zhuǎn)換的方法流程圖;圖6是本發(fā)明中鏡l象盤數(shù)據(jù)同步到新陣列示意圖7是本發(fā)明中陣列轉(zhuǎn)換流程圖8是本發(fā)明中陣列轉(zhuǎn)換過程示意圖9是本發(fā)明中一種RAID陣列轉(zhuǎn)換的裝置結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明的核心思想是RAID1陣列轉(zhuǎn)換為RAID5陣列,需要將數(shù)據(jù)遷移 到RAID1磁盤和新磁盤上。使用RAID1陣列的鏡像磁盤作為源數(shù)據(jù)盤,提供 陣列重建的數(shù)據(jù)源,RAID1陣列的主磁盤作為業(yè)務(wù)盤,提供在線業(yè)務(wù)讀寫; 維護(hù)在線業(yè)務(wù)的數(shù)據(jù)修改邏輯地址表,用于記錄主磁盤中在線業(yè)務(wù)的數(shù)據(jù)修 改或增加;在數(shù)據(jù)遷移過程中,原RAID1的主磁盤的數(shù)據(jù)不進(jìn)行遷移,預(yù)留 RAID1主,茲盤對應(yīng)的RAID5陣列邏輯地址;確定RAID1鏡傳J茲盤的數(shù)據(jù)遷 移到RAID5陣列完成后,對所述RAID1主^f茲盤物理地址與所述預(yù)留的RAID5 陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏輯地址編 址,完成陣列轉(zhuǎn)換。并且在陣列轉(zhuǎn)換過程中,RAID1的主磁盤與鏡像磁盤之 間做異步鏡像,當(dāng)主磁盤沒有業(yè)務(wù)或者業(yè)務(wù)流量很小,不會影響在線業(yè)務(wù)時, 通過查找上述數(shù)據(jù)修改邏輯地址表,同步主 ^f茲盤上修改的在線業(yè)務(wù)數(shù)據(jù)到鏡 像磁盤。本發(fā)明中,由于主磁盤負(fù)責(zé)在線業(yè)務(wù),鏡像磁盤負(fù)責(zé)數(shù)據(jù)遷移,且 主磁盤與鏡像磁盤功能分離,因此,本發(fā)明不影響磁盤陣列的在線業(yè)務(wù)性能, 進(jìn)而加快RAID陣列的轉(zhuǎn)換速度。
本發(fā)明提供了一種RAID陣列轉(zhuǎn)換的方法,應(yīng)用于包括RAID控制器、 RAID1主磁盤、RAID1鏡像磁盤和新磁盤的裝置中,所述方法如圖5所示, 包括以下步驟
步驟501,所述RAID控制器設(shè)置所述RAID1鏡像i茲盤為源數(shù)據(jù)盤,所 述RAID1主磁盤為提供在線業(yè)務(wù)讀寫的磁盤。
步驟502,所述RAID控制器將所述RAID1鏡像磁盤的數(shù)據(jù)作為源數(shù)據(jù) 遷移到RAID5陣列,且不對所述RAID1主^茲盤的數(shù)據(jù)進(jìn)行遷移,預(yù)留RAID1 主磁盤對應(yīng)的RAID5陣列邏輯地址。其中,在將所述RAID1鏡像磁盤的數(shù)據(jù)遷移到RAID5陣列過程中,還包括所述RAID控制器對所述RAID1主磁盤 和鏡^^茲盤進(jìn)行異步鏡像,具體包括所述RAID控制器設(shè)置并維護(hù)數(shù)據(jù)修 改邏輯地址表,所述數(shù)據(jù)修改邏輯地址表用于記錄數(shù)據(jù)遷移過程中所述 RAID1主磁盤中在線業(yè)務(wù)的變化數(shù)據(jù);所述RAID控制器4全測到所述RAID 主磁盤業(yè)務(wù)流量不會影響在線業(yè)務(wù)時,通過查找所述數(shù)據(jù)修改邏輯地址表, 將所述RAID1主磁盤的變化數(shù)據(jù)同步到RAID5陣列。
步驟503,所述RAID控制器確定所述RAID1鏡像磁盤的數(shù)據(jù)作為源數(shù) 據(jù)遷移到RAID5陣列完成后,對所述RAID1主》茲盤中的物理地址與所述預(yù)留 的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏 輯地址編址,完成陣列轉(zhuǎn)換。
本發(fā)明中,RAID1轉(zhuǎn)換為RAID5時,陣列重建的數(shù)據(jù)遷移過程如圖6所 示。其中新增的磁盤可以是1個、2個或者多個,把新陣列的總磁盤數(shù)算做n 塊,那么新增的磁盤數(shù)為n-2個。本實施例中以新增3個^茲盤為例進(jìn)行說明, 新陣列包括5塊磁盤,其中兩塊是原RAID1陣列磁盤,3塊是新磁盤,圖6 中1、 2、 3、 5、 6、 7等代表條帶上每個block (數(shù)據(jù)塊)的編號,例如,l代 表blockl; Pl、 P2、 P3等代表每個條帶的奇偶校驗塊。
RAID1轉(zhuǎn)換為RAID5陣列轉(zhuǎn)換過程如圖7所示,包括以下步驟
步驟701, RAID控制器指定用于新陣列的磁盤。對于RAID5陣列,新陣 列磁盤包括原RAID1陣列的主磁盤、鏡像磁盤和新增磁盤。
步驟702, RAID控制器根據(jù)RAID5陣列的條帶深度,把RAID1陣列中 的主磁盤和鏡像磁盤都按相同的block大小進(jìn)行邏輯劃分,劃分為n個block, 其中,條帶深度為條帶中分塊block的大小,例如,每個block的大小為10kbit。
RAID控制器對新陣列進(jìn)行RAID陣列邏輯地址編址,先預(yù)留RAID1陣 列中主磁盤的RAID陣列邏輯地址,暫不對主磁盤進(jìn)行數(shù)據(jù)遷移,然后將 RAID1陣列的主磁盤作為在線業(yè)務(wù)磁盤,進(jìn)行在線業(yè)務(wù)數(shù)據(jù)的訪問,即RAID 控制器只對RAID1陣列的主磁盤進(jìn)行數(shù)據(jù)讀寫操作。
接著,每次從RAID1陣列的鏡像磁盤上讀取n-l個數(shù)據(jù)塊,計算出校驗 和Pn,把校驗和Pn和讀取的數(shù)據(jù)塊寫入到新陣列條帶中的數(shù)據(jù)塊中;并且,在寫入數(shù)據(jù)的過程中,校驗和Pn只寫在鏡像磁盤和新增磁盤上,主磁盤上不 放任何的校驗和Pn和數(shù)據(jù)塊,如圖8中的"第一步"所示。其中,第n-l倍 數(shù)的數(shù)據(jù)塊暫時不寫入到新陣列中,例如,在圖5中有5個》茲盤,則4倍數(shù) 的數(shù)據(jù)塊暫時不寫入到新陣列中。
步驟703, RAID控制器監(jiān)測RAID1陣列主磁盤的1/0流量,判斷主磁盤 是否沒有業(yè)務(wù)讀寫或業(yè)務(wù)流量較小,如果是,則步驟704,否則轉(zhuǎn)步驟707。 檢測過程具體包括RAID控制器定時或?qū)崟r4企測RAID1陣列主》茲盤的I/O 流量,如果在預(yù)設(shè)周期內(nèi)沒有數(shù)據(jù)寫入或讀出,則說明沒有業(yè)務(wù)讀寫,如果 在預(yù)設(shè)周期內(nèi)寫入或讀出的數(shù)據(jù)量小于預(yù)設(shè)值,則說明業(yè)務(wù)流量較小,該預(yù) 設(shè)值根據(jù)不同業(yè)務(wù)類型的業(yè)務(wù)流量設(shè)定,即對于某種類型的業(yè)務(wù),在該預(yù)設(shè) 值以下的流量不會對業(yè)務(wù)造成影響。
步驟704,當(dāng)主磁盤沒有業(yè)務(wù)或者業(yè)務(wù)流量很小不會影響在線業(yè)務(wù)時,通 過查找數(shù)據(jù)修改邏輯地址表,確定在線業(yè)務(wù)的數(shù)據(jù)修改或增加的塊編號,判 斷主磁盤中修改的數(shù)據(jù)塊是否已遷移到新陣列中,如果是,則轉(zhuǎn)步驟706,否 則,轉(zhuǎn)步驟705。上述數(shù)據(jù)修改邏輯地址表是在陣列轉(zhuǎn)換過程中形成的,用于 記錄主磁盤中在線業(yè)務(wù)的數(shù)據(jù)修改或增加的塊編號,該數(shù)據(jù)修改邏輯地址表 可以由RAID控制器存儲到內(nèi)存中,也可以存儲到新陣列中的新磁盤或原 RAID1磁盤的保留區(qū)域中,該保留區(qū)對于讀寫數(shù)據(jù)操作是隱藏的。
步驟705,若修改數(shù)據(jù)已轉(zhuǎn)換到新陣列中,將修改或新增數(shù)據(jù)直接同步到 鏡像磁盤中,轉(zhuǎn)步驟707。
步驟706,若修改數(shù)據(jù)已轉(zhuǎn)換到新陣列中,將改變的數(shù)據(jù)塊同步到新陣列 中,轉(zhuǎn)步驟707。
步驟707,從鏡^^茲盤中讀取數(shù)據(jù)塊,進(jìn)行新陣列創(chuàng)建。具體為將鏡像 磁盤中數(shù)據(jù)塊l、 2、 3遷移到新陣列中的條帶1;將鏡傳^茲盤中數(shù)據(jù)塊5、 6、 7遷移到新陣列中的條帶2;將鏡^^茲盤中數(shù)據(jù)塊9、 10、 ll遷移到新陣列中 的條帶3;將鏡像磁盤中數(shù)據(jù)塊13、 14、 15遷移到新陣列中的條帶4,依次 類推。將鏡^^茲盤中數(shù)據(jù)塊1、 2、 3、 4的校驗和P1放到條帶1中;將鏡像 磁盤中數(shù)據(jù)塊5、 6、 7、 8的校驗和P2放到條帶2中;將鏡像磁盤中數(shù)據(jù)塊9、10、 11、 12的校驗和P3放到條帶3中;將鏡像磁盤中數(shù)據(jù)塊13、 14、 15、 16的校驗和P4放到條帶4中,依次類推。其中,這些數(shù)據(jù)塊只存儲在新磁盤 及鏡像磁盤中,不存儲到主磁盤中。
步驟708,判斷^t據(jù)遷移是否完成,如果未完成,則繼續(xù)步驟704,知道 將鏡像磁盤中n個數(shù)據(jù)塊都遷移到新陣列中,如果完成,則轉(zhuǎn)步驟709。
步驟709,根據(jù)預(yù)留的RAID陣列邏輯地址與數(shù)據(jù)修改邏輯地址表,進(jìn)行 主》茲盤中的物理地址與邏輯地址對應(yīng)編碼,完成陣列轉(zhuǎn)換。
當(dāng)鏡像磁盤中的數(shù)據(jù)全部轉(zhuǎn)換到新陣列中后,把在第2步中預(yù)留的RAID 陣列邏輯地址與主》茲盤中的物理地址,按公式(1)生成地址關(guān)系
(n-l) * (L% (m/ (n畫l))) - (L- (m/ (n-l))) / (m/ (n-l)) (1)
其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條帶數(shù), m為RAID陣列總共的條帶數(shù)。
若根據(jù)公式(1)計算出的結(jié)果小于等于O,則使用公式(2)進(jìn)行RAID 陣列邏輯地址與主石茲盤中的物理地址的映射;
(n-l) * (m/ (n-l)) - ( L/( m/( n-l)) -1 ) (2)
舉例如圖6所示,RAID5陣列有5個磁盤,貝'J n=5;假設(shè)RIAD5陣列 總共有10000個條帶,則111=10000;假設(shè)要在主磁盤上要編址的是RAID5陣 列的第一個條帶,則1^1,要編址的是RAID5陣列的第IOO個條帶,則L-IOO。
按公式(1)可得(n誦l) =4、 (m/ (n誦l)) =10000/4 = 2500;
a、 要編址第RAID5陣列的第1個條帶L=l,才艮據(jù)公式(1)得出的結(jié)果

4* (1%2500) -| ( 1-2500) |/2500=4* 1-0=4;
即RAID5陣列的第1個條帶邏輯地址對應(yīng)主^茲盤的第4個物理地址塊;
b、 要編址第RAID5陣列的第2501個條帶L-2501,根據(jù)公式得出的結(jié) 果為
4* (2501%2500) -| (2501-2500) |/2500=4* 1-1=3;
即RAID5陣列的第2501個條帶邏輯地址對應(yīng)主》茲盤上的第3個物理地址塊;
c、 要編址第RAID5陣列的第2500個條帶L=2500,才艮據(jù)^>式得出的結(jié) 果為
4* ( 2500%2500 ) -| (2500-2500 ) |/2500=4*0-0=0;
使用公式(2 )可得(n-l ) * ( m/ ( n-l )) - ( L/ ( m/ ( n-l )) -1 ) =4* (10000/4) - (2500/ ( 10000/4)誦l) =4*2500-0=10000;
即RAID5陣列的第2500個條帶邏輯地址對應(yīng)主》茲盤上的第10000個物 理地址塊;
d、 要編址第RAID5陣列的第5000個條帶L=5000,根據(jù)公式得出的結(jié) 果為
4* (5000%2500) -| (5000-2500) |/2500=4*0-1=-1;
使用公式(2)可得(n-l ) * (m/ (n-l )) - (L/ ( m/ U畫l ))) =4*2500-(5000/ ( 10000/4) -1 ) =10000-1=9999;
即RAID5陣列的第5000個條帶邏輯地址對應(yīng)主石茲盤上的第9999個物理 地址塊;
依次類推,直到RAID1->RAID5陣列轉(zhuǎn)換成功,轉(zhuǎn)換后的RAID5陣列數(shù) 據(jù)分布如圖8中的"第二步"所示。
本發(fā)明提供了一種RAID陣列轉(zhuǎn)換的裝置,如圖9所示,包括RAID控制 器910、 RAID1主磁盤920、 RAID1鏡像磁盤930和新磁盤940,所述RAID 控制器910具體包括
設(shè)置模塊911,用于設(shè)置RAID1鏡像磁盤930為源數(shù)據(jù)盤,RAID1主磁 盤920為提供在線業(yè)務(wù)讀寫的石茲盤;
遷移模塊912,與設(shè)置模塊911連接,用于將RAID1鏡像磁盤930的數(shù) 據(jù)作為源數(shù)據(jù)遷移到RAID5陣列,且不對RAID1主磁盤920的數(shù)據(jù)進(jìn)行遷移, 預(yù)留RAID1主磁盤對應(yīng)的RAID5陣列邏輯地址。RAID1主磁盤920的物理 地址與RAID5陣列邏輯地址L的映射關(guān)系為
主磁盤的物理地址=(n-l) * (L% (m/ (n-l))) - (L- (m/ (n-l))) / (m/(n-l));其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條
帶數(shù),m為RAID陣列總共的條帶數(shù);
若根據(jù)上述公式算出主磁盤的物理地址的結(jié)果小于等于0,則 主磁盤的物理地址=(n-l) * (m/ (n-l)) - (L/ (m/ (n-l )) -1 )。 映射模塊913,與遷移模塊連接912,用于在確定RAID1鏡^f^磁盤930
的數(shù)據(jù)作為源數(shù)據(jù)遷移到RAID5陣列完成后,對所述RAID1主》茲盤中的物理
地址與所述預(yù)留的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)映射關(guān)系對RAID1
主磁盤進(jìn)行邏輯地址編址,陣列轉(zhuǎn)換。
異步鏡像4莫塊914,與遷移模塊912連接,用于在將RAID1鏡傳」磁盤930
的數(shù)據(jù)遷移到RAID5陣列過程中對所述RAID1主磁盤920和鏡像磁盤930
進(jìn)行異步鏡像。
其中,異步鏡像才莫塊914包括邏輯地址表設(shè)置子模塊,用于RAID設(shè) 置并維護(hù)數(shù)據(jù)修改邏輯地址表,數(shù)據(jù)修改邏輯地址表用于記錄數(shù)據(jù)遷移過程 中所述RAID1主磁盤920中在線業(yè)務(wù)的變化數(shù)據(jù);檢測子模塊,與邏輯地址 表設(shè)置子模塊連接,用于檢測RAID主磁盤920業(yè)務(wù)流量是否影響在線業(yè)務(wù); 同步子模塊,與檢測子模塊連接,用于檢測RAID主磁盤920業(yè)務(wù)流量不影 響在線業(yè)務(wù)時,通過查找數(shù)據(jù)修改邏輯地址表,將所述RAID1主磁盤920的 變化數(shù)據(jù)同步到RAID5陣列。
同步子模塊,具體用于若變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁盤930中的數(shù)據(jù) 已遷移到RAID5陣列中,則將變化數(shù)據(jù)遷移到RAID5陣列中;若變化數(shù)據(jù)對 應(yīng)的RAID1鏡^fl^茲盤930中的數(shù)據(jù)還未同步到RAID5陣列中,則將變化數(shù)據(jù) 同步到所述RAID1鏡H磁盤930中。
本發(fā)明中,RAID1陣列轉(zhuǎn)換為RAID5陣列時,RAID1的主磁盤負(fù)責(zé)在線 業(yè)務(wù),RAID1的鏡像磁盤負(fù)責(zé)數(shù)據(jù)遷移,且RAID1主磁盤與RAID1鏡《l^茲 盤功能分離,因此,本發(fā)明可以不影響陣列的在線業(yè)務(wù)性能,并且可以加快 RAID陣列的轉(zhuǎn)換速度。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟
件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計算初"殳備(可以是個人計算機,服 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的 模塊或流程并不一定是實施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述 進(jìn)行分布于實施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施例的一 個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆 分成多個子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實施例的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種RAID陣列轉(zhuǎn)換的方法,應(yīng)用于包括RAID控制器、RAID1主磁盤、RAID1鏡像磁盤和新磁盤的裝置中,其特征在于,所述方法包括以下步驟所述RAID控制器設(shè)置所述RAID1鏡像磁盤為源數(shù)據(jù)盤,所述RAID1主磁盤為提供在線業(yè)務(wù)讀寫的磁盤;所述RAID控制器將所述RAID1鏡像磁盤的數(shù)據(jù)作為源數(shù)據(jù)遷移到RAID5陣列,且不對所述RAID1主磁盤的數(shù)據(jù)進(jìn)行遷移,預(yù)留RAID1主磁盤對應(yīng)的RAID5陣列邏輯地址;所述RAID控制器確定所述RAID1鏡像磁盤的數(shù)據(jù)遷移到RAID5陣列完成后,對所述RAID1主磁盤物理地址與所述預(yù)留的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏輯地址編址,完成陣列轉(zhuǎn)換。
2、 如權(quán)利要求1所述的方法,其特征在于,在將所述RAID1鏡像磁盤 的數(shù)據(jù)作為源數(shù)據(jù)遷移到RAID5陣列過程中,還包括所述RAID控制器對所述RAID1主磁盤和鏡像磁盤進(jìn)行異步鏡像。
3、 如權(quán)利要求2所述的方法,其特征在于,所述對RAID1主磁盤和鏡 像磁盤進(jìn)行異步鏡像,具體包括所述RAID控制器設(shè)置并維護(hù)數(shù)據(jù)修改邏輯地址表,所述數(shù)據(jù)修改邏輯 地址表用于記錄數(shù)據(jù)遷移過程中所述RAID1主磁盤中在線業(yè)務(wù)的變化數(shù)據(jù);所述RAID控制器檢測到所述RAID主磁盤業(yè)務(wù)流量不會影響在線業(yè)務(wù) 時,通過查找所述數(shù)據(jù)修改邏輯地址表,將所述RAID1主磁盤的變化數(shù)據(jù)同 步到RAID5陣列。
4、 如權(quán)利要求3所述的方法,其特征在于,所述通過查找所述數(shù)據(jù)修改 邏輯地址表,將所述RAID1主f茲盤的變化數(shù)據(jù)同步到RAID5陣列,具體包括若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁盤中的數(shù)據(jù)已遷移到RAID5陣列 中,則將所述變化數(shù)據(jù)遷移到所述RAID5陣列中;若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡像磁盤中的數(shù)據(jù)還未同步到RAID5陣列 中,則將所述變化數(shù)據(jù)同步到所述RAID1鏡像磁盤中。
5、 如權(quán)利要求3所述的方法,其特征在于,所述對RAID1主磁盤物理 地址與所述預(yù)留的RAID5陣列邏輯地址進(jìn)行映射,具體為所述主》茲盤的物理地址與RAID5陣列邏輯地址L的映射關(guān)系為 主磁盤的物理地址- (n-l ) * (L% (m/ (n-l ))) - ( L- (m/ (n-l ))) / (m/ (n-l));其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條帶數(shù), m為RAID陣列總共的條帶數(shù);若根據(jù)上述公式算出主磁盤的物理地址的結(jié)果小于等于0,則 主磁盤的物理地址=(n-l ) * (m/ (n-l )) - (L/ (m/ (n-l )) -1 )。
6、 一種RAID陣列轉(zhuǎn)換的裝置,包括RAID控制器、RAID1主磁盤、RAID1 鏡^^茲盤和新/磁盤,其特征在于,所述RAID控制器具體包括設(shè)置模塊,用于設(shè)置所述RAID1鏡像磁盤為源數(shù)據(jù)盤,所述RAID1主磁 盤為提供在線業(yè)務(wù)讀寫的磁盤;遷移模塊,與所述設(shè)置模塊連接,用于將所述RAID1鏡像磁盤的數(shù)據(jù)作 為源數(shù)據(jù)遷移到RAID5陣列,且不對所述RAID1主磁盤的數(shù)據(jù)進(jìn)行遷移,預(yù) 留RAID1主》茲盤對應(yīng)的RAID5陣列邏輯地址;映射模塊,與所述遷移模塊連接,用于在確定所述RAID1鏡像磁盤的數(shù) 據(jù)作為源數(shù)據(jù)遷移到RAID5陣列完成后,對所述RAID1主^f茲盤物理地址與所 述預(yù)留的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤 進(jìn)行邏輯地址編址,完成陣列轉(zhuǎn)換。
7、 如權(quán)利要求6所述的裝置,其特征在于,還包括 異步鏡像模塊,與所述遷移模塊連接,用于在將所述RAID1鏡像磁盤的數(shù)據(jù)遷移到RAID5陣列過程中對所述RAID1主磁盤和鏡像磁盤進(jìn)行異步鏡 像。
8、 如權(quán)利要求7所述的裝置,其特征在于,所述異步鏡像模塊包括 邏輯地址表設(shè)置子模塊,用于設(shè)置并維護(hù)數(shù)據(jù)修改邏輯地址表,所述數(shù)據(jù)修改邏輯地址表用于記錄數(shù)據(jù)遷移過程中所述RAID1主磁盤中在線業(yè)務(wù)的變化數(shù)據(jù);檢測子模塊,與所述邏輯地址表設(shè)置子模塊連接,用于檢測所述RAID 主磁盤業(yè)務(wù)流量是否影響在線業(yè)務(wù);同步子模塊,與所述檢測子模塊連接,用于檢測所述RAID主磁盤業(yè)務(wù) 流量不影響在線業(yè)務(wù)時,通過查找所述數(shù)據(jù)修改邏輯地址表,將所述RAID1 主磁盤的變化數(shù)據(jù)同步到RAID5陣列。
9、 如權(quán)利要求8所述的裝置,其特征在于,所述同步子模塊,具體用于 若所述變化數(shù)據(jù)對應(yīng)的RAID1鏡傳"磁盤中的數(shù)據(jù)已遷移到RAID5陣列中,則 將所述變化數(shù)據(jù)遷移到所述RAID5陣列中;若所述變化數(shù)據(jù)對應(yīng)的RAID1 鏡傳」磁盤中的數(shù)據(jù)還未同步到RAID5陣列中,則將所述變化數(shù)據(jù)同步到所述 RAID1鏡^f象》茲盤中。
10、 如權(quán)利要求6所述的裝置,其特征在于,所述遷移模塊中,所述主 磁盤的物理地址與RAID5陣列邏輯地址L的映射關(guān)系為主磁盤的物理地址=(n-l ) * ( L°/。 ( m/ (n-l ))) - ( L- ( m/ ( n國l ))) / ( m/ (n-l));其中,n為轉(zhuǎn)換后的RAID陣列包含的磁盤數(shù),L為編址的RAID條帶數(shù), m為RAID陣列總共的條帶數(shù);若根據(jù)上述公式算出主磁盤的物理地址的結(jié)果小于等于O,則 主磁盤的物理地址=(n-l ) * (m/ (n-l )) - (L/ (m/ (n-l )) -1 )。
全文摘要
本發(fā)明公開了一種RAID陣列轉(zhuǎn)換的方法,包括RAID控制器設(shè)置RAID1鏡像磁盤為源數(shù)據(jù)盤,所述RAID1主磁盤提供在線業(yè)務(wù)讀寫;RAID控制器將RAID1鏡像磁盤的數(shù)據(jù)作為源數(shù)據(jù)遷移到RAID5陣列,且不對RAID1主磁盤的數(shù)據(jù)進(jìn)行遷移,預(yù)留RAID1主磁盤對應(yīng)的RAID5陣列邏輯地址,RAID控制器確定RAID1鏡像磁盤的數(shù)據(jù)遷移到RAID5陣列完成后,對所述RAID1主磁盤物理地址與所述預(yù)留的RAID5陣列邏輯地址進(jìn)行映射,根據(jù)所述映射關(guān)系對RAID1主磁盤進(jìn)行邏輯地址編址,完成陣列轉(zhuǎn)換。因此,本發(fā)明可以不影響陣列的在線業(yè)務(wù)性能,并且可以加快RAID陣列的轉(zhuǎn)換速度。
文檔編號G11B5/00GK101556802SQ200910143730
公開日2009年10月14日 申請日期2009年5月25日 優(yōu)先權(quán)日2009年5月25日
發(fā)明者鄭萍萍 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇安县| 房产| 北京市| 灵丘县| 黄大仙区| 秦皇岛市| 南和县| 亚东县| 宝山区| 田林县| 新闻| 民勤县| 哈巴河县| 涿州市| 昌吉市| 鹤壁市| 泰和县| 清徐县| 葫芦岛市| 荃湾区| 崇义县| 广元市| 科尔| 雷波县| 孝义市| 巴彦淖尔市| 辽宁省| 玛多县| 浦县| 新野县| 乳源| 平潭县| 锦屏县| 临澧县| 沧州市| 上饶市| 蓬莱市| 黄浦区| 和政县| 南丹县| 高清|