Watch at Ease看見世界,讀懂生活。

Technology · 實用指南

Linux 顯示「Read-only file system」?先證明掛載、namespace 與裝置邊界

先把失敗路徑對應到最深 mount,保存第一個 kernel 錯誤,再區分 policy、namespace 隔離、media 保護與 filesystem 損壞。

原創示意圖:從 failing path、deepest mount、process namespace 追到 readonly owner。
原創示意圖:從 failing path、deepest mount、process namespace 追到 readonly owner。 Watch at Ease

EROFS 是 mount 或 filesystem state,不是一般 chmod 權限問題;失敗 process 的 mount view 也可能不同。

固定 path、PID、timestamp 與原始 error,找出最深 mount 並保存 kernel/device evidence,再只修已證明 owner。

固定精確失敗邊界

記錄 absolute path、PID、errno、timestamp、operation、identity 與 container/service context,停止會覆蓋 evidence 的重試。

在失敗 context 使用 findmnt -T 與 /proc/PID/mountinfo 找出最深 target,並和 admin shell 比較。

區分 policy 與 error remount

確認 ro 在 VFS、filesystem 或兩層,檢查 fstab、unit、bind、image、overlay 與 cloud volume config。

保存 journalctl -k 或 dmesg 的 first error;ext4 errors=remount-ro 明確會在 error 後轉唯讀。

證明 backing owner 與範圍

映射 SOURCE、UUID、device-mapper、RAID、network export、loop image 或 cloud volume,並檢查 block device。

僅一個 namespace/bind 唯讀就修 mount policy;superblock/device 唯讀時所有相關 path 都受影響。

只修已證明分支

policy 問題修 source config;filesystem/media error 要停寫、保存資料、unmount 或進 recovery environment,再依官方流程處理。

不要猜測式強制 rw、清 logs 或對 mounted writable filesystem 執行 fsck。

在原 namespace 驗收

回到原 service/container/PID view,重查 exact path flags,確認無新 kernel 或 device error。

建立唯一測試檔,write、fsync、read/compare、remove,再觀察一次正常操作;重現就停止。

原創示意圖:證據、分類、受控修復與 same-namespace acceptance。
原創示意圖:證據、分類、受控修復與 same-namespace acceptance。 Watch at Ease