Btrfs

如何在 linux 上對單個硬碟進行錯誤檢測和糾正(使用 btrfs 或其他方法)

  • April 19, 2021

linux 上 btrfs 的一個很酷的事情是,如果它有冗餘數據,它可以糾正比特腐爛,因為它具有每個塊的校驗和。我可以通過設置一個帶有兩個磁碟的 raid1 來獲取冗餘數據。但是,我還可以獲取冗餘數據以防止單個磁碟上的位損壞嗎?

我看到 btrfs 有一個元數據 ( -m dup) 的 DUP 選項,它在每個驅動器上儲存兩個元數據副本。但是,文件說 dup 不是數據的選項(即-d dup不是選項)。有沒有解決這個問題的好方法?將單個磁碟分成兩個相等的部分並將它們一起raid1?

或者,是否有另一種簡單的方法可以在 linux 上進行文件系統級別的錯誤檢測和糾正(類似於文件系統的自動歸檔)?

(我對建議我使用兩個驅動器的答案不感興趣。)

**編輯:**我確實找到了這個,這是一個 FUSE 文件系統,可以將帶有錯誤糾正的文件作為普通文件掛載。也就是說,這是某人在 2009 年整理的一個小技巧/概念證明,從那以後就沒有真正接觸過。

如果啟用混合塊組,Btrfs 支持重複數據塊:

mkfs.btrfs --mixed --metadata dup --data dup /dev/<device>

編輯:注意有一個更新檔,這樣我們就可以在不使用混合模式的情況下做到這一點。在 2015 年 11 月的那個執行緒之後,它似乎被添加到主線 btrfs 程式碼中。

用 LVM 等將驅動器劃分為 10 個分區並在塊級別對它們進行 raid-5 化處理怎麼樣?這不會為糾錯提供大約 10% 的冗餘嗎?

引用自:https://unix.stackexchange.com/questions/200012