Raid

用於管理 16 個磁碟冗餘的 RAID 建議

  • June 5, 2021

我需要有關如何為具有 16 個磁碟陣列的伺服器設置 RAID 的建議(引導/作業系統磁碟在此陣列之外)。在這個 16 磁碟陣列中,所有磁碟都是相同的(12.8TB SSD)。

對我來說,理想的解決方案是至少有一半的可用空間(因此,204.8TB 中至少有 102.4TB),以及抵抗至少 8 個磁碟故障的能力(任何 8 個磁碟都應該能夠在沒有任何數據的情況下發生故障損失)。

無需將 102.4TB 可用空間視為單個連續卷,因此也可以將磁碟分組為單獨的 RAID 卷等,只要任意 8 個磁碟可以中斷而不會失去任何數據。

我正在考慮幾個解決方案,但沒有一個解決方案真正讓我完全滿意:

  1. 第一個解決方案是具有 8 個跨度的單個 RAID 1+6 卷(76.8TB 容量,在最壞的情況下,任何 5 個磁碟都可以中斷而不會失去數據)。方案:RAID6( RAID1(D1,D2), RAID1(D3,D4), RAID1(D5,D6), RAID1(D7,D8), RAID1(D9,D10), RAID1(D11,D12), RAID1(D13,D14), RAID1(D15,D16) )
  2. 第二種解決方案是具有 2 個跨度的單個 RAID Z3+1 卷(容量為 64TB,在最壞的情況下,任何 7 個磁碟都可以中斷而不會失去數據)。方案:RAID1( RAID_Z3(D1,D2,D3,D4,D5,D6,D7,D8), RAID_Z3(D9,D10,D11,D12,D13,D14,D15,D16) )

對我來說,完美的 RAID 解決方案是八位奇偶校驗 RAID(如 RAID 5 是單奇偶校驗,RAID 6 是雙奇偶校驗,RAID Z3 是三重奇偶校驗),因為這意味著 102.4TB 的可用空間和任何 8 個磁碟都可以在沒有的情況下損壞數據失去。但不幸的是,這個假設的“RAID Z8”並不存在。

提前感謝您的任何建議。

PS:在這種情況下,性能確實不是問題,因此不是要考慮的參數。

PPS:我尋求抵抗任何 8 磁碟故障的原因是因為這些磁碟將包含高度關鍵的任務數據。備份已經計劃好了,但如果 R​​AID 卷停止工作,依賴它的幾個關鍵任務伺服器和服務也將停止工作。

PPPS:伺服器本身的高可用性已經得到照顧。

嘗試基於網路的冗餘儲存,例如 CEPH。您可以將其設置為儲存每個塊的 9 個副本並進行設置,以便將它們全部儲存在不同的 OSD 上,因此每個副本都將在另一台設備上;在這種情況下,您確實可以移除 8 個 OSD,並且在剩餘系統上仍然擁有每個塊的至少一個副本。

是的,在冗餘儲存方面效率非常低,但這正是您的要求。我認為這是非常誇張的,直到毫無意義。世界似乎達成共識,沒有人真正需要這麼多副本。火星漫遊者擁有三台電腦,即使在條件極其惡劣且至少需要半年時間才能修好它們的地方,這也足夠了。

比擁有這麼多靜態副本更好地投資於具有實時修復能力的系統。CEPH 正是這樣做的:您指定每個塊需要 3 個副本,並且這些副本不能位於同一位置。現在,如果某個設備變得不可訪問,系統會發現它,並且知道其中儲存了哪些塊;所以它立即開始重新分配它們,以便再次達到所需的冗餘。您可以設置它,如果只剩下 1 個副本,它將阻止訪問,因此它有機會修復(分發該副本並恢復訪問)。您可以在單個集群中創建多個具有不同要求的池。如果您擴展儲存,您只需添加更多 OSD。

引用自:https://serverfault.com/questions/1063751