使用「errors=continue」安裝時通知 EXT4 錯誤的任何方式

使用「errors=continue」安裝時通知 EXT4 錯誤的任何方式

我正在製作一個在快閃記憶體上使用 ext4 的新嵌入式系統的原型。這些系統將在沒有本機系統管理員的情況下進行遠端部署,因此任何診斷也必須透過網路遠端完成。

ext4 的預設掛載選項是在遇到錯誤時將 FS 設為唯讀。我認為這對我的情況來說太嚴重了,因為它可能導致許多操作停止工作並阻止遠端登入。

我更願意保持系統運作(並容忍一些 FS 錯誤)。因此,對於我的情況,安裝選項“errors=continue”似乎更合適。但是,我希望我的應用程式在發生任何 FS 錯誤時收到通知,以便它可以將這些錯誤記錄為高優先級問題並發送該訊息。回到我們的伺服器。

有人知道這是否可以使用現有的 Linux 核心(x86_64 上的 4.8.1)來完成?

答案1

我更願意保持系統運作(並容忍一些 FS 錯誤)

這是一個自相矛盾的說法。當您遇到 FS 錯誤時,您的系統將無法運作很長時間。事實上,運行 witherrors=continue很可能會進一步損壞損壞的檔案系統,直到沒有任何合理恢復的希望。

如果您希望您的應用程式在出現 FS 錯誤的情況下也能最好地繼續運行,那麼它應該有一個腳本來檢測何時/變為唯讀,並透過強制 fsck 重新啟動。

到了某個時候,一切都會崩潰。這就是熵增定律。除了遵守可靠的工程原理並為關鍵任務用例獲得高品質零件之外,您對此無能為力。

相關內容