本發明涉及通信,尤其涉及一種慢盤模擬方法、裝置、設備及可讀存儲介質。
背景技術:
1、造成硬盤時延變大而成為慢盤的原因有很多,其中包括內部因素(如盤體故障)或外部因素(如溫度過高)。對于存儲系統而言,如果能夠準確地發現慢盤并作出相應的處理(如隔離慢盤),就能夠保障存儲系統提供持續穩定的性能。既然慢盤對存儲系統的影響這么大,那么在存儲系統的研發以及測試等階段如何進行慢盤模擬,進而考察存儲系統是否能夠對慢盤進行處理就顯得異常重要了。目前,模擬慢盤的方法主要有以下兩種:
2、方法1:使用真實的慢盤。這種慢盤往往來自于真實的生產環境,通常情況下,真實的慢盤難以獲得,即使可以獲得這種慢盤,對于某塊慢盤本身而言,它的特征表現比較固定,未必是用戶期望模擬的慢盤的表現。此外,在存儲系統中將正常硬盤取出并替換為真實的慢盤,還將面臨著數據重構等復雜的問題,且無法模擬存儲硬盤從正常成為慢盤的這種變化。因而該方法實際應用價值和可操作性較低、適用范圍也受限。
3、方法2:通過專用儀表的方式來模擬慢盤。目前,因為專用儀表的使用方法導致其對存儲系統的適用普遍性上存在一定的局限,且存在采購成本高、使用不方便的問題。
4、由上,現有技術中的慢盤模擬方案存在適用范圍窄等缺陷。
技術實現思路
1、本發明的目的在于提供一種慢盤模擬方法、裝置、設備及可讀存儲介質,以解決現有技術中慢盤模擬方案適用范圍窄的問題。
2、為了解決上述技術問題,本發明實施例提供一種慢盤模擬方法,包括:
3、獲取存儲系統中所配置的硬盤信息;
4、根據所述硬盤信息,確定延遲策略;
5、在目標路徑中注入所述延遲策略;
6、在所述目標路徑上,根據所述延遲策略,進行慢盤模擬;
7、其中,所述目標路徑為所述存儲系統中各類存儲協議的輸入輸出io公共路徑。
8、可選的,所述根據所述硬盤信息,確定延遲策略,包括:
9、根據延遲注入模式和所述硬盤信息,確定延遲策略;
10、其中,所述延遲注入模式包括:壓力模式和截獲模式;
11、所述壓力模式用于對目標硬盤按照所述延遲策略發起附加壓力的讀操作;
12、所述截獲模式用于對寫入目標硬盤的io進行截獲,并按照所述延遲策略對截獲的io注入延遲。
13、可選的,所述延遲策略包括:目標硬盤的第一信息以及對應的延遲參數信息。
14、可選的,在所述延遲注入模式為壓力模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備信息確定的;和/或,所述延遲參數信息包括:加壓隊列深度、加壓io大小、加壓線程數以及延遲注入時長;
15、在所述延遲注入模式為截獲模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備號信息確定的;和/或,所述延遲參數信息包括:延遲時間以及延遲注入時長。
16、可選的,所述根據所述延遲策略,進行慢盤模擬,包括:
17、根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬。
18、可選的,所述根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬,包括:
19、在所述延遲注入模式為壓力模式的情況下,在所述存儲系統的用戶空間上,向所述目標硬盤,發起所述延遲參數信息所對應的附加壓力的讀操作;
20、在所述延遲注入模式為截獲模式的情況下,在所述存儲系統的塊層,對寫入所述目標硬盤的io進行截獲,并根據所述延遲參數信息向截獲的io注入延遲。
21、可選的,所述根據所述延遲參數信息向截獲的io注入延遲,包括:
22、根據所述延遲參數信息,采用修改所述塊層中提供的函數的方式向截獲的io注入延遲。
23、可選的,還包括:
24、在向所述目標硬盤注入延遲的過程中,監控并顯示所述目標硬盤的io情況。
25、本發明實施例還提供了一種慢盤模擬裝置,包括:
26、第一獲取模塊,用于獲取存儲系統中所配置的硬盤信息;
27、第一確定模塊,用于根據所述硬盤信息,確定延遲策略;
28、第一處理模塊,用于在目標路徑中注入所述延遲策略;
29、第二處理模塊,用于在所述目標路徑上,根據所述延遲策略,進行慢盤模擬;
30、其中,所述目標路徑為所述存儲系統中各類存儲協議的輸入輸出io公共路徑。
31、可選的,所述根據所述硬盤信息,確定延遲策略,包括:
32、根據延遲注入模式和所述硬盤信息,確定延遲策略;
33、其中,所述延遲注入模式包括:壓力模式和截獲模式;
34、所述壓力模式用于對目標硬盤按照所述延遲策略發起附加壓力的讀操作;
35、所述截獲模式用于對寫入目標硬盤的io進行截獲,并按照所述延遲策略對截獲的io注入延遲。
36、可選的,所述延遲策略包括:目標硬盤的第一信息以及對應的延遲參數信息。
37、可選的,在所述延遲注入模式為壓力模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備信息確定的;和/或,所述延遲參數信息包括:加壓隊列深度、加壓io大小、加壓線程數以及延遲注入時長;
38、在所述延遲注入模式為截獲模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備號信息確定的;和/或,所述延遲參數信息包括:延遲時間以及延遲注入時長。
39、可選的,所述根據所述延遲策略,進行慢盤模擬,包括:
40、根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬。
41、可選的,所述根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬,包括:
42、在所述延遲注入模式為壓力模式的情況下,在所述存儲系統的用戶空間上,向所述目標硬盤,發起所述延遲參數信息所對應的附加壓力的讀操作;
43、在所述延遲注入模式為截獲模式的情況下,在所述存儲系統的塊層,對寫入所述目標硬盤的io進行截獲,并根據所述延遲參數信息向截獲的io注入延遲。
44、可選的,所述根據所述延遲參數信息向截獲的io注入延遲,包括:
45、根據所述延遲參數信息,采用修改所述塊層中提供的函數的方式向截獲的io注入延遲。
46、可選的,還包括:
47、第三處理模塊,用于在向所述目標硬盤注入延遲的過程中,監控并顯示所述目標硬盤的io情況。
48、本發明實施例還提供了一種慢盤模擬設備,包括:處理器;
49、所述處理器,用于獲取存儲系統中所配置的硬盤信息;
50、根據所述硬盤信息,確定延遲策略;
51、在目標路徑中注入所述延遲策略;
52、在所述目標路徑上,根據所述延遲策略,進行慢盤模擬;
53、其中,所述目標路徑為所述存儲系統中各類存儲協議的輸入輸出io公共路徑。
54、可選的,所述根據所述硬盤信息,確定延遲策略,包括:
55、根據延遲注入模式和所述硬盤信息,確定延遲策略;
56、其中,所述延遲注入模式包括:壓力模式和截獲模式;
57、所述壓力模式用于對目標硬盤按照所述延遲策略發起附加壓力的讀操作;
58、所述截獲模式用于對寫入目標硬盤的io進行截獲,并按照所述延遲策略對截獲的io注入延遲。
59、可選的,所述延遲策略包括:目標硬盤的第一信息以及對應的延遲參數信息。
60、可選的,在所述延遲注入模式為壓力模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備信息確定的;和/或,所述延遲參數信息包括:加壓隊列深度、加壓io大小、加壓線程數以及延遲注入時長;
61、在所述延遲注入模式為截獲模式的情況下,所述第一信息是根據所述硬盤信息中的硬盤設備號信息確定的;和/或,所述延遲參數信息包括:延遲時間以及延遲注入時長。
62、可選的,所述根據所述延遲策略,進行慢盤模擬,包括:
63、根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬。
64、可選的,所述根據所述延遲策略,向所述延遲策略中第一信息所對應的目標硬盤注入延遲,進行慢盤模擬,包括:
65、在所述延遲注入模式為壓力模式的情況下,在所述存儲系統的用戶空間上,向所述目標硬盤,發起所述延遲參數信息所對應的附加壓力的讀操作;
66、在所述延遲注入模式為截獲模式的情況下,在所述存儲系統的塊層,對寫入所述目標硬盤的io進行截獲,并根據所述延遲參數信息向截獲的io注入延遲。
67、可選的,所述根據所述延遲參數信息向截獲的io注入延遲,包括:
68、根據所述延遲參數信息,采用修改所述塊層中提供的函數的方式向截獲的io注入延遲。
69、可選的,所述處理器還用于:
70、在向所述目標硬盤注入延遲的過程中,監控并顯示所述目標硬盤的io情況。
71、本發明實施例還提供了一種慢盤模擬設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的程序;所述處理器執行所述程序時實現上述的慢盤模擬方法。
72、本發明實施例還提供了一種可讀存儲介質,其上存儲有程序,該程序被處理器執行時實現上述的慢盤模擬方法中的步驟。
73、本發明的上述技術方案的有益效果如下:
74、上述方案中,所述慢盤模擬方法通過獲取存儲系統中所配置的硬盤信息;根據所述硬盤信息,確定延遲策略;在目標路徑中注入所述延遲策略;在所述目標路徑上,根據所述延遲策略,進行慢盤模擬;其中,所述目標路徑為所述存儲系統中各類存儲協議的輸入輸出io公共路徑;能夠實現通過軟件的方式來模擬慢盤,避免使用真實的慢盤或通過專用儀表的方式來模擬慢盤所造成的適用范圍受限的問題,此外,本方案中通過在io公共路徑注入延遲(即可作用在塊層block?layer及更高層上(各協議公共的路徑上)),可以避免因為不同存儲協議所對應的io流程不同所造成的方案無法適用,進一步提高了適用性、保證了方案的適用范圍,且本方案還可以模擬存儲硬盤從正常成為慢盤的變化,進一步支持慢盤模擬需求,很好的解決了現有技術中慢盤模擬方案適用范圍窄的問題。