[發明專利]一種磁盤故障探測方法、裝置、設備及可讀存儲介質在審
| 申請號: | 202110948411.3 | 申請日: | 2021-08-18 |
| 公開(公告)號: | CN113672422A | 公開(公告)日: | 2021-11-19 |
| 發明(設計)人: | 賀計文 | 申請(專利權)人: | 濟南浪潮數據技術有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/14;G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 侯珊 |
| 地址: | 250101 山東省濟南市自由貿易試驗區*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 磁盤 故障 探測 方法 裝置 設備 可讀 存儲 介質 | ||
本發明公開了一種磁盤故障探測方法,包括:對檢測到的磁盤讀對象EIO異常進行解析,得到執行本次IO操作的目標sd驅動;查找目標sd驅動對應的目標sg驅動;調用目標sg驅動的ioctl接口對磁盤的off\len區域進行讀取操作;判斷是否對磁盤的off\len區域讀取成功;若是,則調用目標sd驅動對出現磁盤讀對象EIO異常的目標磁盤讀對象進行重讀操作;若否,則利用目標sg驅動獲取磁盤讀對象EIO異常對應的錯誤原因信息,并將錯誤原因信息透傳至用戶態。本發明避免了不必要的換盤,降低了對上層業務的影響,提升了存儲系統的可用性。本發明還公開了一種磁盤故障探測裝置、設備及存儲介質,具有相應技術效果。
技術領域
本發明涉及存儲技術領域,特別是涉及一種磁盤故障探測方法、裝置、設備及計算機可讀存儲介質。
背景技術
隨著大數據、云計算、高性能應用大量興起,將分布式存儲系統作為后端存儲,而存儲在使用一段時間后,經常出現磁盤EIO(I/O Error)故障,即linux錯誤碼,表示IO(輸入/輸出)出錯。
存儲讀取數據出現EIO時,存儲無法區分出具體的故障類型,比如硬盤故障(Hardware error)、Medium error、Not Ready、拔盤、did_bad_target、did_no_connect、did_soft_error、命令超時等等,因用戶態無法獲取故障原因,所以無法對EIO的磁盤做進一步的處理,只能主動斷言(assert)踢盤。該方法會出現很多不必要的換盤,影響上層業務,導致存儲系統可用性低。
綜上所述,如何有效地解決易出現不必要的換盤,影響上層業務,導致存儲系統可用性低等問題,是目前本領域技術人員急需解決的問題。
發明內容
本發明的目的是提供一種磁盤故障探測方法,該方法避免了不必要的換盤,降低了對上層業務的影響,提升了存儲系統的可用性;本發明的另一目的是提供一種磁盤故障探測裝置、設備及計算機可讀存儲介質。
為解決上述技術問題,本發明提供如下技術方案:
一種磁盤故障探測方法,包括:
對檢測到的磁盤讀對象EIO異常進行解析,得到執行本次IO操作的目標sd驅動;
查找所述目標sd驅動對應的目標sg驅動;其中,預先維護有磁盤中各sg驅動與各sd驅動之間的對應關系;
調用所述目標sg驅動的ioctl接口對所述磁盤的off\len區域進行讀取操作;
判斷是否對所述磁盤的off\len區域讀取成功;
若是,則調用所述目標sd驅動對出現所述磁盤讀對象EIO異常的目標磁盤讀對象進行重讀操作;
若否,則利用所述目標sg驅動獲取所述磁盤讀對象EIO異常對應的錯誤原因信息,并將所述錯誤原因信息透傳至用戶態。
在本發明的一種具體實施方式中,將所述錯誤原因信息透傳至用戶態,包括:
判斷所述錯誤原因信息的數據格式是否為sense info格式;
若否,則對所述錯誤原因信息進行格式轉化,得到sense info格式的錯誤原因信息;
將sense info格式的錯誤原因信息透傳至用戶態。
在本發明的一種具體實施方式中,在利用所述目標sg驅動獲取所述磁盤讀對象EIO異常對應的錯誤原因信息之后,還包括:
判斷所述錯誤原因信息是否為Medium Error;
若是,則對所述目標磁盤讀對象進行數據恢復操作;
若否,則對所述磁盤進行剔除操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于濟南浪潮數據技術有限公司,未經濟南浪潮數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110948411.3/2.html,轉載請聲明來源鉆瓜專利網。





