新四季網

一種基於軟raid支持無分組式全局熱備盤的磁碟陣列系統的製作方法

2023-09-14 02:55:40

專利名稱:一種基於軟raid支持無分組式全局熱備盤的磁碟陣列系統的製作方法
技術領域:
本發明涉及一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,屬於計算機數據存儲領域。
背景技術:
在大容量數據存儲領域,通常採用各種類型的RAID搭建基礎架構,進行數據存儲,RAID是Redundant Arrays of Independent Disks的縮寫,稱作獨立磁碟冗餘陣列,簡稱磁碟陣列。比較常用的RAID有狀100、狀101、狀105和狀106等。其中RAIDO主要是為了提高讀寫性能,不具有冗餘能力。其它RAID則具有不同程度的數據冗餘=RAIDl對磁碟做了鏡像,冗餘度達到50%,某個磁碟損壞時可以利用另一個鏡像磁碟進行重建;RAID5的每個條帶含有I個校驗塊,支持任意損壞其中一個磁碟、通過其它磁碟上的奇偶校驗塊來重建數據;RAID6的每個條帶含有2個校驗塊,支持任意損壞其中兩個磁碟、通過其它磁碟上的奇偶校驗塊來重建數據。對於這些冗餘RAID,當出現的壞盤個數在允許的範圍內時,不會丟失有效數據,但會導致系統性能的下降,此時可以人工操作,將損壞的磁碟替換出來,換成好的磁碟進行數據重建;然而,如果損壞的磁碟不能被及時替換,或者同時出現的壞盤個數超過了該冗餘RAID允許的壞盤數,便會發生數據丟失,此時再對壞盤進行替換已經於事無補了,為避免這種情況的發生,可以設置熱備盤。磁碟陣列系統包含I個或多個RAID。熱備盤是磁碟陣列系統中空閒、但處於加電待機狀態的磁碟。熱備盤分為本地熱備盤(Local Spare Drive)和全局熱備盤(GlobalSpare Drive)兩種,本地熱備盤僅負責單個RAID,全局熱備盤則負責多個RAID組成的組。全局熱備盤能夠實現多個RAID間的熱備盤共享,並儘可能節約成本。熱備盤在容量上要不小於該熱備盤負責的RAID中容量最小的成員盤。當RAID中某個成員盤損壞後,熱備盤能夠自動代替損壞的磁碟,並把 原來存儲在該損壞磁碟上的數據重建到熱備盤上,重建成功後,熱備盤就轉變成該RAID的一個成員盤,保證了 RAID的性能和數據完整性。軟RAID是把若干磁碟,根據使用方向的不同,聚合起來成為一個大的虛擬RAID設備,如果每個磁碟容量不一致,以最小容量的磁碟為基礎。軟RAID在實現上需要作業系統的支持,在Linux作業系統中,軟RAID是通過「mdadm」來創建和管理的。「mdadm」是一個專門用來創建和管理軟RAID的軟體,在大多數Linux系統中已經默認安裝。在安裝了 mdadm的Linux作業系統中,最常用的創建RAID的方法是使用mdadm的「-C」或「-create」參數來創建。該方法在創建RAID時,會將RAID成員盤或者熱備盤上特定位置開始4KB大小的空間設置為超級塊(superblocks),並把RAID的信息寫入到每個成員的超級塊(superblocks)中,RAID的信息包括RAID的級別、包含的成員,以及RAID的UUID等。RAID創建成功後,為方便管理,通常將RAID的主要配置信息記錄在「/etc」目錄下一個名為「mdadm.conf」的配置文件中,該配置文件需要實時更新,以便反映系統當前的RAID狀況;RAID狀況包括RAID的級別、當前狀態和包含的成員盤等信息;RAID的當前狀態,包括初始化狀態、rebuilding、online、warning、critical、offline等,其中,初始化狀態表示正在進行初始化,即應用mdadm創建RAID的過程!rebuilding表示正在進行重建,即利用熱備盤對RAID中的壞盤進行替換;online是初始化完成,可以正常使用的狀態;warning、critical、offline狀態表示該RAID存在問題,比如,三塊磁碟建立的RAID5,初始化完成後,為online狀態,而其中一塊硬碟發生物理故障時,該RAID為critical狀態,但仍可繼續使用,若有兩塊磁碟發生故障,該RAID會變為offline狀態,無法繼續使用,warning狀態只有在RAID6中才有,四塊磁碟建立一個RAID6,有一塊磁碟發生故障是warning狀態,兩塊磁碟故障是critical,三塊故障則是offline狀態。在已有的基於軟RAID的磁碟陣列系統中,能夠正常使用的物理磁碟可以擔當兩種角色:要麼參與某個RAID的構建,作為成員盤或本地熱備盤,是RAID的成員;要麼處於空閒狀態,是空閒磁碟,不參與任何RAID的構建。判斷某塊磁碟處於什麼狀態,較為直接且可靠的判斷方法是通過判斷超級塊中是否存儲了有效的超級塊結構體實例,即可獲知磁碟的當前狀態。即:如果某磁碟的超級塊中存儲了有效的超級塊結構體實例,則該磁碟為RAID的成員盤或本地熱備盤;如果某磁碟的超級塊中不包含有效的超級塊結構體實例,則該磁碟為空閒磁碟。這是因為:在mdadm內部定義了一個超級塊結構體,該結構體的首個成員是一個固定長度和內容的數據,作為判斷超級塊結構體的依據,一旦某塊磁碟參與了軟RAID的創建,就會由mdadm負責,將這塊磁碟上特定位置開始的4KB空間預留出來作為該磁碟的超級塊存放區域,並利用所創建RAID的必要配置信息在內存中維護一個超級塊結構體的實例,然後以指定的特定位置為起始位置,將該結構體的實例保存到該磁碟的超級塊存放區域;磁碟處於空閒狀態時,該特定位置開始的4KB空間,也就是這塊磁碟的超級塊存放區域,一般不會存放有效信息,也就不會出現超級塊結構體的實例。在已有的基於軟RAID的磁碟陣列系統中,全局熱備盤是針對某個RAID組進行設置的,即將幾個RAID組成一個組,為該組設置全局熱備盤,這樣,該組內任何一個RAID的成員盤出現問題時,都可以自動使用全局熱備盤進行數據重建。在軟RAID環境中,從實現途徑上來說,設置的全局熱備盤需要將RAID所屬的組信息記錄在「mdadm.conf」配置文件中,這雖然方便了管理,但藉助某個配置`文件對全局熱備盤進行管理,存在以下問題:①「mdadm.conf」配置文件屬於作業系統的配置文件,在磁碟的整體遷移過程中,配置文件不會隨之遷移,從而導致設置的全局熱備盤的應用可靠性較低、也不利於數據遷移。②當基於軟RAID的磁碟陣列系統中有多個RAID組時,一個全局熱備盤僅能為其負責的組內的RAID成員盤負責,不能實現不同RAID組間全局熱備盤的共享。③從底層實現機制上來講,軟RAID中不存在嚴格意義上的全局熱備盤,針對多個RAID構成的組而設置的全局熱備盤,在底層實現時其實是被當作組內某個RAID的本地熱備盤,當組內某個RAID的成員盤損壞時,首先查看該RAID是否有本地熱備盤,如果有,則利用本地熱備盤進行重建,如果沒有本地熱備盤,再查看該RAID所屬組是否有全局熱備盤,如果有,需要先將全局熱備盤從其所在的RAID中移除,再設置為產生壞盤的RAID的本地熱備盤,進而進行數據重建。

發明內容
本發明的目的是針對目前已有的基於軟RAID的磁碟陣列系統在全局熱備盤的設置和實現上存在的不足,提出一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統。
一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,包括:1個或多個RAID、1個或多個空閒磁碟、0個或I個以上全局熱備盤、系統盤和存儲作業系統。所述RAID是在Linux作業系統中,使用mdadm軟體的「-C」或「-create」參數完成創建,並由mdadm進行管理;所述RAID成員的超級塊中存有超級塊結構體實例,超級塊結構體實例的首個成員是一個固定長度和內容的數據,稱為RAID成員標誌位。所述RAID為冗餘RAID。所述系統盤與每個RAID、全局熱備盤以及空閒磁碟連接;系統盤內存儲的內容包括但不限於:對RAID進行管理的存儲作業系統和應用程式。所述存儲作業系統存儲於系統盤,是一個擴充了內核的Linux作業系統,包括:人機互動模塊、全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊。所述人機互動模塊的功能 是為用戶提供發送全局熱備盤創建指令、全局熱備盤檢索指令、全局熱備盤刪除指令以及輸入要刪除的全局熱備盤名稱的界面;人機互動模塊還輸出全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊的操作結果。所述全局熱備盤創建模塊的功能是在接收到人機互動模塊發來的全局熱備盤創建指令以後,為所述磁碟陣列系統創建一個全局熱備盤,並將創建結果發送給人機互動模塊。所述全局熱備盤檢索模塊的功能是在接收到人機互動模塊發來的全局熱備盤檢索指令或者在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索指令以後,產生一個全局熱備盤列表,並將檢索結果發送給人機互動模塊。所述全局熱備盤刪除模塊的功能是在接收到人機互動模塊發來的全局熱備盤刪除指令和要刪除的全局熱備盤名稱以後,清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊。所述RAID壞盤檢測處理模塊的功能是:①定時檢測所述磁碟陣列系統中內所有RAID的狀態,RAID的狀態包括:初始化狀態、rebuilding狀態、online狀態、warning狀態、critical狀態、off line狀態等;當發現某個RAID處於critical狀態(該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數),並且該RAID沒有本地熱備盤時,向全局熱備盤檢索模塊發送全局熱備盤檢索信號;②當RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表時,從全局熱備盤列表中選擇一個在容量上不小於包含壞盤的RAID中容量最小的成員盤的全局熱備盤,對壞盤進行替換,並向人機互動模塊發送壞盤修復完成信息。本發明提出的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的各功能模塊的連接關係為:存儲作業系統和應用程式存儲在系統盤上,系統盤安裝在本發明提出的基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統內部,系統盤與所有RAID、全局熱備盤以及空閒磁碟連接;人機互動模塊分別與全局熱備盤創建模塊、全局熱備盤刪除模塊、全局熱備盤檢索模塊、RAID壞盤檢測處理模塊連接;全局熱備盤創建模塊分別與人機互動模塊、所有RAID、全部全局熱備盤以及空閒磁碟連接;全局熱備盤刪除模塊分別與人機互動模塊、全部全局熱備盤以及空閒磁碟連接;全局熱備盤檢索模塊分別與RAID壞盤檢測處理模塊、人機互動模塊、所有RAID、全局熱備盤以及空閒磁碟連接;RAID壞盤檢測處理模塊分別與全局熱備盤檢索模塊、人機互動模塊、所有RAID、全局熱備盤以及空閒磁碟連接。本發明提出的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的工作流程包括全局熱備盤創建流程、全局熱備盤列表查看流程、RAID壞盤檢測處理流程和全局熱備盤刪除流程。全局熱備盤創建流程包括第1.1步至第1.3步,具體為:第1.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤創建模塊發送全局熱備盤創建指令;第1.2步:全局熱備盤創建模塊依據所述磁碟陣列系統內所有RAID成員盤的超級塊中存放的內容,計算出全局熱備盤的最小容量要求;優選的,計算全局熱備盤的最小容量要求的步驟包括第1.2.1步至第1.2.2步,具體為:
第1.2.1步:統計出所述磁碟陣列系統內所有RAID成員盤中容量最小的成員盤的
容量值;第1.2.2步:從第1.2.1步中獲得的結果中,找出最大值作為全局熱備盤的最小容
量要求。第1.3步:全局熱備盤創建模塊查找出所述磁碟陣列系統內處於空閒狀態的磁碟,並從中選擇一個容量不小於全局熱備盤最小容量要求的磁碟,在該空閒磁碟上設置超級塊,空閒磁碟上超級塊的起始地址與RAID成員的超級塊的起始地址相同;然後從該空閒磁碟的超級塊的起始地址開始存放全局熱備盤標誌位,將其創建為全局熱備盤,並將操作結果發送給人機互動模塊。所述全局熱備盤標誌位是一個預先設定的固定長度和內容的數據,其與所述磁碟陣列系統中RAID成員的超級塊中的RAID成員標誌位的內容不同。全局熱備盤列表查看流程包括第2.1步至第2.2步,具體為:第2.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤檢索模塊發送全局熱備盤檢索指令;第2.2步:全局熱備盤檢索模塊接收到全局熱備盤檢索指令後,產生全局熱備盤列表,並發送給人機互動模塊;所述產生全局熱備盤列表的方法為:從所述磁碟陣列系統中每個磁碟的超級塊的起始地址開始,讀取全局熱備盤標誌位長度的內容,如果其為全局熱備盤標誌位,則將該塊磁碟的名稱加入到全局熱備盤列表中。優選的,所述產生全局熱備盤列表的方法為:每次要產生全局熱備盤列表時,重新生成同名的全局熱備盤列表,然後從所述磁碟陣列系統中每個磁碟的超級塊的起始地址開始讀取全局熱備盤標誌位長度的內容,如果其為全局熱備盤標誌位,則將該塊磁碟的名稱加入到全局熱備盤列表中。RAID壞盤檢測處理流程包括第3.1步至第3.4步,具體為:第3.1步:在磁碟陣列系統正常運行過程中,RAID壞盤檢測處理模塊定時對所述磁碟陣列系統內所有RAID的狀態進行監測;第3.2步:RAID壞盤檢測處理模塊一旦發現某個RAID處於critical狀態(該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數),並且該RAID沒有本地熱備盤時,發送全局熱備盤檢索信號到全局熱備盤檢索模塊;第3.3步:全局熱備盤檢索模塊在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索信號以後,產生全局熱備盤列表,並發送給RAID壞盤檢測處理模塊;第3.4步:RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表後,從全局熱備盤列表中選擇一個在容量上不小於處於critical狀態的RAID中容量最小的成員盤的全局熱備盤,使用該全局熱備盤對處於critical狀態的RAID中的壞盤進行替換,由mdadm改寫全局熱備盤上超級塊存放區域的內容,然後執行數據重建,替換成功後向人機互動模塊發送處於critical狀態的RAID修復完成信息。全局熱 備盤刪除流程包括第4.1步至第4.2步,具體為:第4.1步:在磁碟陣列系統正常運行過程中,用戶通過人機互動模塊發送全局熱備盤刪除信號和要刪除的全局熱備盤名稱到全局熱備盤刪除模塊;第4.2步:全局熱備盤刪除模塊清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊。有益效果本發明提出的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統與目前已有的磁碟陣列系統相比較具有以下優點:(I)無需配置文件,便於數據遷移。一般軟RAID方式實現的磁碟陣列中,全局熱備盤負責的RAID組等相關信息需要記錄在名為「mdadm.conf」的配置文件中,該文件屬於作業系統的配置文件,在磁碟的整體遷移過程中,配置文件不會隨之遷移,從而導致設置的全局熱備盤的應用可靠性較低、也不利於數據遷移,而本發明中直接對全局熱備盤的超級塊存放區域進行操作,只要磁碟遷移前後的存儲作業系統版本相同,就可以直接使用。(2)可以實現全局熱備盤在所有RAID間的共享使用。一般採用軟RAID的磁碟陣列中有多個RAID組時,設置的全局熱備盤僅能為該組內的RAID成員盤負責,採用本發明設置的全局熱備盤,可以供磁碟陣列系統當前所有的RAID共享使用。(3)實現了軟RAID環境下真正意義上的全局熱備盤。從底層實現機制上來講,在一般軟RAID環境中不存在嚴格意義上的全局熱備盤,針對多個RAID構成的組而設置的全局熱備盤,在底層實現時其實是被當作組內某個RAID的本地熱備盤,而本發明設置的全局熱備盤在未被使用前完全獨立於具體的RAID,只有在某個RAID內出現需要用全局熱備盤替換的壞盤時,才會在容量符合重建要求的前提下,被具體的RAID使用。


圖1為本發明具體實施例中的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的體系結構示意圖。
具體實施例方式下面結合附圖和具體實施例,對本發明做進一步的詳細描述。本發明的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,其結構如圖1所示,包括:RAID1、RAID5、RAID6各I個,2個空閒磁碟、I個全局熱備盤以及系統盤、存儲作業系統。所述RAIDl、RAID5、RAID6是在Linux作業系統中,使用3.1.2版本的mdadm軟體的「-C」或「-create」參數完成創建,並由mdadm進行管理;所述RAID成員的超級塊是從其存儲空間的0x1000開始的4KB空間,超級塊中存有超級塊結構體實例,超級塊結構體實例的首個成員是一個固定長度和內容的數據,稱為RAID成員標誌位。在本例中,RAID成員標誌位為 「0xa92b4efc」。所述系統盤與每個RAID、全局熱備盤以及空閒磁碟連接;系統盤內存儲的內容包括:對RAID進行管理的存儲作業系統和應用程式。所述存儲作業系統存儲於系統盤,是一個擴充了內核的Linux作業系統,包括:人機互動模塊、全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊。所述人機互動模塊的功能是為用戶提供發送全局熱備盤創建指令、全局熱備盤檢索指令、全局熱備盤刪除指令以及輸入要刪除的全局熱備盤名稱的界面;人機互動模塊還輸出全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊的操作結果。所述全局熱備盤創建模塊的功能是在接收到人機互動模塊發來的全局熱備盤創建指令以後,為所述磁碟陣列系統創建一個全局熱備盤,並將創建結果發送給人機互動模塊。所述全局熱備盤檢索模塊的功能是在接收到人機互動模塊發來的全局熱備盤檢索指令或者在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索指令以後,產生一個全局熱備盤列表,並將檢索結果發送給人機互動模塊。所述全局熱備盤刪除模塊的功能是在接收到人機互動模塊發來的全局熱備盤刪除指令和要刪除的全局熱備盤名稱以後,清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊。所述RAID壞盤檢測處理模塊的功能是:①定時檢測所述磁碟陣列系統中內所有RAID的狀態,RAID的狀態包括:初始化狀態、rebuilding狀態、online狀態、warning狀態、critical狀態、off line狀態等;當發現某個RAID處於critical狀態(該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數),並且該RAID沒有本地熱備盤時,向全局熱備盤檢索模塊發送全局熱備盤檢索信號;②當RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表時,從全局熱備盤列表中選擇一個在容量上不小於包含壞盤的RAID中容量最小的成員盤的全局熱備盤,對壞盤進行替換,並向人機互動模塊發送壞盤修復完成信息。本發明提出的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的各功能模塊的連接關係為:存儲作業系統和應用程式存儲在系統盤上,系統盤安裝在本發明提出的基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統內部,系統盤與RAID1、RAID5、RAID6、全局熱備盤1、空閒磁碟I以及空閒磁碟2連接;人機互動模塊分別與全局熱備盤創建模塊、全局熱備盤刪除模塊、全局熱備盤檢索模塊、RAID 壞盤檢測處理模塊連接;全局熱備盤創建模塊分別與人機互動模塊、RAID1、RAID5、RAID6、全局熱備盤1、空閒磁碟I以及空閒磁碟2連接;全局熱備盤刪除模塊分別與人機互動模塊、全局熱備盤1、空閒磁碟I以及空閒磁碟2連接;全局熱備盤檢索模塊分別與RAID壞盤檢測處理模塊、人機互動模塊、RAIDU RAID5、RAID6、全局熱備盤1、空閒磁碟I以及空閒磁碟2連接;RAID壞盤檢測處理模塊分別與全局熱備盤檢索模塊、人機互動模塊、RAIDU RAID5、RAID6、全局熱備盤1、空閒磁碟I以及空閒磁碟2連接。本發明提出的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的工作流程包括全局熱備盤創建流程、全局熱備盤列表查看流程、RAID壞盤檢測處理流程和全局熱備盤刪除流程。全局熱備盤創建流程包括第1.1步至第1.3步,具體為:第1.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤創建模塊發送全局熱備盤創建指令;第1.2步:全局熱備盤創建模塊依據所述磁碟陣列系統內所有RAID成員盤的超級塊中存放的內容,計算出全局熱備盤的最小容量要求;所述計算全局熱備盤的最小容量要求的步驟包括第1.2.1步至第1.2.2步,具體為:第1.2.1步:統計出所述磁碟陣列系統內所有RAID成員盤中容量最小的成員盤的
容量值;第1.2.2步:從第1.2.1步中獲得的結果中,找出最大值作為全局熱備盤的最小容
量要求。第1.3步:全局熱備盤創建模塊查找出所述磁碟陣列系統內處於空閒狀態的磁碟,並從中選擇一個容量不小於全局熱備盤最小容量要求的磁碟,將其存儲空間的0x1000開始的4KB空間作為超級塊存放區域;從0x1000開始存放全局熱備盤標誌位,將其創建為全局熱備盤,在本例中,將全局熱備盤標誌位設定為「0x55554444」,並將操作結果發送給人機互動模塊。全局熱備盤列表查看流程包括第2.1步至第2.2步,具體為:第2.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤檢索模塊發送全局熱備盤檢索指令;第2.2步:全局熱備盤檢索模塊接收到全局熱備盤檢索指令後,產生全局熱備盤列表,並發送給人機互動模塊;所述產生全局熱備盤列表的方法為:每次要產生全局熱備盤列表時,重新生成同名的全局熱備盤列表,然後從所述磁碟陣列系統中每個磁碟的超級塊的起始地址開始讀取全局熱備盤標誌位長度的內容,如果其為全局熱備盤標誌位,則將該塊磁碟的名稱加入到全局熱備盤列表中。RAID壞盤檢測處理流程包括第3.1步至第3.4步,具體為:第3.1步:在磁碟陣列系統正常運行過程中,RAID壞盤檢測處理模塊定時對所述磁碟陣列系統內所有RAID的狀態進行監測;第3.2步:RAID壞盤檢測處理模塊一旦發現某個RAID處於critical狀態(該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數),並且該RAID沒有本地熱備盤時,發送全局熱備盤檢索 信號到全局熱備盤檢索模塊;
第3.3步:全局熱備盤檢索模塊在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索信號以後,產生全局熱備盤列表,並發送給RAID壞盤檢測處理模塊;第3.4步:RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表後,從全局熱備盤列表中選擇一個在容量上不小於處於critical狀態的RAID中容量最小的成員盤的全局熱備盤,使用該全局熱備盤對處於critical狀態的RAID中的壞盤進行替換,由mdadm改寫全局熱備盤上超級塊存放區域的內容,然後執行數據重建,替換成功後向人機互動模塊發送處於critical狀態的RAID修復完成信息。全局熱備盤刪除流程包括第4.1步至第4.2步,具體為:第4.1步:在磁碟陣列系統正常運行過程中,用戶通過人機互動模塊發送全局熱備盤刪除信號和要刪除的全局熱備盤名稱到全局熱備盤刪除模塊;第4.2步:全局熱備盤刪除模塊清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊。以上結合具體實施例對本發明的技術方案作了說明,但這些說明不能被理解為限制了本發明的範圍,本發明的保護範圍由隨附的權利要求書限定,任何在本發明權利要求基礎上的改動都是本發 明的保護範圍。
權利要求
1.一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,其特徵在於:包括:1個或多個RAID、I個或多個空閒磁碟、O個或I個以上全局熱備盤、系統盤和存儲作業系統;所述RAID是在Linux作業系統中,使用mdadm軟體的「-C」或「-create」參數完成創建,並由mdadm進行管理;所述RAID成員的超級塊中存有超級塊結構體實例,超級塊結構體實例的首個成員是一個固定長度和內容的數據,稱為RAID成員標誌位;所述RAID為冗餘RAID ; 所述系統盤與每個RAID、全局熱備盤以及空閒磁碟連接;系統盤內存儲的內容包括但不限於:對RAID進行管理的存儲作業系統和應用程式; 所述存儲作業系統存儲於系統盤,是一個擴充了內核的Linux作業系統,包括:人機互動模塊、全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊; 所述人機互動模塊的功能是為用戶提供發送全局熱備盤創建指令、全局熱備盤檢索指令、全局熱備盤刪除指令以及輸入要刪除的全局熱備盤名稱的界面;人機互動模塊還輸出全局熱備盤創建模 塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊的操作結果; 所述全局熱備盤創建模塊的功能是在接收到人機互動模塊發來的全局熱備盤創建指令以後,為所述磁碟陣列系統創建一個全局熱備盤,並將創建結果發送給人機互動模塊;所述全局熱備盤檢索模塊的功能是在接收到人機互動模塊發來的全局熱備盤檢索指令或者在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索指令以後,產生一個全局熱備盤列表,並將檢索結果發送給人機互動模塊; 所述全局熱備盤刪除模塊的功能是在接收到人機互動模塊發來的全局熱備盤刪除指令和要刪除的全局熱備盤名稱以後,清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊; 所述RAID壞盤檢測處理模塊的功能是:①定時檢測所述磁碟陣列系統中內所有RAID的狀態,RAID的狀態包括:初始化狀態、rebuilding狀態、online狀態、warning狀態、critical狀態、offline狀態等;當發現某個RAID處於critical狀態,即該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數,並且該RAID沒有本地熱備盤時,向全局熱備盤檢索模塊發送全局熱備盤檢索信號;②當RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表時,從全局熱備盤列表中選擇一個在容量上不小於包含壞盤的RAID中容量最小的成員盤的全局熱備盤,對壞盤進行替換,並向人機互動模塊發送壞盤修復完成信息; 基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統的各功能模塊的連接關係為:存儲作業系統和應用程式存儲在系統盤上,系統盤安裝在本發明提出的基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統內部,系統盤與所有RAID、全局熱備盤以及空閒磁碟連接;人機互動模塊分別與全局熱備盤創建模塊、全局熱備盤刪除模塊、全局熱備盤檢索模塊、RAID壞盤檢測處理模塊連接;全局熱備盤創建模塊分別與人機互動模塊、所有RAID、全部全局熱備盤以及空閒磁碟連接;全局熱備盤刪除模塊分別與人機互動模塊、全部全局熱備盤以及空閒磁碟連接;全局熱備盤檢索模塊分別與RAID壞盤檢測處理模塊、人機互動模塊、所有RAID、全局熱備盤以及空閒磁碟連接;RAID壞盤檢測處理模塊分別與全局熱備盤檢索模塊、人機互動模塊、所有RAID、全局熱備盤以及空閒磁碟連接。
2.如權利要求1所述的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,其特徵在於:其工作流程包括全局熱備盤創建流程、全局熱備盤列表查看流程、RAID壞盤檢測處理流程和全局熱備盤刪除流程; 全局熱備盤創建流程包括第1.1步至第1.3步,具體為: 第1.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤創建模塊發送全局熱備盤創建指令; 第1.2步:全局熱備盤創建模塊依據所述磁碟陣列系統內所有RAID成員盤的超級塊中存放的內容,計算出全局熱備盤的最小容量要求; 第1.3步:全局熱備盤創建模塊查找出所述磁碟陣列系統內處於空閒狀態的磁碟,並從中選擇一個容量不小於全局熱備盤最小容量要求的磁碟,在該空閒磁碟上設置超級塊,空閒磁碟上超級塊的起始地址與RAID成員的超級塊的起始地址相同;然後從該空閒磁碟的超級塊的起始地址開始存放全局熱備盤標誌位,將其創建為全局熱備盤,並將操作結果發送給人機互動模塊;所述全局熱備盤標誌位是一個預先設定的固定長度和內容的數據,其與所述磁碟陣列系統中RAID成員的超級塊中的RAID成員標誌位的內容不同; 全局熱備盤列表查看流程包括第2.1步至第2.2步,具體為: 第2.1步:所述磁碟陣列系統在正常運行過程中,用戶通過人機互動模塊向全局熱備盤檢索模塊發送全局熱備盤檢索指令; 第2.2步:全局熱備盤檢索模塊接收到全局熱備盤檢索指令後,產生全局熱備盤列表,並發送給人機互動模塊; 所述產生全局熱備盤列表的方法為:從所述磁碟陣列系統中每個磁碟的超級塊的起始地址開始,讀取全局熱備盤標誌位長度的內容,如果其為全局熱備盤標誌位,則將該塊磁碟的名稱加入到全局熱備盤列表中; RAID壞盤檢測處理流程包括第3.1步至第3.4步,具體為: 第3.1步:在磁碟陣列系統正常運行過程中,RAID壞盤檢測處理模塊定時對所述磁碟陣列系統內所有RAID的狀態進行監測; 第3.2步:RAID壞盤檢測處理模塊一旦發現某個RAID處於critical狀態,即該RAID尚能工作,但工作磁碟的個數少於該RAID的成員盤總數,並且該RAID沒有本地熱備盤時,發送全局熱備盤檢索信號到全局熱備盤檢索模塊; 第3.3步:全局熱備盤檢索模塊在接收到RAID壞盤檢測處理模塊發來的全局熱備盤檢索信號以後,產生全局熱備盤列表,並發送給RAID壞盤檢測處理模塊; 第3.4步:RAID壞盤檢測處理模塊從全局熱備盤檢索模塊接收到全局熱備盤列表後,從全局熱備盤列表中選擇一個在容量上不小於處於critical狀態的RAID中容量最小的成員盤的全局熱備盤,使用該全局熱備盤對處於critical狀態的RAID中的壞盤進行替換,由mdadm改寫全局熱備盤上超級塊存放區域的內容,然後執行數據重建,替換成功後向人機互動模塊發送處於critical狀態的RAID修復完成信息; 全局熱備盤刪除流程包括第4.1步至第4.2步,具體為: 第4.1步:在磁碟陣列系統正常運行過程中,用戶通過人機互動模塊發送全局熱備盤刪除信號和要刪除的全局熱備盤名稱到全局熱備盤刪除模塊;第4.2步:全局熱備盤刪除模塊清除該全局熱備盤上超級塊中的內容,將該盤變為空閒磁碟,並將操作結果發送給人機互動模塊。
3.如權利要求2所述的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,其特徵在於:全局熱備盤創建流程的第1.2步中所述計算全局熱備盤的最小容量要求的步驟包括第1.2.1步至第1.2.2步,具體為: 第1.2.1步:統計出所述磁碟陣列系統內所有RAID成員盤中容量最小的成員盤的容量值; 第1.2.2步:從第1.2.1步中獲得的結果中,找出最大值作為全局熱備盤的最小容量要求。
4.如權利要求2或3中所述的一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,其特徵在於:全局熱備盤列表查看流程的第2.2步中所述產生全局熱備盤列表的優選方法為:每次要產生全局熱備盤列表時,重新生成同名的全局熱備盤列表,然後從所述磁碟陣列系統中每個磁碟的超級塊的起始地址開始讀取全局熱備盤標誌位長度的內容,如果其為全局熱備 盤標誌位,則將該塊磁碟的名稱加入到全局熱備盤列表中。
全文摘要
本發明涉及一種基於軟RAID支持無分組式全局熱備盤的磁碟陣列系統,包括1個或多個RAID、1個或多個空閒磁碟、0個或1個以上全局熱備盤、系統盤和存儲作業系統。所述RAID是在Linux作業系統中,使用mdadm軟體的「-C」或「-create」參數完成創建,並由mdadm進行管理。所述系統盤與每個RAID、全局熱備盤以及空閒磁碟連接;系統盤內存儲的內容包括但不限於對RAID進行管理的存儲作業系統和應用程式。所述存儲作業系統存儲於系統盤,是一個擴充了內核的Linux作業系統,包括人機互動模塊、全局熱備盤創建模塊、全局熱備盤檢索模塊、全局熱備盤刪除模塊和RAID壞盤檢測處理模塊。本發明設置的全局熱備盤,不受RAID組的限制,且無需配置文件,便於數據遷移。
文檔編號G06F3/06GK103246478SQ201210026590
公開日2013年8月14日 申請日期2012年2月8日 優先權日2012年2月8日
發明者王道邦, 周澤湘, 張偉濤, 李豔國, 章珉, 潘興旺, 張恆 申請人:北京同有飛驥科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀