Raid

使用 RAID 處理斷電期間將隨機位寫入儲存的潛在風險

  • September 8, 2015

電源故障是否可能導致機器的某些部分將一個或多個隨機位寫入儲存設備?

有人提出了以下構想來解決這種風險:在一個磁碟上創建多個分區,它們一起形成一個 RAID1 陣列;然後將多個這樣的陣列組裝在一起作為另一個 RAID 設備;使用它來儲存文件系統。

我的猜測是這應該會起作用,因為隨機數據不能同時寫入每個 RAID 成員。可能沒有足夠的剩餘功率供驅動頭向前搜尋並在每個成員分區中寫入相同的隨機數據。如果一切按計劃進行,則在核心從該塊讀取後,具有錯誤數據的 RAID 成員將被踢出 RAID。

由於在所有磁碟 IO 期間過度尋找磁頭,這樣的設置可能會導致性能顯著下降。

在斷電期間寫入隨機數據的威脅是真實的嗎?這個問題還有其他解決方案嗎?

**編輯:**我應該更清楚。我相信將 RAID1 放在單個磁碟上的想法是一個非常糟糕的主意。我之所以問這個問題是因為我聽說有人認為這是一個好主意並且已經實施了不止一個這樣的系統。我希望一勞永逸地放下這個想法。

我試圖弄清楚他們對這種設計有什麼可能的原因,但後來我被告知這可能是在非常忙碌的時期對計劃外增長做出幼稚反應的結果。

我嘗試考慮一種可能有用的情況,例如 linux 文件系統修改的有效負載被損壞的想法,而發送數據的命令保持未損壞。我承認這不太可能,所以看來這個問題畢竟可以解決。謝謝@基因!:)

在斷電期間寫入隨機數據的威脅是真實的嗎?

對於功率損耗:隨機?不太可能。損壞(一半寫入數據等)?當然。

對於電湧:我想可能會寫入隨機數據,但如果電湧已經深入到系統中足以影響記憶體,那麼您更有可能擔心撲滅電氣火災和總數據損失比幾位隨機數據。

我的猜測是……隨機數據不能同時寫入每個 RAID 成員

RAID1 將嘗試同時寫入數據,但由於您的方案將捲放在單個主軸上,這可能會發生。巨大的如果,我懷疑有人試過這個。而且您面臨這樣的可能性,即損壞的數據將被寫入卷的一側,而沒有任何內容(或少量損壞的數據)被寫入另一側。

這個問題還有其他解決方案嗎?

在 RAID 卷中使用多個物理驅動器。:)

重新同步/清理 RAID 卷通常會發現錯誤並嘗試修復、丟棄或隔離它們。

日誌文件系統也會有所幫助。

正如@womble 在評論中提到的,具有內置校驗和支持的文件系統也有助於辨識損壞的數據。

您還可以做一些事情,例如提供足夠的浪湧保護,讓伺服器使用不間斷電源,並使用帶有內置電池和記憶體的硬體 RAID 控制器(這將允許控制器在儲存時完成寫出記憶體的數據)再次可用)。

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