System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及存儲,尤其涉及一種分布式存儲硬盤故障處理方法、裝置和設備。
技術介紹
1、隨高清視頻、圖像處理、視頻監控等技術的發展,用戶數據容量正變得越來越大,而且用戶對存儲數據的讀寫性能的要求也在同步增加。用戶在選購存儲產品時,通常會對性能提出明確的要求,以滿足業務的需要;在許多業務場景下,存儲的性能不僅僅是快慢的區別,甚至會影響到業務本身是否能夠正常運行,以文件數字化為例,在檔案館、圖書館將紙質圖書數字化后,存儲到存儲服務器中,當越來越多的數字化圖書存儲進來,存儲集群的容量將會越來越大;同時會有大量的用戶進行并發的訪問,如果存儲集群的讀寫性能差、讀寫延遲高,將會降低用戶使用的友好度,影響數字化的推進。因此提升存儲集群的讀寫性能十分關鍵。
2、隨著數字話的發展,分布式存儲使用領域越來越多,存儲系統上的數據也隨之增多。硬盤故障,在分布式存儲中是一種常見的硬件故障,面對硬盤故障,如何保證這些核心數據的正常讀寫訪問,是一個很重要的研究方向。
3、存儲系統通常是采用陣列卡管理硬盤。陣列卡可以看作是一個微型計算機系統,通過roc芯片來完成對存儲設備的管理。roc芯片中包括通用cpu和內存控制器,其中通用cpu一般采用雙核架構,用于通用計算,能夠提供強大的讀寫性能和良好的容災能力。
4、使用陣列卡管理磁盤,由于陣列卡存在緩存,陣列卡下的磁盤讀寫性能得到了提升,且所有磁盤管理操作,統一通過陣列卡進行管理,使用便捷,在存儲系統交付方案中,通常都會采用陣列卡管理物理磁盤。
5、所有磁盤通過陣列卡管
6、一塊盤故障導致陣列卡下所有io阻塞的原因如下:
7、1、業務io請求下發給陣列卡后,在指定時間內(在io請求下發時會啟動相應的定時器,默認為30s),沒有執行完成(執行完成回調scsi_done函數),則進入io錯誤處理流程。
8、2、陣列卡在處理錯誤io流程時,陣列卡將進入修復狀態(進行陣列卡reset操作,進行自修復,如果重啟一次不能修復,會繼續嘗試reset修復,默認執行三次reset修復動作),修復狀態會阻止任何發送到陣列卡的新請求。
9、每次陣列卡執行reset修復動作,都會引起陣列卡下的所有磁盤io阻塞,進而引起陣列卡下所有磁盤io超時。在存儲集群中表現為磁盤狀態異常,反復震蕩,影響存儲集群業務穩定性。
10、由于磁盤故障,導致陣列卡故障。陣列卡修復動作默認執行三次,如果三次都無法修復,再將故障磁盤踢出。在業務連續性要求不高的場景,通過陣列卡重啟,恢復故障磁盤,可以有效的降低成本。但在分布式存儲產品中,采用陣列卡重啟的方案,會導致存儲集群中磁盤反復下線down/上線up狀態切換,引起存儲集群異常,導致上層io卡頓甚至報錯,影響客戶業務。
技術實現思路
1、有鑒于此,本專利技術提供一種分布式存儲硬盤故障處理方法、裝置和設備,用于解決分布式存儲系統中陣列卡管理硬盤的技術問題。
2、基于本專利技術一實施例的一方面,本專利技術提供了一種分布式存儲硬盤故障處理方法,該方法應用于存儲節點,存儲節點上部署有陣列卡,該方法包括:
3、陣列卡驅動檢測下掛的硬盤錯誤,獲取硬盤錯誤碼;
4、當陣列卡驅動根據硬盤錯誤碼判定為硬件錯誤時,陣列卡驅動針對產生硬件錯誤的硬盤執行踢盤處理;
5、當陣列卡驅動根據硬盤錯誤碼判定為非硬件錯誤時,將硬盤錯誤上報存儲軟件;
6、當存儲軟件根據硬盤錯誤碼判定為介質錯誤時,存儲軟件采用覆蓋寫方式嘗試修復硬盤錯誤。
7、進一步地,當存儲軟件根據硬盤錯誤碼判定為非介質錯誤時,存儲軟件根據在預設故障時間閾值內產生的硬盤故障數量執行存儲節點隔離或單盤踢盤操作。
8、進一步地,當存儲軟件根據在預設故障時間閾值內產生的硬盤故障數量大于等于第一故障數量閾值時,存儲軟件執行存儲節點的隔離操作。
9、進一步地,當存儲軟件根據在預設故障時間閾值內產生的硬盤故障數量小于等于第二故障數量閾值時,存儲軟件指令陣列卡驅動進行普通單盤踢盤操作。
10、進一步地,在存儲軟件執行踢盤或存儲節點隔離操作的同時,向存儲集群上報相應的告警。
11、基于本專利技術實施例的另一方面,本專利技術還提供一種分布式存儲硬盤故障處理裝置,該裝置應用于存儲節點,存儲節點上部署有陣列卡,該裝置包括:
12、陣列卡,用于通過陣列卡驅動檢測下掛的硬盤錯誤,獲取硬盤錯誤碼;當陣列卡驅動根據硬盤錯誤碼判定為硬件錯誤時,陣列卡驅動針對產生硬件錯誤的硬盤執行踢盤處理;當陣列卡驅動根據硬盤錯誤碼判定為非硬件錯誤時,將硬盤錯誤上報存儲軟件;
13、硬盤錯誤處理模塊,用于在存儲軟件中處理硬盤錯誤,在根據硬盤錯誤碼判定為介質錯誤時,采用覆蓋寫方式嘗試修復硬盤錯誤。
14、進一步地,硬盤錯誤處理模塊,還用于根據硬盤錯誤碼判定為非介質錯誤時,根據在預設故障時間閾值內產生的硬盤故障數量執行存儲節點隔離或單盤踢盤操作。
15、進一步地,所述硬盤錯誤處理模塊包括:
16、節點隔離單元,用于根據在預設故障時間閾值內產生的硬盤故障數量大于等于第一故障數量閾值時,執行存儲節點的隔離操作;
17、單盤隔離單元,用于根據在預設故障時間閾值內產生的硬盤故障數量小于等于第二故障數量閾值時,指令陣列卡驅動進行普通單盤踢盤操作;
18、告警單元,用于在執行踢盤或存儲節點隔離操作的同時,向存儲集群上報相應的告警。
19、本專利技術提供的裝置可以以軟件、硬件或軟硬結合的方式實現。當以軟件模塊方式實現時,該軟件模塊的程序代碼被加載到設備的存儲介質中,由處理器讀取存儲介質中的程序代碼并執行。
20、本專利技術由分布式存儲系統中的陣列卡驅動識別硬盤故障的錯誤碼,根據故障碼進行分級故障處理,不再使用陣列卡reset自修復的故障處理方案,同時存儲軟件側主動檢查磁盤io錯誤信息,對于同一主機的單盤、多盤故障采用不同的分級故障隔離機制。本專利技術采用陣列卡硬件驅動與存儲軟件相結合的方式,可快速隔離不可以修復的故障盤,并通過故障盤的個數來識別陣列卡故障或者主機故障,避免多盤依次故障的情況。
本文檔來自技高網...【技術保護點】
1.一種分布式存儲硬盤故障處理方法,其特征在于,該方法應用于存儲節點,存儲節點上部署有陣列卡,該方法包括:
2.根據權利要求1所述的方法,其特征在于,
3.根據權利要求2所述的方法,其特征在于,
4.根據權利要求2所述的方法,其特征在于,
5.根據權利要求3或4所述的方法,其特征在于,
6.一種分布式存儲硬盤故障處理裝置,其特征在于,該裝置應用于存儲節點,存儲節點上部署有陣列卡,該裝置包括:
7.根據權利要求1所述的裝置,其特征在于,
8.根據權利要求7所述的裝置,其特征在于,所述硬盤錯誤處理模塊包括:
9.一種電子設備,其特征在于,包括處理器、通信接口、存儲介質和通信總線,其中,處理器、通信接口、存儲介質通過通信總線完成相互間的通信;
10.一種存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序當被處理器執行時實施如權利要求1至5中任一項所述的方法。
【技術特征摘要】
1.一種分布式存儲硬盤故障處理方法,其特征在于,該方法應用于存儲節點,存儲節點上部署有陣列卡,該方法包括:
2.根據權利要求1所述的方法,其特征在于,
3.根據權利要求2所述的方法,其特征在于,
4.根據權利要求2所述的方法,其特征在于,
5.根據權利要求3或4所述的方法,其特征在于,
6.一種分布式存儲硬盤故障處理裝置,其特征在于,該裝置應用于存儲節點,存儲節點上部署有陣列卡...
【專利技術屬性】
技術研發人員:劉浩,
申請(專利權)人:新華三信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。