쓰기 실패는 먼저 errno와 mount 상태로 갈라 본다

오류 문자열·대상 경로·발생 시각을 먼저 고정한다. “디스크가 찼다”는 가설부터 세우지 말고 공간, read-only 전환, 접근 권한, 삭제 후 열린 파일을 각각 확인한다.

쓰기 실패 관찰 → errno·mount 상태로 원인 분기
ENOSPC

블록인가, inode인가

검증df -h /path
df -i /path
판단용량이 남아도 inode 100%면 새 파일 생성이 실패한다.
EROFS

read-only로 바뀌었나

검증findmnt -T /path
journalctl -k -b
판단ext4의 errors=remount-ro는 오류 때 보호를 위해 쓰기를 막는다.
EACCES

경로 권한인가, 정책인가

검증namei -l /path
getfacl /path
판단소유권·mode·ACL·LSM과 mount 옵션을 구분한다.
SPACE STAYS

삭제 파일을 누가 열었나

검증lsof +L1
판단link count가 0이어도 열린 file description이 닫혀야 공간이 반환된다.
복구 순서
1로그·mount·사용량 증거와 백업 상태를 보존
2쓰기 주체를 멈추고 필요하면 unmount 또는 격리
3filesystem 유형에 맞는 checker와 복구 절차 선택

안전 경계: 일반적인 fsck를 쓰기 중인 mounted filesystem에 바로 실행하지 않는다. 먼저 유형별 문서와 offline 조건을 확인한다.