write()로 커널에 쓰기 요청
파일 장애는 증상에서 해당 층으로 내려가며 좁힌다
fd 누수, 더티 페이지, inode 소진, RAID 리빌드, SSD TRIM은 서로 다른 층의 문제다. 먼저 쓰기 경로에서 데이터가 멈춘 위치를 찾는다.
write()가 안정된 장치 데이터가 되기까지
메모리에 더티 페이지로 먼저 남음
주기 flush 또는 명시적 동기화
파일 요청을 블록 장치 I/O로 변환
패리티·미러·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_DIRECTRAID 장애
→가용성 ≠ 백업삭제·손상·랜섬웨어는 RAID로 복구되지 않는다.
→리빌드 상태
별도 백업SSD 저하
→TRIM·웨어 레벨링삭제 블록 통지와 쓰기 분산이 성능·수명에 영향을 준다.
→lsblk --discard
fstrim핵심열린 파일 상태 → 캐시 동기화 → 파일 수 → 장치 구성 → 백업 정책 순으로 층을 나누면 하나의 명령에 기대지 않고 원인을 좁힐 수 있다.