[發明專利]一種超時IO處理方法、系統、存儲介質及設備在審
| 申請號: | 202211046188.4 | 申請日: | 2022-08-30 |
| 公開(公告)號: | CN115408232A | 公開(公告)日: | 2022-11-29 |
| 發明(設計)人: | 蘇濤 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/10 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 楊帆;張元 |
| 地址: | 215000 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 超時 io 處理 方法 系統 存儲 介質 設備 | ||
本發明提供了一種超時IO處理方法、系統、存儲介質及設備,方法包括:通過存儲系統中IO棧上的所有模塊對主機下發的IO進行超時檢測;響應于有模塊檢測到主機下發的IO超時,由模塊下發特殊IO;響應于RAID模塊檢測到特殊IO,觸發RAID模塊下線,并向所有模塊分別發送RAID下線消息;響應于所有模塊分別接收到RAID下線消息,將各自的待由RAID模塊處理的IO以離線處理結果返回至主機。本發明避免了用戶主機在下發IO后出現超長時間等待返回結果的情況,進一步避免發生IO掛起引發節點熱重啟,進而有效提高了存儲系統的穩定性,并且有助于用戶的良好體驗。
技術領域
本發明涉及存儲技術領域,尤其涉及一種超時IO處理方法、系統、存儲介質及設備。
背景技術
存儲系統的核心功能就是處理IO(數據輸入Input/輸出Output),完成與客戶主機的讀寫交互。為了保障主機下發的IO能在有效時間內完成并給主機返回處理結果,存儲系統的HL(Host Layer,與主機交互的協議層)模塊接收IO時,會獲取當前時間戳,在當前時間戳基礎上加300秒計算出IO的有效的超時時間戳ttl,并把ttl記錄到IO的數據結構中。之后在IO經由各個轉發層、高速緩存、存儲池、RAID(Redundant Arrays of IndependentDisks,獨立磁盤冗余陣列)、驅動等多個模塊的處理過程中,HL等模塊會利用IO數據結構中的ttl對下發的IO進行超時檢測,如果檢測到下發的IO在有效超時時間內沒有返回,則會認為IO在存儲陣列中被掛起,會觸發存儲節點熱重啟。
發現IO被掛起后,觸發存儲節點熱重啟的操作是為了避免客戶主機在下發IO后出現超長時間等待返回結果的情況,同時可以利用節點重啟把存儲系統IO棧中造成阻塞的各模塊復原。但這種操作會大大降低存儲系統的穩定性,帶給客戶不良體驗。
發明內容
有鑒于此,本發明的目的在于提出一種超時IO處理方法、系統、存儲介質及設備,用以解決現有技術中客戶主機在下發IO后出現超長時間等待返回結果,會認為IO在存儲陣列中被掛起,從而觸發存儲節點熱重啟,降低了存儲系統穩定性的問題。
基于上述目的,本發明提供了一種超時IO處理方法,包括以下步驟:
通過存儲系統中IO棧上的所有模塊對主機下發的IO進行超時檢測;
響應于有模塊檢測到主機下發的IO超時,由模塊下發特殊IO;
響應于RAID模塊檢測到特殊IO,觸發RAID模塊下線,并向所有模塊分別發送RAID下線消息;
響應于所有模塊分別接收到RAID下線消息,將各自的待由RAID模塊處理的IO以離線處理結果返回至主機。
在一些實施例中,方法還包括:
響應于RAID模塊下線,啟動超時時間監控;
響應于監控到超時時間達到預設時長,觸發RAID模塊上線,并向所有模塊分別發送RAID上線消息。
在一些實施例中,方法還包括:
響應于所有模塊分別接收到RAID上線消息,恢復正常的IO處理流程。
在一些實施例中,響應于RAID模塊下線,啟動超時時間監控包括:
響應于RAID模塊下線,啟動定時器進行超時時間的計時,直到超時時間達到預設時長。
在一些實施例中,響應于RAID模塊檢測到特殊IO,觸發RAID模塊下線包括:
響應于RAID模塊檢測到特殊IO上的超時時間戳,觸發RAID模塊下線。
在一些實施例中,特殊IO為讀操作IO。
在一些實施例中,特殊IO所對應的地址與主機下發的IO所對應的地址不重合。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211046188.4/2.html,轉載請聲明來源鉆瓜專利網。





