← 전체 글로 돌아가기

서버 운영

서버 디스크 용량이 부족할 때 확인할 것

배포 직후 갑자기 디스크 용량이 줄어들었다면, 로그, 캐시, 임시 파일을 먼저 확인하자.

서버를 운영하다 보면 어느 날 갑자기 디스크 용량이 부족하다는 알림이 온다. 특히 배포 직후에는 더 자주 일어난다. 이럴 때 어디를 먼저 봐야 할까.

현재 상태를 정확히 파악하자

먼저 디스크 사용 현황을 확인한다. 전체 용량 대비 어디가 얼마나 사용 중인지 알아야 다음 조치를 결정할 수 있다.

df -h
du -sh /

전체 디스크 상태와 최상위 디렉토리별 사용량을 확인한다. 보통은 애플리케이션 로그, 데이터베이스 데이터, 또는 빌드 산출물이 공간을 많이 차지한다.

로그 파일부터 정리하자

실행 중인 서버의 로그 파일은 계속 쌓인다. 특히 에러가 많이 나는 환경이라면 로그 크기가 빠르게 커진다.

du -sh /var/log/
ls -lh /var/log/

오래된 로그는 정기적으로 정리해야 한다. 시스템 로그 로테이션 설정을 확인하고, 필요하면 logrotate 설정을 조정한다.

캐시와 임시 파일 확인

애플리케이션이 사용하는 캐시 디렉토리나 임시 파일 경로를 확인한다. 배포할 때마다 빌드 캐시나 의존성이 쌓일 수 있다.

du -sh ~/.cache/
du -sh /tmp/

Node.js 프로젝트라면 node_modules도 확인할 가치가 있다. 여러 번 배포하면서 이전 버전이 남아 있을 수 있다.

프로세스가 사용 중인 파일 확인

어떤 프로세스가 많은 공간을 사용 중인지 확인한다. 종료하지 않은 이전 버전의 프로세스가 여전히 파일을 들고 있을 수도 있다.

lsof | grep deleted

deleted 표시가 나면 프로세스를 재시작해서 디스크 공간을 확보할 수 있다.

배포 후 정리 자동화

매번 수동으로 확인하는 것보다 정기적으로 정리하는 스크립트를 만드는 게 낫다. 예를 들어 일주일마다 오래된 로그를 삭제하거나, 빌드 캐시를 비우도록 cron 작업을 설정할 수 있다.

디스크 용량 문제는 미리 감지하자

용량이 부족해지기 전에 알아차려야 다음 조치가 빠르다. 모니터링 도구를 설정해서 디스크 사용률이 80% 이상이면 알림을 받도록 하면 응급 상황을 피할 수 있다.