本發(fā)明涉及磁盤陣列創(chuàng)建領域,特別是涉及一種磁盤陣列創(chuàng)建方法、設備、存儲介質及程序產品。
背景技術:
1、raid(redundant?arrays?of?independent?disks,磁盤陣列)是一種數據存儲技術,能夠將多個物理磁盤組合成一個邏輯磁盤來提高數據讀寫速度和容錯能力。雖然磁盤陣列具有一定的容錯能力,但是它只允許部分磁盤出現故障,超過規(guī)定數量就會發(fā)生數據丟失,例如raid5能夠允許一塊磁盤出現故障而不丟失數據。
2、假設磁盤陣列卡下掛載有6塊一樣大小的磁盤,編號為0到5,此時想創(chuàng)建2個raid5級別的磁盤陣列,各自所需3個磁盤,由于選擇哪幾個磁盤組成磁盤陣列是沒有限制的,并且,每個磁盤出現故障的概率是不同的,而每個磁盤陣列能夠允許出現故障盤的數量又是有限的,如果故障盤的數量超過允許值,則該磁盤陣列就會出現數據丟失,因此,不同組合的磁盤組成的磁盤陣列的數據丟失概率不同。
3、以0號磁盤和1號磁盤出現故障的概率為0.08,剩余磁盤出現故障的概率均為0.02為例,raid5級別的磁盤陣列最多允許一塊磁盤出現故障而不丟失數據,這種情況下[0,1,2]和[3,4,5]這種組合的數據丟失概率會比[0,2,3]和[1,4,5]這種組合的數據丟失概率要高。同等磁盤條件下,選擇[0,1,2]和[3,4,5]這種組合創(chuàng)建磁盤陣列會帶來更高的數據丟失風險。
4、可見,如何在同等磁盤條件下使得創(chuàng)建的磁盤陣列具有較低的數據丟失風險,是本領域技術人員需要解決的問題。
技術實現思路
1、本發(fā)明實施例的目的在于提供一種磁盤陣列創(chuàng)建方法、設備、存儲介質及程序產品,可以在同等磁盤條件下使得創(chuàng)建的磁盤陣列具有較低的數據丟失風險。其具體方案如下:
2、第一方面,本發(fā)明提供了一種磁盤陣列創(chuàng)建方法,包括:
3、獲取待創(chuàng)建磁盤陣列的配置信息,并確定磁盤陣列卡下掛載的各個磁盤的故障概率;配置信息包括待創(chuàng)建磁盤陣列的總數量、各待創(chuàng)建磁盤陣列的級別以及各自所需的磁盤數量;
4、利用配置信息并基于各個磁盤的故障概率,對各個磁盤進行分組,以得到目標磁盤組合;目標磁盤組合為分組得到的若干種磁盤組合中的數據丟失概率最小的組合;其中,每種磁盤組合均包括與各待創(chuàng)建磁盤陣列分別對應的子磁盤組合,每種磁盤組合的數據丟失概率均為基于每種磁盤組合中的磁盤的故障概率確定的數值;
5、利用各待創(chuàng)建磁盤陣列的級別并基于目標磁盤組合中的各子磁盤組合,創(chuàng)建相應級別的磁盤陣列。
6、可選的,確定磁盤陣列卡下掛載的各個磁盤的故障概率,包括:
7、獲取磁盤陣列卡下掛載的各個磁盤的當前狀態(tài)信息;
8、基于各個磁盤的當前狀態(tài)信息,確定各個磁盤所處的當前階段;
9、基于各個磁盤所處的當前階段,確定各個磁盤的故障概率。
10、可選的,基于各個磁盤的當前狀態(tài)信息,確定各個磁盤所處的當前階段,包括:
11、基于任一磁盤中的各存儲顆粒的被寫次數和擦寫使用率,確定任一磁盤所處的當前階段;
12、其中,任一磁盤為各個磁盤中的任意一個磁盤。
13、可選的,基于任一磁盤中的各存儲顆粒的被寫次數和擦寫使用率,確定任一磁盤所處的當前階段,包括:
14、判斷任一磁盤中的各存儲顆粒是否均被寫過一次;
15、若任一磁盤中的任一存儲顆粒未被寫過一次,則確定任一磁盤所處的當前階段為早期階段;
16、若任一磁盤中的各存儲顆粒均被寫過一次,則判斷任一磁盤中的各存儲顆粒的擦寫使用率是否均達到預設使用率;
17、若任一磁盤中的任一存儲顆粒的擦寫使用率未達到預設使用率,則確定任一磁盤所處的當前階段為穩(wěn)定階段;
18、若任一磁盤中的各存儲顆粒的擦寫使用率均達到預設使用率,則確定任一磁盤所處的當前階段為晚期階段。
19、可選的,基于各個磁盤所處的當前階段,確定各個磁盤的故障概率,包括:
20、若任一磁盤所處的當前階段為早期階段,則基于第一相對系數和預設故障概率確定任一磁盤的故障概率;
21、若任一磁盤所處的當前階段為穩(wěn)定階段,則將預設故障概率確定為任一磁盤的故障概率;
22、若任一磁盤所處的當前階段為晚期階段,則基于第二相對系數和預設故障概率確定任一磁盤的故障概率;
23、其中,第一相對系數和第二相對系數均大于1。
24、可選的,判斷任一磁盤中的各存儲顆粒是否均被寫過一次,包括:
25、通過確定任一磁盤的總寫入數據量是否大于預設數據量,以判斷任一磁盤中的各存儲顆粒是否均被寫過一次;
26、其中,預設數據量為基于任一磁盤中的各存儲顆粒的數量以及每個存儲顆粒的單位寫入數據量確定的數值。
27、可選的,基于第一相對系數和預設故障概率確定任一磁盤的故障概率,包括:
28、基于任一磁盤的總寫入數據量和預設數據量之間的比值,確定第一相對系數;
29、根據第一相對系數和預設故障概率,確定任一磁盤的故障概率。
30、可選的,判斷任一磁盤中的各存儲顆粒是否均被寫過一次,包括:
31、通過確定任一磁盤的通電時間是否大于預設時間,以判斷任一磁盤中的各存儲顆粒是否均被寫過一次;
32、其中,預設時間為基于預設天數和每天小時數確定的數值。
33、可選的,基于第一相對系數和預設故障概率確定任一磁盤的故障概率,包括:
34、基于任一磁盤的通電時間和預設時間之間的比值,確定第一相對系數;
35、根據第一相對系數和預設故障概率,確定任一磁盤的故障概率。
36、可選的,基于第二相對系數和預設故障概率確定任一磁盤的故障概率,包括:
37、基于任一磁盤中的各存儲顆粒的擦寫使用率以及預設使用率,確定第二相對系數;
38、根據第二相對系數和預設故障概率,確定任一磁盤的故障概率。
39、可選的,基于任一磁盤中的各存儲顆粒的擦寫使用率以及預設使用率,確定第二相對系數,包括:
40、基于任一磁盤中的各存儲顆粒的擦寫使用率確定平均使用率,以得到任一磁盤的擦寫使用率;
41、根據任一磁盤的擦寫使用率和預設使用率之間的差值,確定第二相對系數。
42、可選的,每種磁盤組合的數據丟失概率的確定過程,包括:
43、基于任一子磁盤組合中的磁盤的故障概率,確定任一子磁盤組合的數據丟失概率;任一子磁盤組合為每種磁盤組合包含的各子磁盤組合中的任意一個子磁盤組合;
44、根據每種磁盤組合中的各子磁盤組合分別對應的數據丟失概率,確定每種磁盤組合的數據丟失概率。
45、可選的,基于任一子磁盤組合中的磁盤的故障概率,確定任一子磁盤組合的數據丟失概率,包括:
46、確定任一子磁盤組合對應的目標待創(chuàng)建磁盤陣列;
47、基于目標待創(chuàng)建磁盤陣列對應的級別,確定允許故障磁盤數;允許故障磁盤數表征目標待創(chuàng)建磁盤陣列在故障磁盤數大于允許故障磁盤數時發(fā)生數據丟失;
48、利用允許故障磁盤數并基于任一子磁盤組合中的磁盤的故障概率,確定任一子磁盤組合的數據丟失概率。
49、可選的,利用允許故障磁盤數并基于任一子磁盤組合中的磁盤的故障概率,確定任一子磁盤組合的數據丟失概率,包括:
50、基于目標待創(chuàng)建磁盤陣列所需的磁盤數量以及允許故障磁盤數,確定各目標數量;目標數量為不大于目標待創(chuàng)建磁盤陣列所需的磁盤數量且大于允許故障磁盤數的正整數;
51、基于任一子磁盤組合中的磁盤的故障概率,確定目標待創(chuàng)建磁盤陣列在目標數量個磁盤發(fā)生故障時的概率;
52、根據目標待創(chuàng)建磁盤陣列在目標數量個磁盤發(fā)生故障時的概率,確定任一子磁盤組合的數據丟失概率。
53、可選的,利用配置信息并基于各個磁盤的故障概率,對各個磁盤進行分組,以得到目標磁盤組合,包括:
54、基于待創(chuàng)建磁盤陣列的總數量,創(chuàng)建若干磁盤創(chuàng)建任務;若干磁盤創(chuàng)建任務的數量比待創(chuàng)建磁盤陣列的總數量多一;
55、利用若干磁盤創(chuàng)建任務中的第一磁盤創(chuàng)建任務并基于各待創(chuàng)建磁盤陣列所需的磁盤數量,對各個磁盤進行分組,以得到當前磁盤組合;第一磁盤創(chuàng)建任務的數量與待創(chuàng)建磁盤陣列的總數量相同;
56、通過若干磁盤創(chuàng)建任務中的第二磁盤創(chuàng)建任務確定當前磁盤組合的數據丟失概率,基于當前磁盤組合的數據丟失概率和當前最小數據丟失概率,確定新的當前最小數據丟失概率,并在當前分組情況不滿足預設結束條件時,跳轉至利用若干磁盤創(chuàng)建任務中的第一磁盤創(chuàng)建任務并基于各待創(chuàng)建磁盤陣列所需的磁盤數量,對各個磁盤進行分組的步驟,直至當前分組情況滿足預設結束條件,以基于最新的當前最小數據丟失概率對應的磁盤組合確定目標磁盤組合;
57、其中,當前最小數據丟失概率在初始時為不小于1的預設丟失概率。
58、可選的,利用若干磁盤創(chuàng)建任務中的第一磁盤創(chuàng)建任務并基于各待創(chuàng)建磁盤陣列所需的磁盤數量,對各個磁盤進行分組,以得到當前磁盤組合,包括:
59、通過各第一磁盤創(chuàng)建任務依次基于各自對應的待創(chuàng)建磁盤陣列所需的磁盤數量進行磁盤分組操作,以利用當前第一磁盤創(chuàng)建任務獲取當前剩余磁盤,并基于當前待創(chuàng)建磁盤陣列所需的磁盤數量,從當前剩余磁盤中取出相應數量個磁盤,以得到與當前待創(chuàng)建磁盤陣列對應的子磁盤組合并更新當前剩余磁盤;當前待創(chuàng)建磁盤陣列對應于當前第一磁盤創(chuàng)建任務;當前剩余磁盤在初始時為磁盤陣列卡下掛載的各個磁盤;
60、在當前第一磁盤創(chuàng)建任務為各第一磁盤創(chuàng)建任務中的最后一個磁盤創(chuàng)建任務時,基于各第一磁盤創(chuàng)建任務得到的與各待創(chuàng)建磁盤陣列分別對應的子磁盤組合,確定當前磁盤組合。
61、可選的,預設結束條件包括當前分組累計次數達到最大分組次數或磁盤組合的當前累計種類數達到最大種類數;最大分組次數和最大種類數均為基于最多種類數確定的數值,最多種類數為對各個磁盤進行分組后所能得到的磁盤組合的最多種類數。
62、第二方面,本發(fā)明提供了一種電子設備,包括:
63、存儲器,用于存儲計算機程序;
64、處理器,用于執(zhí)行計算機程序以實現前述磁盤陣列創(chuàng)建方法的步驟。
65、第三方面,本發(fā)明提供了一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現前述磁盤陣列創(chuàng)建方法的步驟。
66、第四方面,本發(fā)明提供了一種計算機程序產品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現前述磁盤陣列創(chuàng)建方法的步驟。
67、本發(fā)明中,獲取待創(chuàng)建磁盤陣列的配置信息,并確定磁盤陣列卡下掛載的各個磁盤的故障概率;配置信息包括待創(chuàng)建磁盤陣列的總數量、各待創(chuàng)建磁盤陣列的級別以及各自所需的磁盤數量;利用配置信息并基于各個磁盤的故障概率,對各個磁盤進行分組,以得到目標磁盤組合;目標磁盤組合為分組得到的若干種磁盤組合中的數據丟失概率最小的組合;其中,每種磁盤組合均包括與各待創(chuàng)建磁盤陣列分別對應的子磁盤組合,每種磁盤組合的數據丟失概率均為基于每種磁盤組合中的磁盤的故障概率確定的數值;利用各待創(chuàng)建磁盤陣列的級別并基于目標磁盤組合中的各子磁盤組合,創(chuàng)建相應級別的磁盤陣列。
68、有益效果:本發(fā)明通過利用待創(chuàng)建磁盤陣列的配置信息并基于磁盤陣列卡下掛載的各個磁盤的故障概率,對各個磁盤進行分組,并從分組得到的若干種磁盤組合中確定數據丟失概率最小的組合,以得到目標磁盤組合,從而基于目標磁盤組合中與各待創(chuàng)建磁盤陣列分別對應的子磁盤組合,創(chuàng)建相應的磁盤陣列。這樣一來,本發(fā)明基于磁盤陣列卡下掛載的各個磁盤的故障概率,以從各個磁盤的分組中尋找數據丟失概率最小的目標磁盤組合,從而使得基于目標磁盤組合創(chuàng)建的磁盤陣列具有最小的數據丟失概率,并且起到提高磁盤陣列的可靠性和安全性的作用。