Watch at Ease세상을 읽고, 일상의 답을 찾다.

Technology · 실용 가이드

Linux “Read-only file system”? mount, namespace, device 경계를 먼저 증명하세요

실패 path를 deepest mount에 매핑하고 첫 kernel error를 보존한 뒤 policy, namespace, media protection, filesystem damage를 분리합니다.

원본 개념 일러스트: failing path, deepest mount, process namespace, readonly owner를 매핑합니다.
원본 개념 일러스트: failing path, deepest mount, process namespace, readonly owner를 매핑합니다. Watch at Ease

EROFS는 mount 또는 filesystem state이며 일반 permission bit 문제가 아닙니다. 실패 process의 mount view가 관리 shell과 다를 수 있습니다.

path, PID, timestamp, original error를 고정하고 deepest mount와 kernel/device evidence를 보존한 뒤 증명된 branch만 수리합니다.

정확한 failure boundary를 고정합니다

absolute path, PID, errno, timestamp, operation, identity, container/service context를 기록하고 evidence를 덮는 retry를 멈춥니다.

실패 context에서 findmnt -T와 /proc/PID/mountinfo로 deepest target을 찾고 admin shell과 비교합니다.

policy와 error remount를 분리합니다

ro가 VFS, filesystem 또는 둘 다인지 확인하고 fstab, unit, bind, image, overlay, cloud config를 검사합니다.

first timestamp 주변 journalctl -k/dmesg를 보존합니다. ext4 errors=remount-ro는 error 후 readonly 전환을 정의합니다.

backing owner와 범위를 증명합니다

SOURCE, UUID, device-mapper, RAID, network export, loop image, cloud volume과 block-device state를 매핑합니다.

한 namespace/bind만 readonly면 mount policy를, superblock/device면 모든 backing path를 영향 범위로 봅니다.

증명된 branch만 수리합니다

policy는 source config를 수정하고 filesystem/media error는 writer를 멈추고 진단을 보존한 뒤 unmount/recovery 환경에서 공식 절차를 따릅니다.

추측으로 mounted writable filesystem에 fsck, 반복 force-rw, log 삭제를 하지 않습니다.

원래 namespace에서 승인합니다

원래 service/container/PID view에서 exact path flags를 확인하고 새 kernel/device error가 없는지 봅니다.

unique file을 create, write, fsync, read/compare, remove하고 정상 작업 하나를 관찰합니다. 재발하면 중지합니다.

원본 개념 일러스트: evidence, classification, controlled repair, same-namespace acceptance를 보여 줍니다.
원본 개념 일러스트: evidence, classification, controlled repair, same-namespace acceptance를 보여 줍니다. Watch at Ease