假設我有一個帶有許多分割區的磁碟,這些分割區使用許多不同的檔案系統進行格式化。
我很少向它寫入數據,但我經常從中讀取數據。
現在我只想知道我可以在 FS 級別或作業系統級別(只讀...)做什麼來避免在非常特殊的斷電情況下丟失資料。沒有不間斷電源。
作為一個額外的問題,由於我對 FS 的了解很少,什麼使給定的檔案系統對資料損壞更有彈性?我想有參考文獻,但我找不到關於一般文件系統的參考文獻。
答案1
如何調整檔案系統?也許你不能。
如果您只關心斷電,請將所有檔案系統掛載為唯讀。大多數斷電問題都是未完成的寫入,如果什麼都不寫入,這些問題就不會發生。
如果您需要更多,您可以使用檔案系統來檢查讀取的資料。問題是:如果沒有任何冗餘,一旦偵測到錯誤,就無法恢復資料。你只知道有一個錯誤。
因此,您需要儲存冗餘數據,以防損壞。有些檔案系統允許在同一磁碟機上儲存相同檔案的多個副本,但這確實不可取。因此,您應該使用多個驅動器。
對於更多驅動器,您也可以使用 RAID,但使用 RAID 時,如果多個磁碟機上的資料不同,則無法知道哪一個是正確的。現代檔案系統計算每個檔案(或部分檔案)的雜湊碼並在讀取時進行比較。如果哈希不匹配,則從另一個位置讀取該文件,希望該位置仍然正確,並且錯誤的數據被替換。所以這個檔案系統會自我修復。
支援此功能的檔案系統有 ZFS、BtrFS、ReFS 等。我只用過ZFS。