피드로 돌아가기
Dev.toInfrastructure
원문 읽기
디스크 여유 공간 50GB에도 발생한 Inode 고갈 문제 해결
Disk Has Space But Can't Create Files? (Linux Inode Exhaustion)
AI 요약
Context
로그 파이프라인 운영 중 rsyslog 서비스가 ENOSPC 에러와 함께 지속적으로 크래시되는 현상 발생. df -h 확인 결과 루트 파티션 50GB, /var/log 파티션 11GB의 가용 공간이 충분함에도 파일 생성 불능 상태에 직면함.
Technical Solution
- Disk Space와 Inode라는 두 가지 독립적 파일시스템 자원 관리 체계 분석
- df -i 명령어를 통한 Inode 사용률 100% 도달 확인 및 자원 고갈 지점 식별
- 0바이트 크기의 수많은 작은 파일들이 각각 1개의 Inode를 점유하여 발생하는 Inode Exhaustion 메커니즘 파악
- ARG_MAX 제한으로 인한 rm 명령어 실행 불가 문제를 해결하기 위해 find -delete 방식을 채택한 효율적 리소스 회수
- logrotate 설정 및 Inode 사용률 기반의 모니터링 알람 체계 구축을 통한 재발 방지 설계
실천 포인트
1. 모니터링 지표에 df -h(용량) 외에 df -i(Inode) 사용률 반드시 포함
2. Inode 사용률 85% 도달 시 사전 경고 알람 설정
3. 대량의 파일 삭제 시 쉘 확장 한계를 고려하여 rm 대신 find -delete 사용
4. 커스텀 로그 경로에 대한 logrotate 정책 강제 적용
5. 운영 환경 내 임시 디버깅 스크립트의 생명주기 관리 및 코드 리뷰 강화