Raid的元數(shù)據(jù)的處理方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及RAID領域,具體來說,涉及一種RAID的元數(shù)據(jù)的處理方法和裝置。
【背景技術】
[0002]存儲系統(tǒng)是計算機系統(tǒng)的重要組成部分,尤其是在當前海量數(shù)據(jù)的情況下,對存儲系統(tǒng)提出了更高的要求。獨立冗余磁盤陣列(RAID:Redundant Arrays of InexpensiveDisks)是存儲系統(tǒng)中必不可少的技術之一,是保證數(shù)據(jù)能夠高速安全存儲的關鍵。而元數(shù)據(jù)機制是軟件RAID實現(xiàn)的關鍵技術,其布局策略直接影響到數(shù)據(jù)的安全性。
[0003]現(xiàn)在的Linux系統(tǒng)中的RAID元數(shù)據(jù)布局采用分散機制,即將元數(shù)據(jù)記錄分散到每個RAID成員磁盤中,在創(chuàng)建RAID時候,就將元數(shù)據(jù)寫入每塊成員磁盤的指定的偏移位置,每次發(fā)生重大事件時會更新該部分元數(shù)據(jù)。圖1給出了現(xiàn)有的元數(shù)據(jù)布局策略,RAIDl的元數(shù)據(jù)寫在RAIDl成員磁盤前部分的扇區(qū)中,RAID2的元數(shù)據(jù)寫在RAID2的成員磁盤的前部分扇區(qū)中,依次類推,RAIDn的元數(shù)據(jù)寫在RAIDn的成員磁盤前部分扇區(qū)中。
[0004]但是通過上述磁盤布局來對RAID的元數(shù)據(jù)進行處理會存在以下問題:1、信息丟失問題,當系統(tǒng)中某個RAID磁盤都被拔掉后,整個系統(tǒng)將會丟失該RAID的所有信息,這對整個磁盤陣列系統(tǒng)來說會造成困擾;2、數(shù)據(jù)安全性問題,RAID保存的數(shù)據(jù)全靠元數(shù)據(jù)來記錄,如果磁盤的記錄元數(shù)據(jù)的刪除損壞,RAID的數(shù)據(jù)就會讀取失敗,將導致數(shù)據(jù)安全性受到威脅。
[0005]針對相關技術中的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0006]針對相關技術中的上述問題,本發(fā)明提出一種RAID的元數(shù)據(jù)的處理方法和裝置,能夠提尚RAID的兀數(shù)據(jù)存儲的安全性和可靠性。
[0007]本發(fā)明的技術方案是這樣實現(xiàn)的:
[0008]根據(jù)本發(fā)明的一個方面,提供了一種RAID的元數(shù)據(jù)的處理方法。
[0009]該處理方法包括:
[0010]根據(jù)用戶指令選擇系統(tǒng)中的多個磁盤分別作為關鍵盤,其中,關鍵盤用于存儲RAID的元數(shù)據(jù)信息;
[0011]對用戶選擇的多個磁盤進行格式化處理;
[0012]將RAID的元數(shù)據(jù)信息存儲至關鍵盤。
[0013]其中,關鍵盤至少包括系統(tǒng)標識區(qū)域,用于存儲系統(tǒng)標識信息;數(shù)據(jù)統(tǒng)計區(qū)域,用于存儲元數(shù)據(jù)的統(tǒng)計信息;元數(shù)據(jù)區(qū)域,用于存儲系統(tǒng)中所有RAID的成員磁盤的元數(shù)據(jù)信息。
[0014]其中,元數(shù)據(jù)區(qū)域包括多個元數(shù)據(jù)子區(qū)域,用于存儲對應不同RAID的成員磁盤的元數(shù)據(jù)信息。
[0015]其中,在將RAID的元數(shù)據(jù)信息存儲至關鍵盤時,可通過在關鍵盤的元數(shù)據(jù)區(qū)域查找空閑空間;從而將RAID的每個成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲。
[0016]此外,在將RAID的每個成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲時,可通過讀取RAID的每個成員磁盤的系統(tǒng)標識區(qū)域中的數(shù)據(jù),在未讀取到系統(tǒng)標識信息的情況下,在該成員磁盤的系統(tǒng)標識區(qū)域寫入成員磁盤的標記信息,將該成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲。
[0017]可選的,該處理方法進一步包括:
[0018]在接收到刪除RAID的指令的情況下,在關鍵盤中確定對應該RAID的元數(shù)據(jù)信息并清除;
[0019]清除RAID的成員磁盤的系統(tǒng)標識區(qū)域的信息。
[0020]根據(jù)本發(fā)明的另一方面,提供了一種RAID的元數(shù)據(jù)的處理裝置。
[0021]該處理裝置包括:
[0022]選擇模塊,用于根據(jù)用戶指令選擇系統(tǒng)中的多個磁盤分別作為關鍵盤,其中,關鍵盤用于存儲RAID的元數(shù)據(jù)信息;
[0023]格式化模塊,用于對用戶選擇的多個磁盤進行格式化處理;
[0024]存儲模塊,用于將RAID的元數(shù)據(jù)信息存儲至關鍵盤。
[0025]其中,關鍵盤至少包括系統(tǒng)標識區(qū)域,用于存儲系統(tǒng)標識信息;數(shù)據(jù)統(tǒng)計區(qū)域,用于存儲元數(shù)據(jù)的統(tǒng)計信息;元數(shù)據(jù)區(qū)域,用于存儲系統(tǒng)中所有RAID的成員磁盤的元數(shù)據(jù)信息。
[0026]其中,元數(shù)據(jù)區(qū)域包括多個元數(shù)據(jù)子區(qū)域,用于存儲對應不同RAID的成員磁盤的元數(shù)據(jù)信息。
[0027]此外,該存儲模塊包括:
[0028]查找模塊,用于在關鍵盤的元數(shù)據(jù)區(qū)域查找空閑空間;
[0029]存儲子模塊,用于將RAID的每個成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲。
[0030]本發(fā)明通過將系統(tǒng)中所有的RAID的元數(shù)據(jù)信息統(tǒng)一組織,并存儲在多個相同的關鍵盤中,使得多個關鍵盤存儲的元數(shù)據(jù)信息完全相同,從而提高RAID的元數(shù)據(jù)存儲的安全性和可靠性。
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1是根據(jù)現(xiàn)有技術的RAID的元數(shù)據(jù)的布局示意圖;
[0033]圖2是根據(jù)本發(fā)明實施例的RAID的元數(shù)據(jù)的處理方法的流程圖;
[0034]圖3是根據(jù)本發(fā)明實施例的RAID的元數(shù)據(jù)的布局示意圖;
[0035]圖4是根據(jù)本發(fā)明實施例的RAID的元數(shù)據(jù)的處理裝置的框圖。
【具體實施方式】
[0036]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0037]根據(jù)本發(fā)明的實施例,提供了一種RAID的元數(shù)據(jù)的處理方法。
[0038]如圖1所示,根據(jù)本發(fā)明實施例的RAID的元數(shù)據(jù)的處理方法包括:
[0039]步驟S101,根據(jù)用戶指令選擇系統(tǒng)中的多個磁盤分別作為關鍵盤,其中,關鍵盤用于存儲RAID的元數(shù)據(jù)信息;
[0040]步驟S103,對用戶選擇的多個磁盤進行格式化處理;
[0041]步驟S105,將RAID的元數(shù)據(jù)信息存儲至關鍵盤。
[0042]其中,在一個實施例中,關鍵盤至少包括系統(tǒng)標識區(qū)域,用于存儲系統(tǒng)標識信息;數(shù)據(jù)統(tǒng)計區(qū)域,用于存儲元數(shù)據(jù)的統(tǒng)計信息;元數(shù)據(jù)區(qū)域,用于存儲系統(tǒng)中所有RAID的成員磁盤的元數(shù)據(jù)信息。
[0043]其中,在一個實施例中,元數(shù)據(jù)區(qū)域可包括多個元數(shù)據(jù)子區(qū)域,用于存儲對應不同RAID的成員磁盤的元數(shù)據(jù)信息。
[0044]其中,在一個實施例中,在將RAID的元數(shù)據(jù)信息存儲至關鍵盤時,可通過在關鍵盤的元數(shù)據(jù)區(qū)域查找空閑空間;從而將RAID的每個成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲。
[0045]此外,在另一個實施例中,在將RAID的每個成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲時,可通過讀取RAID的每個成員磁盤的系統(tǒng)標識區(qū)域中的數(shù)據(jù),在未讀取到系統(tǒng)標識信息的情況下,在該成員磁盤的系統(tǒng)標識區(qū)域寫入成員磁盤的標記信息,將該成員磁盤的元數(shù)據(jù)信息在空閑區(qū)域順序存儲。
[0046]可選的,根據(jù)本發(fā)明實施例的處理方法進一步包括:
[0047]在接收到刪除RAID的指令的情況下,在關鍵盤中確定對應該RAID的元數(shù)據(jù)信息并清除;
[0048]清除RAID的成員磁盤的系統(tǒng)標識區(qū)域的信息。
[0049]為了更好的理解本發(fā)明的上述技術方案,下面結合圖3所示的RAID的元數(shù)據(jù)的布局示意圖來對本發(fā)明的上述技術方案進行詳細闡述。
[0050]根據(jù)本發(fā)明的全局元數(shù)據(jù)布局將系統(tǒng)中所有磁盤劃分為全局元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū)兩部分,前者存放raid的元數(shù)據(jù)信息,后者存放用戶寫入的數(shù)據(jù),本發(fā)明主要是對全局元數(shù)據(jù)區(qū)進行操作,該部分對用戶來說是不可見的。全局元數(shù)據(jù)區(qū)劃分為三部分,稱為label區(qū),summary區(qū)和specific區(qū),其中l(wèi)abel區(qū)存放了標記了系統(tǒng)信息的系統(tǒng)標識,分配PkB空間,以區(qū)別于其他陣列的磁盤插入到本系統(tǒng)中,smnmary區(qū)存放了元數(shù)據(jù)的匯總信息包括磁盤柜信息,全局熱備盤信息,分配QkB空間。Specific區(qū)存放了系統(tǒng)中所有raid的成員磁盤的元數(shù)據(jù)信息,每個磁盤元數(shù)據(jù)分配XKB大小的空間,每個raid分配Y個成員磁盤,系統(tǒng)中支持N個raid,specific區(qū)共分配X*Y*N大小空間。系