1. 서론: 나도 모르게 차오르는 서버 용량, 범인은 누구인가?
리눅스 클라우드 서버에서 워드프레스 블로그를 안정적으로 운영하다가도, 어느 날 갑자기 디스크 용량이 가득 찼다는 경고를 마주할 수 있습니다. 정작 내가 올린 이미지나 글은 얼마 되지 않는데 공간이 부족한 상황이라면, 시스템 내부에서 자동으로 생성된 임시 파일과 로그(Log) 데이터가 주범일 확률이 높습니다. 리눅스는 운영 체제의 특성상 모든 가동 기록을 텍스트로 저장하기 때문에, 정기적으로 청소해 주지 않으면 불필요한 쓰레기 데이터가 소중한 SSD 공간을 잠식하게 됩니다. 오늘은 명령어 몇 줄로 서버 디스크를 쾌적하게 비워내는 다이어트 요령을 알아보겠습니다.
2. 범인 찾기: 대용량 폴더와 파일을 추적하는 du 명령어
무작정 파일을 지우기 전에, 현재 어떤 디렉토리가 가장 많은 용량을 차지하고 있는지 정확하게 진단해야 합니다. 이때 사용하는 핵심 명령어가 바로 du(Disk Usage)입니다.
서버 루트 최상단 경로에서 sudo du -h --max-depth=1 / 명령어를 입력하면, 각각의 폴더가 차지하는 용량이 기가바이트(G)나 메가바이트(M) 단위로 보기 쉽게 출력됩니다. 이를 통해 /var/log(시스템 로그)나 /tmp(임시 폴더) 등 유독 비정상적으로 뚱뚱해진 폴더를 찾아 들어가며 용량을 갉아먹는 진짜 범인을 단계별로 검거할 수 있습니다.
3. 첫 번째 청소: APT 패키지 매니저의 찌꺼기 제거
우분투 등 리눅스 서버에서 프로그램이나 라이브러리를 설치할 때 사용하는 apt 명령어는 다운로드한 설치 파일(.deb)을 서버 내부에 임시로 보관해 둡니다. 이미 설치가 끝난 파일임에도 수백 메가바이트의 용량을 그대로 차지하고 있는 경우가 많습니다.
터미널에 아래 두 명령어를 차례로 입력하면 안전하게 디스크 공간을 확보할 수 있습니다.
sudo apt-get autoremove: 프로그램 업데이트 등으로 인해 더 이상 시스템에 필요 없어진 과거의 의존성 패키지들을 알아서 찾아 깨끗하게 지워줍니다.
sudo apt-get clean: 버퍼 역할을 하며 보관되어 있던 과거 패키지 설치 아카이브 파일(캐시)을 완전히 날려버려 즉각적인 용량 다이어트 효과를 냅니다.
4. 두 번째 청소: 수 기가바이트씩 쌓이는 시스템 로그(Journald) 제한
현대 리눅스 시스템의 핵심인 systemd는 systemd-journald라는 서비스를 통해 모든 시스템 이벤트를 기록합니다. 이 로그 파일은 기본 설정 상태에서 수 기가바이트까지 무한정 증식하여 서버 용량을 마비시키는 가장 큰 원인이 됩니다.
먼저 sudo journalctl --disk-usage 명령어로 로그가 차지하는 용량을 눈으로 확인해 봅니다. 수 기가바이트가 넘는다면 두 가지 방법으로 다이어트를 진행합니다.
즉시 삭제: sudo journalctl --vacuum-time=7d를 입력하면 최근 7일간의 로그만 남기고 과거 기록은 즉시 소거됩니다.
용량 상한선 제한: /etc/systemd/journald.conf 파일을 열어 SystemMaxUse=100M 설정을 추가해 주면, 로그가 100메가바이트를 넘을 때마다 오래된 순으로 자동 삭제되어 향후 용량이 무한정 늘어나는 현상을 원천 방어할 수 있습니다.
5. 결론: 주기적인 디스크 최적화가 보장하는 안심 서버 운영
리눅스 서버의 디스크 용량을 정기적으로 다이어트해 주는 것은 자동차의 엔진오일을 갈아주는 것만큼이나 중요한 기초 관리 루틴입니다. du 명령어로 원인을 분석하고, 패키지 캐시와 배포판 로그의 상한선을 제어하는 최적화 세팅을 마친 서버는 예기치 못한 공간 부족으로 웹사이트가 멈추는 비상 상황을 완벽하게 예방할 수 있습니다. 쾌적하고 넉넉한 인프라 자원을 바탕으로 데이터 손실 걱정 없이 365일 안전하게 수익형 블로그를 성장시켜 나가시길 바랍니다. 드디어 다음 편에서는 대망의 마지막 포스팅이자 클라우드 아키텍처의 꽃인 ‘로드 밸런서(Load Balancer)를 활용한 트래픽 분산 기초’를 다루겠습니다.