Raid

將 mdadm RAID 與部分斷電保護的 SSD 混合使用

  • December 15, 2017

我創建了一個帶有 4 個 SSD 的 mdadm RAID 10。其中 2 個 SSD 是消費型,不具備斷電數據保護功能。

在創建 RAID 時,我在每個 RAID 1 對中放置了 1 個帶電源保護的 SSD。因此,每個 RAID 1 對都有一個消費級 SSD 和一個企業級 SSD。

如果伺服器出現電源故障,掉電保護將如何影響文件系統或 RAID 一致性?我可以想像,RAID 不再同步,因為具有電源保護功能的 SSD A 具有比 SSD B 其他(更新的)內容。

在這種情況下,掉電保護會造成更多的損壞或問題嗎?

是的,您可能會遇到數據失去的情況。真正的斷電保護將意味著 SSD 上的電容器。這就是企業級的應該具備的,或者同樣可行的替代機制。

任何 SSD 都應該有某種針對 FTL(快閃記憶體轉換層)損壞的保護,否則整個 SSD 將被損壞,導致全部數據失去。

標準 SSD 使用一種稱為“日誌”的技術來防止其 FTL 損壞。這意味著在突然斷電時,SSD 實際上會恢復到較早的狀態,這與刷新記憶體命令相衝突。在客戶端計算(台式機、筆記型電腦)中,定義了 2 種類型的數據:“靜態數據”(已物理保存到儲存介質的數據)和“飛行中的數據”(待寫入 - 發送到驅動器的寫入主機但尚未送出到儲存介質,或任何正在進行但尚未完成的寫入,或在記憶體中)。在斷電的情況下,“飛行中的數據”消失了。

在企業級 SSD 中,電容器電路使 SSD 能夠自我保護,以完成掛起/進行中的寫入。容量也足以確保FTL定址表正確保存到NAND。

因此,回到您的情況,在意外斷電的情況下,企業級 SSD 將設法寫入所有內容並且沒有任何損失,而另一個可能會失去數據。這將導致 RAID 不一致。

您應該做的是將標準的作為一個數組配對,將企業級的作為另一個配對。將關鍵數據保存在受保護的數據上,而不是將所需的數據(和頁面文件)保存在標準數據上。

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