新四季網

一種磁碟陣列控制器故障處理方法及系統的製作方法

2023-04-25 09:36:01 1

專利名稱:一種磁碟陣列控制器故障處理方法及系統的製作方法
技術領域:
本發明涉及計算機電子領域,尤其涉及一種磁碟陣列控制器故障處理方法及系 統。
背景技術:
RAID 是「Redundant Array of Independent Disk」 的縮寫,中文意思是磁碟陣列 存儲系統。磁碟陣列技術誕生於1987年,由美國加州大學伯克利分校提出。簡單地解釋, 就是將N臺硬碟通過磁碟陣列控制器(RAID Controller)結合成虛擬單臺大容量的硬碟使 用。RAID的採用為存儲系統(或者伺服器的內置存儲)帶來巨大利益,其中提高傳輸速率 和提供容錯功能是最大的優點。磁碟陣列存儲系統的核心是磁碟陣列控制器。磁碟陣列控制器是主機和磁碟之間 的數據傳輸通路,包含面向主機和磁碟陣列兩個方面的接口。磁碟陣列控制器處理來自主 機和磁碟陣列的信息,通過對多個磁碟成員的並行操作,提供遠高於單獨磁碟的傳輸速率, 從而匹配數據前端和磁碟設備之間的數據傳輸速度,使其達到均衡。磁碟陣列控制器作為磁碟陣列系統的核心,其可靠性直接關係到磁碟陣列的可用 性。磁碟陣列控制器是一個複雜的控制系統,具有專用的軟硬體平臺,因此具有嵌入式系統 難以測試的特徵。磁碟陣列作為數據存儲的終端節點,需要快速響應來自存儲網絡或主機的大量數 據存儲請求,為了保證系統具有極高的I/O吞吐率,磁碟陣列控制器的任務由大量並發的 工作線程相互協作完成的。因此,磁碟陣列控制器具有任務密集、並發度高的特徵。本發明人在實施本發明的過程中發現,磁碟陣列控制器因為其複雜性導致其可靠 性下降,為了保證磁碟陣列控制器長期、高效的運行,必須要使其具備容錯能力。在現有的方法中,通常採用硬體冗餘技術來提高其容錯能力,這種方式實現需要 較高的成本。而通過軟體技術保障其可靠性的方法,通常是將故障處理邏輯融合在磁碟陣 列控制器業務處理過程中,當磁碟陣列控制器發現故障時,則跳轉到相應的故障處理程序 分支中去,但是這種方式所能處理的故障有限,並且進一步增加了磁碟陣列控制器的複雜 度,難以維護。

發明內容
本發明實施例所要解決的技術問題在於,提供一種磁碟陣列控制器故障處理方法 及系統,獨立、主動的監控磁碟陣列控制器的運行過程,主動檢測磁碟陣列控制器故障並及 時進行故障處理。同時,在磁碟陣列控制器發生故障時,磁碟陣列控制器故障處理系統能夠 保證磁碟陣列控制器不會因為任何故障造成資源洩漏、模塊失效甚至宕機等錯誤。為了解決上述技術問題,本發明實施例提供了一種磁碟陣列控制器故障處理方 法,包括接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀態;
根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任務執行 過程中是否出現故障;若所述判斷為是,則接管所述任務,並按照預定的故障處理程序處理所述故障。其中,所述接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀態 之前,還包括預設所述磁碟陣列控制器的各類任務在各個階段的運行狀態模型;所述磁碟陣列 控制器的任務類型包括讀數據任務、寫數據任務和無數據任務。其中,所述根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所 述任務執行過程中是否出現故障,包括根據所述磁碟陣列控制器主動註冊的運行狀態,查找其當前任務在當前階段的運 行狀態模型;判斷所述磁碟陣列控制器主動註冊的運行狀態,是否符合查找得到的運行狀態模型。其中,所述運行狀態模型中包括所述磁碟陣列控制器的各類任務在各個階段之 間的時間間隔;則所述根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任 務執行過程中是否出現故障,還包括判斷所述磁碟陣列控制器主動註冊運行狀態後,在對 應運行狀態模型規定的時間間隔內,是否收到下一次運行狀態的註冊。其中,所述按照預定的故障處理程序處理所述故障中,所述預定的故障處理程序 包括任務回滾,控制執行過程中出現故障的任務回到前一個註冊的運行狀態中,重新 執行所述任務;任務終止,終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋錯誤信息;系統安全關閉,將磁碟陣列控制器緩存的數據回寫到非易失存儲介質中,安全的 關閉所述磁碟陣列控制器。相應地,本發明實施例還提供一種磁碟陣列控制器故障處理系統,包括信息收集模塊,用於接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的 運行狀態;故障判斷模塊,用於根據所述信息收集模塊接收的磁碟陣列控制器的運行狀態, 判斷所述磁碟陣列控制器在所述任務執行過程中是否出現故障;故障處理模塊,用於在所述故障判斷模塊判定所述磁碟陣列控制器在任務執行過 程中出現故障時,接管所述任務,並按照預定的故障處理程序處理所述故障。其中,所述接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀態 之前,還包括狀態模型預置模塊,用於預設所述磁碟陣列控制器的各類任務在各個階段的運行 狀態模型;所述磁碟陣列控制器的任務類型包括讀數據任務、寫數據任務和無數據任務。其中,所述故障判斷模塊包括模型查找單元,用於根據所述磁碟陣列控制器主動註冊的運行狀態,在所述狀態 模型預置模塊中查找其當前任務在當前階段的運行狀態模型;
5
比對判斷單元,用於比對所述磁碟陣列控制器主動註冊的運行狀態,是否符合所 述模型查找單元查找得到的運行狀態模型;若一致,則判定磁碟陣列控制器運行正常;否 則,判定磁碟陣列控制器出現故障。其中,所述運行狀態模型中包括所述磁碟陣列控制器的各類任務在各個階段之 間的時間間隔;則所述故障判斷模塊還包括時限判斷單元,用於在所述磁碟陣列控制器主動注 冊運行狀態後開始計時,判斷在對應運行狀態模型規定的時間間隔內,是否收到下一次運 行狀態的註冊。其中,所述故障處理模塊包括第一處理單元,用於將執行過程中出現故障的任務回滾,控制所述任務回到前一 個註冊的運行狀態中,重新執行該任務;第二處理單元,用於終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋錯 誤信息;第三處理單元,用於執行磁碟陣列控制器的安全關閉,第三處理單元將磁碟陣列 控制器緩存的數據回寫到非易失存儲介質中,安全的關閉所述磁碟陣列控制器。實施本發明實施例,具有如下有益效果(一 )獨立、主動的監控磁碟陣列控制器的運行過程,主動檢測磁碟陣列控制器故 障並及時進行故障處理。( 二 )在磁碟陣列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁 盤陣列控制器不會因為任何故障造成資源洩漏、模塊失效甚至宕機等錯誤。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可 以根據這些附圖獲得其他的附圖。圖1為本發明提供的磁碟陣列控制器故障處理方法第一實施例流程示意圖;圖2為本發明提供的磁碟陣列控制器故障處理方法第二實施例流程示意圖;圖3為本發明提供的磁碟陣列控制器故障處理系統第一實施例結構示意圖;圖4為本發明提供的磁碟陣列控制器故障處理系統第二實施例結構示意圖。
具體實施例方式本發明實施例提供的磁碟陣列控制器故障處理方法及系統,可以獨立、主動的監 控磁碟陣列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時進行故障處理。同時, 在磁碟陣列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁碟陣列控制器不 會因為任何故障造成資源洩漏、模塊失效甚至宕機等錯誤。下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於 本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。參見圖1,為本發明提供的磁碟陣列控制器故障處理方法第一實施例流程示意圖, 如圖1所示在步驟S100,接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀 態。在步驟S101,根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在 所述任務執行過程中是否出現故障;若所述判斷為是,則執行步驟S102 ;若所述判斷為否, 則執行步驟S103。在步驟S102,接管所述磁碟陣列控制器在執行過程中出現故障的任務,並按照預 定的故障處理程序處理所述故障。在步驟S103,繼續監控磁碟陣列控制器在其任務執行的後續階段運行狀態是否正 常,直至所述任務完成。實施本發明提供的磁碟陣列控制器故障處理方法,可以獨立、主動的監控磁碟陣 列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時進行故障處理。同時,在磁碟陣 列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁碟陣列控制器不會因為任 何故障造成資源洩漏、模塊失效甚至宕機等錯誤。參見圖2,為本發明提供的磁碟陣列控制器故障處理方法第二實施例流程示意圖。 在本實施例中,將更為詳細的描述該磁碟陣列控制器故障處理方法的流程。在實施本發明提供的方法流程之前,需要預設磁碟陣列控制器的各類任務在各個 階段的運行狀態模型;所述磁碟陣列控制器的任務類型包括讀數據任務、寫數據任務和 無數據任務。更為具體的,在本發明中,我們將磁碟陣列控制器的任務分為三種類型讀數據任務讀數據任務是指磁碟陣列需要向外界返回數據的任務,包含所有的 對磁碟陣列中存儲數據的讀任務、信息查詢任務、系統報告任務等。對於此類任務的一般處理流程是磁碟陣列控制器收到讀數據命令後,首先驗證 命令的合法性,解析出命令請求的數據位置、數據長度,然後將命令插入待處理命令隊列 中;命令處理線程取出該命令後首先分配相應的緩衝區用來緩存數據,然後向相應的磁碟 驅動器發送讀數據請求;數據讀取完成後被放入緩衝區中;最後磁碟陣列控制器向任務請 求端返回命令處理狀態,通知任務請求端讀取數據,當數據讀取完成後,磁碟陣列控制器釋 放緩衝區並完成此次任務。寫數據任務寫數據任務是指磁碟陣列需要從外界獲取數據的任務,包含所有的 存儲數據任務、磁碟陣列配置任務等。寫數據任務的執行流程和讀數任務類似,區別在於磁 盤陣列控制器分配完緩衝區後會等待接收主機的數據,待數據接收完畢,數據的寫入策略 分為兩種寫穿和回寫。如果是寫穿策略,則立即向磁碟驅動器發送數據寫入請求;若是回 寫策略,數據將暫時放入緩存中,稍後寫入磁碟。無數據任務無數據任務是指不包含數據傳輸的任務,例如邏輯單元激活或釋放 任務、連結任務等。無數據任務的執行過程比數據讀寫任務簡單,通常磁碟陣列控制器收到 這類任務後,首先對任務進行合法性驗證,然後交由具體的處理過程進行處理,處理結束後 向主機返回結果。由上述各類任務執行流程可以看出,各種任務在其執行周期中要經歷若干個關鍵階段,系統的故障也通常發生在這些階段之間的轉化過程之中。因此,本發明提供的磁碟陣 列控制器故障處理方法要完成對任務運行狀態的實時監控,必需對任務的執行周期進行階 段劃分。本發明中,將任務到達某個階段定義為任務的一個狀態,由此,系統中所有任務的 執行階段組成一個狀態集合,該集合中的元素定義如表1所示。表 1 表1中的每一個「狀態名」都對應著一個具體的運行狀態模型,表徵磁碟陣列控制 器在該階段正常運行狀態時的參數、指標等。對於系統中的每一類任務,其執行周期是由上述狀態集合中的一個子集組成。例 如組成讀數據任務執行周期的狀態集合為{獲取任務、預處理、開始執行、申請資源、讀取 數據、返回數據、返回任務狀態、釋放資源、任務完成}。具體如表2所示表2
\
磁碟陣列控制器在執行讀數據任務的過程中,每到達一個階段都會主動註冊一次 運行狀態。本實施例提供的磁碟陣列控制器故障處理方法如圖2所示在步驟S200,接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀 態。在本發明實施例中,為敘述方便,以讀數據任務為例。更為具體的,例如磁碟陣列控制器執行讀數據任務時,在完成將任務放入隊列,等 待執行(即完成開始執行階段)的步驟後,磁碟陣列控制器下一步將向系統申請資源(即 進入申請資源階段),此時,磁碟陣列控制器應當主動註冊狀態名為「GET_RES」的運行狀 態,以通告本磁碟陣列控制器當前的讀數據任務執行情況。在步驟S201,根據所述磁碟陣列控制器主動註冊的運行狀態,查找其對應的運行 狀態模型。更為具體的,例如根據磁碟陣列控制器主動註冊的運行狀態的狀態名為「GET_ RES」,則在預置的運行狀態模型中查找與狀態名「GET_RES」對應的運行狀態模型。在步驟S202,判斷所述磁碟陣列控制器主動註冊的運行狀態,是否符合查找得到 的運行狀態模型。更為具體的,所述判斷包括判斷磁碟陣列控制器主動註冊的運行狀態的 各項參數是否在運行狀態模型中的參數範圍內;判斷磁碟陣列控制器主動註冊的運行狀態 的各項指標是否達到運行狀態模型中的最低指標要求。若磁碟陣列控制器主動註冊的運行 狀態中,所有的參數和指標都符合運行狀態模型,則判定磁碟陣列控制器的任務執行正常, 執行步驟S203 ;否則,判定磁碟陣列控制器的任務執行不正常,執行步驟S204。更進一步的,磁碟陣列控制器在任務執行過程中出現故障,除了主動註冊的運行 狀態符合運行狀態模型外,還有可能因為各種原因,根本就不進行主動註冊,或超過正常的 註冊時間間隔。為此,本實施例中的運行狀態模型中包括所述磁碟陣列控制器的各類任務 在各個階段之間的時間間隔。判斷所述磁碟陣列控制器在所述任務執行過程中是否出現故障還包括判斷所 述磁碟陣列控制器主動註冊運行狀態後,在對應運行狀態模型中規定的時間間隔內,是否 收到下一次運行狀態的註冊。例如磁碟陣列控制器在執行讀數據任務的過程中,主動注 冊了狀態名為「GET_RES」的運行狀態,在對應的運行狀態模型中,標明該狀態與下一狀態 「RD_DATA」之間的時間間隔應當小於2秒,即磁碟陣列控制器在完成本次運行狀態註冊後, 應當在2秒內完成向系統申請資源,進入下一階段——讀取數據,同時,註冊狀態名為「RD_ DATA」的運行狀態;若磁碟陣列控制器超時未註冊,則判定磁碟陣列控制器在該任務的執行 中出現故障,執行步驟S204。在步驟S203,繼續監控磁碟陣列控制器在其任務執行的後續階段運行狀態是否正
9常,直至所述任務完成。在步驟S204,針對不同的故障上下文可以採用不同的故障處理方法,包括任務回滾,對於磁碟陣列控制器而言,其本身多任務、高並發的特點,使其發生暫 態故障的可能性大大提升,而採用系統級重啟的方式來修復暫態故障的方法對於磁碟陣列 系統來說代價過大。由於磁碟陣列控制器在任務執行的每個關鍵階段都會主動註冊,因此 當故障發生時,可以讓任務回到前一個合法狀態重新執行,通過再一次的嘗試來修復暫態 故障。任務終止,任務回滾的方法可以有效地解決大多數暫態故障,而對於有些任務,在 其執行過程中可能需要同其他任務進行消息傳遞。為了保證系統的一致性,對於這類任務 的故障處理方式是終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋錯誤信息。系統安全關閉,對於一些嚴重的故障,在採用上述兩種故障處理方法都無法使系 統狀態恢復時,啟動應急操作,將磁碟陣列控制器緩存在內核中的數據回寫到非易失存儲 介質中,然後將系統安全的關閉。對於採用冗餘控制器的磁碟陣列系統,這種方式可以迅速 的通知備份磁碟陣列控制器進行故障接管,避免了傳統冗餘磁碟陣列控制器實現方法中, 故障只能在周期性的偵測後才能被發現的弊端,提高了系統整體的可靠性。優選的,本實施例提供的磁碟陣列控制器故障處理方法,對所述磁碟陣列控制器 的外圍設備進行定時的檢測,包括存儲介質的可用性、磁碟陣列控制器的機箱溫度、磁碟 陣列控制器的電源是否正常、系統資源的使用狀態;當所述外圍檢測模塊檢測到異常時,執 行步驟S204。實施本發明提供的磁碟陣列控制器故障處理方法,可以獨立、主動的監控磁碟陣 列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時進行故障處理。同時,在磁碟陣 列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁碟陣列控制器不會因為任 何故障造成資源洩漏、模塊失效甚至宕機等錯誤。參見圖3,為本發明提供的磁碟陣列控制器故障處理系統第一實施例結構示意圖, 如圖3所示,該磁碟陣列控制器故障處理系統包括信息收集模塊2,用於接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的 運行狀態;故障判斷模塊3,用於根據信息收集模塊2接收的磁碟陣列控制器的運行狀態,判 斷所述磁碟陣列控制器在任務執行過程中是否出現故障;故障處理模塊4,用於在故障判斷模塊3判定該磁碟陣列控制器在任務執行過程 中出現故障時,接管所述任務,並按照預定的故障處理程序處理該故障。實施本發明實施例提供的磁碟陣列控制器故障處理系統,具有如下有益效果 (一)獨立、主動的監控磁碟陣列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時 進行故障處理。(二)在磁碟陣列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保 證磁碟陣列控制器不會因為任何故障造成資源洩漏、模塊失效甚至宕機等錯誤。參見圖4,為本發明提供的磁碟陣列控制器故障處理系統第二實施例結構示意圖, 在本實施例中,將更為詳細的描述該磁碟陣列控制器故障處理系統各模塊的結構和功能。 如圖4所示,該磁碟陣列控制器故障處理系統包括狀態模型預置模塊1,用於預設磁碟陣列控制器的各類任務在各個階段的運行狀態模型;該磁碟陣列控制器的任務類型包括讀數據任務、寫數據任務和無數據任務。更為具體的在本發明中,我們將磁碟陣列控制器的任務分為三種類型讀數據任務讀數據任務是指磁碟陣列需要向外界返回數據的任務,包含所有的 對磁碟陣列中存儲數據的讀任務、信息查詢任務、系統報告任務等。對於此類任務的一般處理流程是磁碟陣列控制器收到讀數據命令後,首先驗證 命令的合法性,解析出命令請求的數據位置、數據長度,然後將命令插入待處理命令隊列 中;命令處理線程取出該命令後首先分配相應的緩衝區用來緩存數據,然後向相應的磁碟 驅動器發送讀數據請求;數據讀取完成後被放入緩衝區中;最後磁碟陣列控制器向任務請 求端返回命令處理狀態,通知任務請求端讀取數據,當數據讀取完成後,磁碟陣列控制器釋 放緩衝區並完成此次任務。寫數據任務寫數據任務是指磁碟陣列需要從外界獲取數據的任務,包含所有的 存儲數據任務、磁碟陣列配置任務等。寫數據任務的執行流程和讀數任務類似,區別在於磁 盤陣列控制器分配完緩衝區後會等待接收主機的數據,待數據接收完畢,數據的寫入策略 分為兩種寫穿和回寫。如果是寫穿策略,則立即向磁碟驅動器發送數據寫入請求;若是回 寫策略,數據將暫時放入緩存中,稍後寫入磁碟。無數據任務無數據任務是指不包含數據傳輸的任務,例如邏輯單元激活或釋放 任務、連結任務等。無數據任務的執行過程比數據讀寫任務簡單,通常磁碟陣列控制器收到 這類任務後,首先對任務進行合法性驗證,然後交由具體的處理過程進行處理,處理結束後 向主機返回結果。由上述各類任務可以看出,各種任務在其執行周期中要經歷若干個關鍵階段,故 障也通常發生在這些階段之間的轉化過程之中。因此,本發明提供的磁碟陣列控制器故障 處理系統要完成對任務運行狀態的實時監控,必需對任務的執行周期進行階段劃分。本發 明中,狀態模型預置模塊1將存儲所有任務的執行階段組成一個狀態集合,該集合中的元 素定義如表1所示。表1中的每一個「狀態名」都對應著一個具體的運行狀態模型,表徵磁碟陣列控制 器在該階段正常運行狀態時的參數、指標等。對於系統中的每一類任務,其執行周期是由上述狀態集合中的一個子集組成。例 如組成讀數據任務執行周期的狀態集合為{獲取任務、預處理、開始執行、申請資源、讀取 數據、返回數據、返回任務狀態、釋放資源、任務完成}。具體如表2所示磁碟陣列控制器 在執行讀數據任務的過程中,每到達一個階段都會主動註冊一次運行狀態。信息收集模塊2,用於接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的 運行狀態;在本發明實施例中,為敘述方便,以讀數據任務為例。更為具體的,例如磁碟陣列控制器執行讀數據任務時,在完成將任務放入隊列,等 待執行(即完成開始執行階段)的步驟後,磁碟陣列控制器下一步將向系統申請資源(即 進入申請資源階段),此時,磁碟陣列控制器應當主動向磁碟陣列控制器故障處理系統的信 息收集模塊2,註冊狀態名為「GET_RES」的運行狀態,以通告本磁碟陣列控制器當前的讀數 據任務執行情況。故障判斷模塊3,用於根據信息收集模塊2接收的磁碟陣列控制器的運行狀態,判 斷磁碟陣列控制器在任務執行過程中是否出現故障。更為具體的,故障判斷模塊3包括
模型查找單元31,用於根據磁碟陣列控制器主動註冊的運行狀態,在狀態模型預 置模塊1中查找其當前任務在當前階段的運行狀態模型。更為具體的,例如根據磁碟陣列 控制器主動註冊的運行狀態的狀態名為「GET_RES」,則在狀態模型預置模塊1中的運行狀 態模型中查找與狀態名「GET_RES」對應的運行狀態模型。比對判斷單元32,用於比對磁碟陣列控制器主動註冊的運行狀態,與模型查找單 元31查找得到的運行狀態模型是否一致;若一致,則比對判斷單元32判定磁碟陣列控制器 運行正常;否則,比對判斷單元32判定磁碟陣列控制器出現故障。更為具體的,比對判斷單元32需要判斷磁碟陣列控制器主動註冊的運行狀態的 各項參數是否在模型查找單元31獲取的運行狀態模型的參數範圍內;並且,比對判斷單元 32需要判斷磁碟陣列控制器主動註冊的運行狀態的各項指標是否達到運行狀態模型中的 最低指標要求。若磁碟陣列控制器主動註冊的運行狀態中,所有的參數和指標都符合運行 狀態模型,則比對判斷單元32需要判定磁碟陣列控制器的任務執行正常;否則,比對判斷 單元32需要判定磁碟陣列控制器的任務執行不正常。更進一步的,磁碟陣列控制器在任務執行過程中出現故障,除了主動註冊的運行 狀態符合運行狀態模型外,還有可能因為各種原因,根本就不進行主動註冊,或超過正常的 註冊時間間隔。為此,本實施例中的運行狀態模型中包括磁碟陣列控制器的各類任務在各 個階段之間的時間間隔。因此,本實施例提供的故障判斷模塊3還可以包括時限判斷單元33,用於在磁碟 陣列控制器主動註冊運行狀態後開始計時,判斷在對應運行狀態模型規定的時間間隔內, 是否收到磁碟陣列控制器的下一次運行狀態的註冊。例如磁碟陣列控制器在執行讀數據任務的過程中,主動向信息收集模塊2註冊 了狀態名為「GET_RES」的運行狀態,在狀態模型預置模塊1對應的運行狀態模型中,標明該 狀態與下一狀態「RD_DATA」之間的時間間隔應當小於2秒,即磁碟陣列控制器在完成本次 運行狀態註冊後,應當在2秒內完成向系統申請資源,進入下一階段——讀取數據,同時,向 信息收集模塊2註冊狀態名為「RD_DATA」的運行狀態;若磁碟陣列控制器超時未註冊,則時 限判斷單元33判定磁碟陣列控制器在該任務的執行中出現故障。故障處理模塊4,用於在故障判斷模塊3判定磁碟陣列控制器在任務執行過程中 出現故障時,接管所述任務,並按照預定的故障處理程序處理該故障。更為具體的,故障處 理模塊4包括第一處理單元41,用於將執行過程中出現故障的任務回滾,控制任務回到前一個 註冊的運行狀態中,重新執行該任務;對於磁碟陣列控制器而言,其本身多任務、高並發的 特點,使其發生暫態故障的可能性大大提升,而採用系統級重啟的方式來修復暫態故障的 方法對於磁碟陣列系統來說代價過大。由於磁碟陣列控制器在任務執行的每個關鍵階段都 會主動註冊,因此當故障發生時,第一處理單元41可以讓任務回到前一個合法狀態重新執 行,通過再一次的嘗試來修復暫態故障。第二處理單元42,用於終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋 錯誤信息。第一處理單元41採用的任務回滾的方法可以有效地解決大多數暫態故障,而對 於有些任務,在其執行過程中可能需要同其他任務進行消息傳遞。為了保證系統的一致性, 對於這類任務的故障處理方式是第二處理單元42終止任務的繼續運行、記錄錯誤日誌並
12對任務發起方反饋錯誤信息。第三處理單元43,用於執行磁碟陣列控制器的安全關閉,第三處理單元43將磁碟 陣列控制器緩存的數據回寫到非易失存儲介質中,安全的關閉磁碟陣列控制器。對於一些 嚴重的故障,第一處理單元41、第二處理單元42採用的兩種故障處理方法都無法使系統狀 態恢復時,第三處理單元43啟動應急操作,將磁碟陣列控制器緩存在內核中的數據回寫到 非易失存儲介質中,然後將系統安全的關閉。對於採用冗餘控制器的磁碟陣列系統,這種方 式可以迅速的通知備份磁碟陣列控制器進行故障接管,避免了傳統冗餘磁碟陣列控制器實 現方法中,故障只能在周期性的偵測後才能被發現的弊端,提高了系統整體的可靠性。優選的,本實施例提供的磁碟陣列控制器故障處理系統還包括外圍檢測模塊5,外圍檢測模塊5對磁碟陣列控制器的外圍設備進行定時的檢測, 包括存儲介質的可用性、磁碟陣列控制器的機箱溫度、磁碟陣列控制器的電源是否正常、 系統資源的使用狀態;當外圍檢測模塊5檢測到異常時,通知故障處理模塊4進行處理。實施本發明提供的磁碟陣列控制器故障處理系統,可以獨立、主動的監控磁碟陣 列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時進行故障處理。同時,在磁碟陣 列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁碟陣列控制器不會因為任 何故障造成資源洩漏、模塊失效甚至宕機等錯誤。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以 通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質 中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光碟、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發明一種較佳實施例而已,當然不能以此來限定本發明之權 利範圍,因此依本發明權利要求所作的等同變化,仍屬本發明所涵蓋的範圍。
權利要求
一種磁碟陣列控制器故障處理方法,其特徵在於,包括接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀態;根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任務執行過程中是否出現故障;若所述判斷為是,則接管所述任務,並按照預定的故障處理程序處理所述故障。
2.如權利要求1所述的磁碟陣列控制器故障處理方法,其特徵在於,所述接收磁碟陣 列控制器在其任務執行的各個階段,主動註冊的運行狀態之前,還包括預設所述磁碟陣列控制器的各類任務在各個階段的運行狀態模型;所述磁碟陣列控制 器的任務類型包括讀數據任務、寫數據任務和無數據任務。
3.如權利要求1或2所述的磁碟陣列控制器故障處理方法,其特徵在於,所述根據所述 磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任務執行過程中是否出現故 障,包括根據所述磁碟陣列控制器主動註冊的運行狀態,查找其當前任務在當前階段的運行狀 態模型;判斷所述磁碟陣列控制器主動註冊的運行狀態,是否符合查找得到的運行狀態模型。
4.如權利要求3所述的磁碟陣列控制器故障處理方法,其特徵在於,所述運行狀態模 型中包括所述磁碟陣列控制器的各類任務在各個階段之間的時間間隔;則所述根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任務執 行過程中是否出現故障,還包括判斷所述磁碟陣列控制器主動註冊運行狀態後,在對應運 行狀態模型規定的時間間隔內,是否收到下一次運行狀態的註冊。
5.如權利要求1或2所述的磁碟陣列控制器故障處理方法,其特徵在於,所述按照預定 的故障處理程序處理所述故障中,所述預定的故障處理程序包括任務回滾,控制執行過程中出現故障的任務回到前一個註冊的運行狀態中,重新執行 所述任務;任務終止,終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋錯誤信息;系統安全關閉,將磁碟陣列控制器緩存的數據回寫到非易失存儲介質中,安全的關閉 所述磁碟陣列控制器。
6.一種磁碟陣列控制器故障處理系統,其特徵在於,包括信息收集模塊,用於接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行 狀態;故障判斷模塊,用於根據所述信息收集模塊接收的磁碟陣列控制器的運行狀態,判斷 所述磁碟陣列控制器在所述任務執行過程中是否出現故障;故障處理模塊,用於在所述故障判斷模塊判定所述磁碟陣列控制器在任務執行過程中 出現故障時,接管所述任務,並按照預定的故障處理程序處理所述故障。
7.如權利要求6所述的磁碟陣列控制器故障處理系統,其特徵在於,所述接收磁碟陣 列控制器在其任務執行的各個階段,主動註冊的運行狀態之前,還包括狀態模型預置模塊,用於預設所述磁碟陣列控制器的各類任務在各個階段的運行狀態 模型;所述磁碟陣列控制器的任務類型包括讀數據任務、寫數據任務和無數據任務。
8.如權利要求6或7所述的磁碟陣列控制器故障處理系統,其特徵在於,所述故障判斷模塊包括模型查找單元,用於根據所述磁碟陣列控制器主動註冊的運行狀態,在所述狀態模型 預置模塊中查找其當前任務在當前階段的運行狀態模型;比對判斷單元,用於比對所述磁碟陣列控制器主動註冊的運行狀態,是否符合所述模 型查找單元查找得到的運行狀態模型;若一致,則判定磁碟陣列控制器運行正常;否則,判 定磁碟陣列控制器出現故障。
9.如權利要求8所述的磁碟陣列控制器故障處理系統,其特徵在於,所述運行狀態模 型中包括所述磁碟陣列控制器的各類任務在各個階段之間的時間間隔;則所述故障判斷模塊還包括時限判斷單元,用於在所述磁碟陣列控制器主動註冊運 行狀態後開始計時,判斷在對應運行狀態模型規定的時間間隔內,是否收到下一次運行狀 態的註冊。
10.如權利要求6或7所述的磁碟陣列控制器故障處理系統,其特徵在於,所述故障處 理模塊包括第一處理單元,用於將執行過程中出現故障的任務回滾,控制所述任務回到前一個注 冊的運行狀態中,重新執行該任務;第二處理單元,用於終止任務的繼續運行、記錄錯誤日誌並對任務發起方反饋錯誤信息;第三處理單元,用於執行磁碟陣列控制器的安全關閉,第三處理單元將磁碟陣列控制 器緩存的數據回寫到非易失存儲介質中,安全的關閉所述磁碟陣列控制器。
全文摘要
本發明公開一種磁碟陣列控制器故障處理方法及系統,該方法包括接收磁碟陣列控制器在其任務執行的各個階段,主動註冊的運行狀態;根據所述磁碟陣列控制器的運行狀態,判斷所述磁碟陣列控制器在所述任務執行過程中是否出現故障;若所述判斷為是,則接管所述任務,並按照預定的故障處理程序處理所述故障。實施本發明提供的磁碟陣列控制器故障處理方法及系統,可以獨立、主動的監控磁碟陣列控制器的運行過程,主動檢測磁碟陣列控制器故障並及時進行故障處理。同時,在磁碟陣列控制器發生故障時,磁碟陣列控制器故障處理系統能夠保證磁碟陣列控制器不會因為任何故障造成資源洩漏、模塊失效甚至宕機等錯誤。
文檔編號G06F11/07GK101887386SQ20101019019
公開日2010年11月17日 申請日期2010年6月2日 優先權日2010年6月2日
發明者王衛斌 申請人:深圳市迪菲特科技股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀