保護儲存介質的文件系統
我正在開發一個充當伺服器的嵌入式系統,問題是它將執行的環境非常激進,並且會遭受突然的電源中斷。所以我打算使用 OverlayFS 將根文件系統掛載為可偽造的。這個想法來自 RaspberryPi,其中開發人員有一種機制來啟用/禁用 rootfs 作為 OverlayFS 的掛載(如您所見,可以使用raspi-config腳本啟用它)
我的問題是……這是否有助於保護物理設備免受損壞?甚至是文件系統本身?我的想法是延長物理設備的壽命,我認為我可以避免寫操作,但係統不能是純只讀的,因為某些程序需要將 FS 視為可寫,這就是我在 OverlayFS 中思考的原因.
你怎麼看?你對如何解決這個問題有其他想法嗎?謝謝你們。
PS:我必須使用的系統是Debian Buster。
寫入仍然發生,overlayfs 將它們重定向到上層。底層最終需要更新。所以不,僅僅有一個覆蓋層並不能解決耐用性方面的挑戰。您應該考慮哪些數據需要持久化,以及如何從故障中恢復。
在寫入過程中斷電可能會導致數據在文件系統、塊和儲存介質的幾層中的某處失去。好的文件系統有元數據日誌,因此它們可以存活,但可能會失去數據。通過在使用時關閉設備進行測試,檢查數據是否保持完整性。
該 raspi-config 似乎在 tmpfs 上具有上限,因此可以避免儲存介質磨損,但重新啟動時寫入會失去!在某些案例中這可能是可以接受的,重新啟動並返回到已知狀態。
需要保存的數據可以發送到其他地方,例如係統日誌轉發到穩定電源的中央日誌伺服器。或者將數據發佈到某個遠端 API。或保存到與已安裝軟體的捲分開的本地數據分區。
說到穩定的電源,如果電源不可靠,不間斷電源是一項很好的投資。如果斷電,一個相對較小的電池就足以優雅地關閉。
對於底層來說,升級軟體是一個必須成功的操作,設備才能正常工作。考慮基於映像的更新,例如SWUpdate 嵌入式設備更新程序(或Ubuntu 映像升級或Fedora IoT,有幾個可供選擇)。即使沒有為此項目實施,具有恢復功能的雙映像也值得研究。