
我想設定一個筆記本(debian)1 個固態硬碟和1 個硬碟每個上面都有 Luks 和 Btrfs。因為SSD和HDD的速度不一樣,我不想使用Btrfs 的 Raid-1就它而言,但我也不想錯過 Btrfs 的校驗和和自動更正。
現在我正在考慮僅使用 HDD 來儲存 SSD 中的快照。同時我發現了這個https://superuser.com/a/1099181,該腳本首次在來源磁碟機 (SSD) 上建立初始唯讀快照,然後使用範例和cron
每日增量快照。btrfs send -p
btrfs receive
我現在的問題:例如,如果 SSD 出現問題位元旋轉錯誤、我會以及我如何知道會發生這種情況?我不認為 SSD 上的 Btrfs 會在下次我製作快照並使用btrfs send -p
with時自動更正此錯誤btrfs receive
,因為它根本就沒有突襲1, 我對嗎?
順便說一句,在同一台筆記型電腦但不同驅動器上進行快照並不是我的(完整)備份策略。
答案1
我不是專家,現在正在學習BTRFS。我知道這是一篇舊帖子,但無論如何嘗試回答它。
根據一些郵件列表您可以在單一磁碟上使用 DUP 和 RAID1,因此如果您不介意一半空間,則可以使用 SSD 並保持自動資料校正。另一種方法是購買另一個 SSD,我就是這麼做的。
如果您不想放棄一半的 SSD 空間或更多的錢,那麼某些錯誤可以修復,而另一些錯誤則無法在沒有冗餘的情況下修復。你可以試試btrfs check --repair
如果您有檔案系統錯誤。要檢測資料腐爛,您需要使用btrfs scrub
,它驗證 crc32 校驗和,並在狀態訊息中顯示是否發現無法修正的錯誤。您可以使用以下命令找到受影響的文件dmesg
。您可以使用備份手動還原損壞的檔案。我認為可以為此編寫一個腳本。仍然不知道快照將如何受到文件替換的影響,我懷疑它們將包含舊的損壞版本。我將發布一個關於那部分的問題。