專利名稱:磁盤陣列裝置容量擴充中斷后恢復處理方法及系統的制作方法
技術領域:
本發明涉及一種電腦信息技術,特別是有關于一種磁盤陣列裝置 容量擴充中斷后恢復處理方法及系統,其可應用于整合到磁盤陣列裝
置,例如為RAID (Redundant Array of Independent Disks)式的磁盤陣列 裝置,用于對該RAID磁盤陣列裝置提供容量擴充中斷后恢復處理功
背景技術:
磁盤陣列裝置(Redundant Array of Independent Disks, RAID)為一種
具備有多個實體硬磁盤單元的電腦數據儲存裝置,其通常應用于搭接 到網絡服務器,用于儲存數量極為龐大的電腦網絡數據。由于RAID磁 盤陣列裝置具備有多個硬磁盤單元,因此可提供多工的電腦數據存取 功能來提高整體的存取效率,并可提供多重備份的鏡向儲存功能,來 使得電腦數據的儲存具有更高的妥善性。
實際應用上,RAID磁盤陣列裝置中的多個磁盤單元通常會預先 規劃成一或多個群組,以利用每一個磁盤群組來提供特定目的的數據 儲存功能。若網絡系統管理人員有需要增加某一個磁盤群組的容量, 則可將額外的磁盤單元增添至該磁盤群組,并接著對該磁盤群組進行 容量擴充程序,其中將一組必要的相關數據,例如包括該磁盤群組的 超區塊(superblock)中所儲放的組態數據,逐一以復制方式從該磁盤群 組寫入到新增的磁盤。
然而在實務上,RAID磁盤陣列裝置的容量擴充程序中常有可能 遭遇到不可預期的電力中斷狀況而被迫半途中止。這種情況下,當服 務器的電力回復及重新開機后,若系統管理人員再重新啟動容量擴充 程序,則此重新啟動后的容量擴充程序須從頭開始重新進行整個的數 據復制工作,而不是從先前中斷開始連續地進行未完成的數據復制工 作。由此緣故,因此只要容量擴充過程發生電力中斷狀況,則將使得
已完成擴充的部分前功盡棄。由于容量擴充程序的執行需耗費極多的 系統資源及處理時間,因此顯然會降低整體的系統管理效能。
發明內容
鑒于以上所述現有技術的缺點,本發明的主要目的便是在于提供
一種磁盤陣列裝置容量擴充中斷后恢復處理方法及系統,其可讓RAID 磁盤陣列裝置若在進行容量擴充程序時發生電力中斷狀況,則可從先 前中斷開始連續地進行未完成的容量擴充工作,而不必重新從頭開始 進行整個的容量擴充程序
本發明的另一目的在于提供一種磁盤陣列裝置容量擴充中斷后恢 復處理方法及系統,其可增進整體的網絡服務器系統管理效能。
本發明的磁盤陣列裝置容量擴充中斷后恢復處理方法至少包含以 下處理動作:(M1)在該磁盤陣列裝置實際進行容量擴充程序時,在預設 的容量擴充狀態記錄表中記錄下該容量擴充程序的進行狀態及其目前 進度,當系統因電力中斷、當機或其他因素,造成容量擴充程序中斷 時,此容量擴充狀態紀錄表會保留已經完成的區塊位址,包括該磁盤 群組中已完成擴充的區塊位址和該新增的磁盤中已完成擴充的區塊位 址,而這些最新已完成的區塊位址,即可作為中斷點數據;(M2)若 該容量擴充程序在進行途中遭遇到異常中斷狀況,則在該電腦平臺重 新開機時,檢査該容量擴充狀態記錄表所記錄的容量擴充程序進行狀 態;并讀取該容量擴充狀態記錄表中所記錄斷點數據,以判別出該磁 盤群組中尚未完成擴充的區塊位址和該新增的磁盤中尚未完成擴充的 區塊位址來作為接續點;以及(M3)使該磁盤陣列裝置依據該接續點接 續執行原先的容量擴充程序。
實體架構上,本發明的磁盤陣列裝置容量擴充中斷后恢復處理系 統至少包含:(A)容量擴充狀態記錄表,其設置于永久性儲存區中,用于 記錄該容量擴充程序的進行狀態以及其目前進度,包括該磁盤群組中 己完成擴充的區塊位址和該新增的磁盤中己完成擴充的區塊位址;(B) 容量擴充狀態記錄模塊,其可在該磁盤陣列裝置實際進行該容量擴充 程序時,在該容量擴充狀態記錄表中記錄下該容量擴充程序的進行狀 態及其目前進度,包括該磁盤群組中已完成擴充的區塊位址和該新增
的磁盤中已完成擴充的區塊位址;(C)接續操作模塊,其可在該電腦平 臺發生開機事件時,檢査該容量擴充狀態記錄表所記錄的容量擴充程 序進行狀態;若為因故中斷而尚未完成狀態,則發出接續操作使能信 息;(D)接續點判別模塊,其可響應該接續操作模塊所發出的接續操作 使能信息而讀取該容量擴充狀態記錄表中所記錄斷點數據,以判別出 該磁盤群組中尚未完成擴充的區塊位址和該新增的磁盤中尚未完成擴 充的區塊位址來作為接續點;以及(E)容量擴充接續操作執行模塊,其 可依據該接續點判別模塊所求得的接續點來使該磁盤陣列裝置接續執 行原先的容量擴充程序。
本發明的磁盤陣列裝置容量擴充中斷后恢復處理方法及系統的特 點在于容量擴充程序進行過程中可逐步記錄下原始的磁盤群組中已完 成擴充的區塊位址和新增的磁盤單元中已完成擴充的區塊位址,并將 此些逐步記錄下來的數據作為一組中斷點數據而儲放于永久性儲存
區,使得重新開機后可從先前中斷開始連續地進行未完成的容量擴充 程序,而不必從頭開始重新進行整個的容量擴充程序。此特點可在容 量擴充程序于發生異常中斷狀況,更為快速而有效率地完成原先的容 量擴充工作,因此可增進整體的網絡系統管理效能。
圖1為應用示意圖,用于顯示本發明的磁盤陣列裝置容量擴充中 斷后恢復處理系統的應用方式;
圖2為架構示意圖,用于顯示本發明的磁盤陣列裝置容量擴充中 斷后恢復處理系統的模塊化基本架構;
圖3為活動示意圖(activity diagram),用于顯示本發明的磁盤陣列 裝置容量擴充中斷后恢復處理系統所執行的各個處處理動作。
主要元件符號說明 IO電腦平臺
20磁盤陣列裝置(RAID)
30磁盤群組
31磁盤單元
32磁盤單元 33磁盤單元 34新增的磁盤單元
100本發明的磁盤陣列裝置容量擴充中斷后恢復處理系統
110容量擴充狀態記錄表
120容量擴充狀態記錄模塊
210接續操作模塊
220接續點判別模塊
230容量擴充接續操作執行模塊
301異常斷電事件
302容量擴充程序異常中斷事件
303 開機事件
具體實施例方式
以下即配合附圖,詳細說明本發明的磁盤陣列裝置容量擴充中斷 后恢復處理方法及系統的實施例。
圖1顯示本發明的磁盤陣列裝置容量擴充中斷后恢復處理系統(如 標號100所指的方塊所包含的部分)的應用方式。如圖1所示,本發明 的磁盤陣列裝置容量擴充中斷后恢復處理系統100實際應用上整合到 磁盤陣列裝置,例如為RAID (Redundant Array of Independent Disks)式 的磁盤陣列裝置20,且該RAID磁盤陣列裝置20搭接到電腦平臺10, 例如為網絡服務器。實際操作時,本發明的磁盤陣列裝置容量擴充中 斷后恢復處理系統100即可用來對該RAID磁盤陣列裝置20提供容量 擴充中斷后恢復處理功能,由此而讓該RAID磁盤陣列裝置20若在進 行容量擴充程序時遭遇到不可預期的異常中斷狀況(例如為因電力異常 中斷所引起),則可在該電腦平臺IO重新開機,使該RAID磁盤陣列 裝置20可從先前中斷開始連續地回復執行先前未完成的容量擴充程 序。
如圖1所示,RAID磁盤陣列裝置20包括磁盤群組30 (于圖1所 示的實施例中,此磁盤群組30例如包括3個磁盤單元31、 32、 33;但 其數目并無限制)。假設使用者(即網絡系統管理人員)欲新增磁盤單元
34到該磁盤群組30來增加其整體的儲存容量,因此而使該RAID磁 盤陣列裝置20對該新增的磁盤單元34進行容量擴充程序。若該容量 擴充程序在進行中途遭遇到不可預期的異常中斷狀況(例如為因電力異 常中斷所引起),則本發明的磁盤陣列裝置容量擴充中斷后恢復處理系 統100即可在該電腦平臺10重新開機,使RAID磁盤陣列裝置20從 先前中斷開始連續地回復執行先前未完成的容量擴充程序,而不必整 個從頭開始重新進行。
如圖2所示,本發明的磁盤陣列裝置容量擴充中斷后恢復處理系 統100的模塊化的基本架構至少包含:(A)容量擴充狀態記錄表110; (B) 容量擴充狀態記錄模塊120; (C)接續操作模塊210; (D)接續點判別模 塊220;以及(E)容量擴充接續操作執行模塊230。以下即首先分別說明 此些模塊及記錄表的各個屬性及功能。
容量擴充狀態記錄表110為該RAID磁盤陣列裝置20的磁盤群組 30的磁盤單元31、 32、 33中所預先規劃出永久性儲存區,例如為由磁 盤單元31、 32、 33上的超區塊儲存區(superblock)中所規劃出。此容 量擴充狀態記錄表110至少包括[EXPANDING—STATUS]欄、 [OLD—BLOCK]欄、和[NEW—BLOCK]欄。[EXPANDING— STATUS]欄 可用于設定真假值TRUE/FALSE;若為"TRUE",則代表容量擴充程 序正在進行中而尚未完成;若為"FALSE",則代表未在進行容量擴充 程序或其已完成。[OLD—BLOCK]欄在容量擴充程序進行中時,用來記 錄原始的磁盤群組30中已完成擴充的區塊位址;而[NEW—BLOCK]欄 則用來記錄新增的磁盤單元34中已完成擴充的區塊位址。
容量擴充狀態記錄模塊120可在該RAID磁盤陣列裝置20進行容 量擴充程序時,被啟動來在上述的容量擴充狀態記錄表110中記錄下 該容量擴充程序的進行狀態和目前進度(包括原始的磁盤群組30中已 完成擴充的區塊位址和新增的磁盤單元34中已完成擴充的區塊位址)。
接續操作模塊210可在該電腦平臺10發生重新開機事件303時, 相應地檢査上述的容量擴充狀態記錄表110中的 [EXPANDING—STATUS]欄的設定值;若為"FALSE",則不執行任何響 應動作;若為"TRUE",則代表此前有容量擴充程序因故而異常中斷, 因此相應地發出接續操作使能信息到接續點判別模塊220。
接續點判別模塊220可響應上述的接續操作模塊120所發出的接 續操作使能信息而讀取該容量擴充狀態記錄表110中的[OLD—BLOCK] 欄和[NEW—BLOCK]欄中所記錄的數據(即原始的磁盤群組30中已完 成擴充的區塊位址和新增的磁盤單元34中已完成擴充的區塊位址),以 判別出已完成重建的區塊,并以此作為先前被中斷的容量擴充程序的 中斷點數據,將OLD_BLOCK和NEW—BLOCK的值均加1,即可求 得原始的磁盤群組30中尚未完成擴充的第1個區塊位址和新增的磁盤 單元34中尚未完成擴充的第1個區塊位址,并以此作為接續點。
容量擴充接續操作執行模塊230可依據上述的接續點判別模塊 220所求得的接續點(即原始的磁盤群組30中尚未完成擴充的第1個區 塊位址和新增的磁盤單元34中尚未完成擴充的第1個區塊位址)來使 RAID磁盤陣列裝置20接續執行原先的容量擴充程序。若此容量擴充 程序順利完成而未再遭遇到異常中斷狀況,則此容量擴充接續操作執 行模塊230會將容量擴充狀態記錄表110中的[EXPANDING STATUS] 欄值設定為"FALSE"。
以下即以利用應用實例及配合圖3來說明本發明的磁盤陣列裝置 容量擴充中斷后恢復處理系統100在實際應用時的整體操作方式。
請同時參閱圖1至圖3,假設網絡系統管理人員欲新增磁盤單元 34到該磁盤群組30來增加其整體的儲存容量,因此而如圖3所示處理 動作PIO,通過電腦平臺10來使RAID磁盤陣列裝置20對該新增的 磁盤單元34進行容量擴充程序P11。在此容量擴充程序Pll進行時, 容量擴充狀態記錄模塊120會被啟動來在容量擴充狀態記錄表110中 記錄下該容量擴充程序的進行狀態和目前進度;亦即如圖3所示處理 動作P12,將容量擴充狀態記錄表110中的[EXPANDING STATUS]欄 設定為"TRUE";并接著如圖3所示處理動作P13,隨著容量擴充程序 的進行而持續在[OLD—BLOCK]欄和[NEW—BLOCK]欄中記錄下原始 的磁盤群組30中已完成擴充的區塊位址和新增的磁盤單元34中已完 成擴充的區塊位址。
假設電腦平臺10在于容量擴充程序尚未完成時發生異常斷電事件 301,則其將使容量擴充程序Pll發生異常中斷事件302。但此時,容 量擴充狀態記錄表110將永久保留其[EXPANDING STATUS]欄的設定
值為"TRUE",且在[OLD一BLOCK]欄和[NEW一BLOCK]欄中記錄有原始 的磁盤群組30中已完成擴充的區塊位址和新增的磁盤單元34中已完 成擴充的區塊位址。
接著當電腦平臺10的電力恢復而重新開機時(亦即發生開機事件 303時),其可使接續操作模塊210相應地執行圖3所示處理動作P21 , 以檢査容量擴充狀態記錄表110中的[EXPANDING—STATUS]欄的設定 值是否為"TRUE";若是,則使接續點判別模塊220執行處處理動作P22 來讀取容量擴充狀態記錄表110中的[OLD—BLOCK]欄和 [NEW—BLOCK]欄中所記錄斷點數據(即原始的磁盤群組30中已完成 擴充的區塊位址和新增的磁盤單元34中已完成擴充的區塊位址),以判 別出己完成重建的區塊,并據以求得容量擴充程序的接續點;亦即將 OLD—BLOCK和NEW—BLOCK的值均加1 ,即可求得原始的磁盤群組 30中尚未完成擴充的第1個區塊位址和新增的磁盤單元34中尚未完成 擴充的第1個區塊位址。接著使容量擴充接續操作執行模塊230依據 上述的接續點判別模塊220所求得的接續點來使RAID磁盤陣列裝置 20接續執行原先的容量擴充程序(如圖3所示處理動作P24)。若此容量 擴充程序順利完成而未再遭遇到異常中斷狀況,則容量擴充接續操作 執行模塊230會將容量擴充狀態記錄表110中的[EXPANDING STATUS]欄值設定為"FALSE"。
總之,本發明提供了一種磁盤陣列裝置容量擴充中斷后恢復處理 方法及系統,其可應用于整合到RAID磁盤陣列裝置,用于對該RAID 磁盤陣列裝置提供容量擴充中斷后恢復處理功能;其特點在于容量擴 充程序進行過程中可逐步記錄下原始的磁盤群組中已完成擴充的區塊 位址和新增的磁盤單元中已完成擴充的區塊位址,并將此些逐步記錄 下來的數據作為一組中斷點數據而儲放于永久性儲存區,使得重新開 機可從先前中斷開始連續地進行未完成的容量擴充程序,而不必從頭 開始重新進行整個的容量擴充程序。此特點可容量擴充程序在發生異 常中斷狀況,更為快速而有效率地完成原先的容量擴充工作,因此可 增進整體的網絡系統管理效能。本發明因此較此前技術具有更佳的進 步性及實用性。
以上所述僅為本發明的優選實施例而己,并非用于限定本發明的 實質技術內容的范圍。本發明的實質技術內容廣義地定義于所述的權 利要求中。若任何他人所完成的技術實體或方法與下述的權利要求所 定義者為完全相同、或是為一種等效的變更,均將被視為涵蓋于本發 明的權利要求之中。
權利要求
1.一種磁盤陣列裝置容量擴充中斷后恢復處理方法,應用于磁盤陣列裝置,用于對該磁盤陣列裝置提供容量擴充中斷后恢復處理功能;其中該磁盤陣列裝置用于搭接到電腦平臺,而且具有磁盤群組,并利用至少新增的磁盤單元來對該磁盤群組進行容量擴充程序;所述磁盤陣列裝置容量擴充中斷后恢復處理方法至少包含該磁盤陣列裝置實際進行容量擴充程序時,在預設的容量擴充狀態記錄表中記錄該容量擴充程序的進行狀態及其目前進度,包括該磁盤群組中已完成擴充的區塊位址和該新增的磁盤中已完成擴充的區塊位址,以作為中斷點數據;若該容量擴充程序于進行途中遭遇到異常中斷狀況,則在該電腦平臺重新開機時,檢查該容量擴充狀態記錄表所記錄的容量擴充程序進行狀態;并讀取該容量擴充狀態記錄表中該中斷點數據,以判別出該磁盤群組中尚未完成擴充的區塊位址和該新增的磁盤中尚未完成擴充的區塊位址來作為接續點;以及使該磁盤陣列裝置依據該接續點接續執行原先的容量擴充程序。
2. 根據權利要求1項所述的磁盤陣列裝置容量擴充中斷后恢復處 理方法,其中該電腦平臺為網絡服務器。
3. 根據權利要求1項所述的磁盤陣列裝置容量擴充中斷后恢復處 理方法,其中該磁盤陣列裝置為RAID式的磁盤陣列裝置。
4. 根據權利要求1項所述的磁盤陣列裝置容量擴充中斷后恢復處 理方法,其中該磁碟陣列裝置具有超區塊儲存區,該容量擴充狀態記 錄表紀錄于該超區塊儲存區。
5. —種磁盤陣列裝置容量擴充中斷后恢復處理系統,其供整合到 磁盤陣列裝置,用于對該磁盤陣列裝置提供容量擴充中斷后恢復處理 功能;其中該磁盤陣列裝置用于搭接到電腦平臺,且具有磁盤群組,并利用至少新增的磁盤單元來對該磁盤群組進行容量擴充程序;此磁 盤陣列裝置容量擴充中斷后恢復處理系統至少包含容量擴充狀態記錄表,其設置于永久性儲存區中,用于記錄該容 量擴充程序的進行狀態以及其目前進度,包括該磁盤群組中已完成擴 充的區塊位址和該新增的磁盤中已完成擴充的區塊位址,以作為中斷 點數據;容量擴充狀態記錄模塊,其用于該磁盤陣列裝置實際進行該容量 擴充程序時,在該容量擴充狀態記錄表中記錄下該容量擴充程序的進 行狀態及其目前進度,包括該磁盤群組中已完成擴充的區塊位址和該 新增的磁盤中已完成擴充的區塊位址;接續操作模塊,其用于該電腦平臺發生一開機事件時,檢査該容 量擴充狀態記錄表所記錄的容量擴充程序進行狀態,并在因故中斷而 為尚未完成狀態,發出中斷后接續啟動使能信息;接續點判別模塊,其用于響應該接續操作模塊所發出的接續操作 使能信息而讀取該容量擴充狀態記錄表斷點數據,以判別出該磁盤群 組中尚未完成擴充的區塊位址和該新增的磁盤中尚未完成擴充的區塊 位址來作為接續點;以及容量擴充接續操作模塊,其用于依據該接續點而使該磁盤陣列裝 置接續操作原先的容量擴充程序。
6. 根據權利要求5項所述的磁盤陣列裝置容量擴充中斷后恢復處 理系統,其中該電腦平臺為網絡服務器。
7. 根據權利要求5項所述的磁盤陣列裝置容量擴充中斷后恢復處 理系統,其中該磁盤陣列裝置為RAID式的磁盤陣列裝置。
8. 根據權利要求5項所述的磁盤陣列裝置容量擴充中斷后恢復處 理系統,其中該磁盤陣列裝置具有超區塊儲存區,該容量擴充狀態記 錄表紀錄于該超區塊儲存區。
全文摘要
一種磁盤陣列裝置容量擴充中斷后恢復處理方法及系統,其應用于磁盤陣列裝置,用于對該磁盤陣列裝置提供容量擴充中斷后恢復處理功能;其特點在于容量擴充程序進行過程中可逐步記錄下原始的磁盤群組中已完成擴充的區塊位址和新增的磁盤單元中已完成擴充的區塊位址,并將此些逐步記錄下來的數據作為一組中斷點數據而儲放于永久性儲存區,使得重新開機可從先前中斷開始連續地進行未完成的容量擴充程序,而不必從頭開始重新進行整個的容量擴充程序。此特點可在容量擴充程序于發生異常中斷狀況,更為快速而有效率地完成原先未完成的容量擴充工作,因此可增進整體的網絡系統管理效能。
文檔編號G06F9/48GK101192174SQ20061016331
公開日2008年6月4日 申請日期2006年11月30日 優先權日2006年11月30日
發明者陳志偉 申請人:英業達股份有限公司