Devices
單個塊設備上的 ECC
我有一個 SSD,我懷疑它時不時會默默地失敗。我已經對其進行了執行
badblocks
,很明顯這不是壞扇區,而是可能是電子設備中的某種競爭條件,在這種情況下,重試可能會正確讀取數據。普通磁碟有一些 ECC,通過佔用更多空間來糾正錯誤。Linux 可以在我的塊設備上添加 ECC 層嗎?
我正在考慮類似於設備映射器的東西,所以也許:
dmsetup create-ecc /dev/orig /dev/mapper/with_ecc
所以對 /dev/mapper/with_ecc 的任何讀寫都將轉換為 /dev/orig 上的 ecc-read/write。
編輯:
似乎其他人也在尋找它:http: //permalink.gmane.org/gmane.linux.kernel.device-mapper.devel/8756
btrfs和 zfs 專為數據完整性而設計。
預設情況下,btrfs 在單個設備配置上複製元數據。我認為您也可以複製數據,儘管我從未這樣做過。
zfs 有
copies=n
- 我認為它是單磁碟的 RAID1。考慮到選擇的冗餘量將對可用設備空間以及設備性能產生負面影響。幸運的是,您可以在每個分區/卷的基礎上指定複製/副本。查看Richard Elling / Oracle 關於單個設備上的 zfs 的這篇博文。不幸的是,我沒有為我載入任何圖形圖像。
真實的和傳聞的證據都表明,當設備仍可正常執行時,可能會發生不可恢復的錯誤。ZFS 有能力在此類錯誤中倖存下來而不會失去數據。很酷。不過,墨菲定律最終會趕上你。在 ZFS 無法恢復數據的情況下,ZFS 會告訴您哪個文件已損壞。然後,您可以決定是否應該從備份或源媒體中恢復它。