파일 장애는 증상에서 해당 층으로 내려가며 좁힌다

fd 누수, 더티 페이지, inode 소진, RAID 리빌드, SSD TRIM은 서로 다른 층의 문제다. 먼저 쓰기 경로에서 데이터가 멈춘 위치를 찾는다.

write()가 안정된 장치 데이터가 되기까지

1process fd

write()로 커널에 쓰기 요청

2page cache

메모리에 더티 페이지로 먼저 남음

3flush / fsync

주기 flush 또는 명시적 동기화

4block layer

파일 요청을 블록 장치 I/O로 변환

5RAID / SSD

패리티·미러·TRIM·웨어 레벨링

open 실패
fd 한도와 누수파일을 닫지 않으면 프로세스 한도에 먼저 걸린다.
ulimit -n
lsof -p PID
공간 부족
용량과 inode 분리작은 파일이 많으면 용량보다 inode가 먼저 소진된다.
df -hT · df -i
du -sh
내구성
동기화 경계중요 데이터가 커널 캐시에만 머물지 않게 한다.
fsync()
fdatasync()
DB I/O
중복 캐시DB 버퍼 풀과 OS page cache의 중복을 검토한다.
O_DIRECT
RAID 장애
가용성 ≠ 백업삭제·손상·랜섬웨어는 RAID로 복구되지 않는다.
리빌드 상태
별도 백업
SSD 저하
TRIM·웨어 레벨링삭제 블록 통지와 쓰기 분산이 성능·수명에 영향을 준다.
lsblk --discard
fstrim

핵심열린 파일 상태 → 캐시 동기화 → 파일 수 → 장치 구성 → 백업 정책 순으로 층을 나누면 하나의 명령에 기대지 않고 원인을 좁힐 수 있다.