서버를 운영하다 보면 어느 날 갑자기 "Disk full"이라는 무시무시한 경고를 마주할 때가 있습니다. 😱 서비스가 멈추거나 시스템이 느려지는 등 심각한 문제로 이어질 수 있죠.
오늘은 이런 위급 상황에서 침착하게 디스크 용량을 확보하는 3단계 응급 처치 방법을 알아보겠습니다!

STEP 1: 🩺 디스크 상태 점검하기: 전체 용량 확인
가장 먼저 어떤 파티션(디스크 공간)이 가득 찼는지 확인해야 합니다. 마치 의사가 환자의 상태를 진단하는 것과 같죠. 이때 사용하는 명령어는 바로 df -h 입니다.
- df: disk free의 약자로, 파일 시스템의 디스크 공간 사용량을 보여줍니다.
- -h: human-readable의 약자로, 용량을 사람이 읽기 쉬운 단위(GB, MB)로 보여줍니다.
df -h
명령어를 실행하면 아래와 비슷한 화면이 나타납니다.
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 49G 500M 98% /
udev 16G 0 16G 0% /dev
tmpfs 3.2G 1.2M 3.2G 1% /run
...
여기서 주목해야 할 부분은 Use% 와 Mounted on 열입니다.
- Use%: 디스크 사용률을 퍼센트로 보여줍니다. 예시에서는 /dev/sda1 파일 시스템이 98% 나 사용되어 거의 꽉 찬 상태임을 알 수 있습니다. 🚩
- Mounted on: 해당 파일 시스템이 연결된 디렉토리 경로입니다. 예시에서는 루트 디렉토리인 / 입니다. 앞으로 우리는 이 경로를 중심으로 문제를 해결할 것입니다.
STEP 2: 🕵️♂️ 범인 색출: 가장 큰 파일 찾아내기
이제 어떤 파티션에 문제가 있는지 알았으니, 그 공간을 차지하고 있는 '범인' 즉, 가장 용량이 큰 파일을 찾아낼 차례입니다.
아래 명령어는 지정된 경로(Mounted on 경로)에서 가장 큰 파일을 단 하나 찾아 출력해 줍니다.
# '/path/to/nearly-full-filesystem' 부분을 위에서 확인한 'Mounted on' 경로로 바꿔주세요.
# 예: find / -type f -printf '%s %p\n' | sort -rn | head -n 1
find /path/to/nearly-full-filesystem -type f -printf '%s %p\n' | sort -rn | head -n 1
이 명령어는 조금 복잡해 보이지만, 각 부분이 하는 역할은 간단합니다.
- find /경로: 특정 경로에서 검색을 시작합니다.
- -type f: 디렉토리를 제외하고 '파일'만 찾습니다.
- -printf '%s %p\n': 파일 크기(byte)와 파일 경로를 함께 출력합니다.
- | (파이프): 왼쪽 명령어의 결과를 오른쪽 명령어의 입력으로 전달합니다.
- sort -rn: 전달받은 목록을 숫자 크기(n) 역순(r)으로 정렬합니다. (가장 큰 파일이 맨 위로!)
- head -n 1: 정렬된 목록에서 가장 위에 있는 첫 번째 줄만 보여줍니다.
이 명령을 실행하면, 아래와 같이 가장 큰 파일의 크기와 전체 경로가 나타납니다.
15032385536 /var/log/some_huge_log_file.log
드디어 범인을 찾았습니다! 🕵️♀️
STEP 3: 🗑️ 문제 해결: 거대 파일 삭제하기
이제 범인을 찾았으니 처리할 시간입니다. rm 명령어를 사용해 해당 파일을 삭제하면 됩니다.
⚠️ 매우 중요! ⚠️ 삭제하기 전에 해당 파일이 정말로 불필요한 파일인지 반드시 확인해야 합니다. 시스템 운영에 필수적인 파일을 삭제하면 돌이킬 수 없는 문제가 발생할 수 있습니다. 주로 오래된 로그 파일, 불필요한 백업 파일, 임시 파일 등이 대상이 됩니다.
# '/path/to/largest_file' 부분은 STEP 2에서 찾은 실제 파일 경로로 바꿔주세요.
# 예: rm /var/log/some_huge_log_file.log
rm /path/to/largest_file
명령어를 실행하면 파일이 삭제되고, 그만큼의 디스크 공간이 확보됩니다.
✅ 결과 확인: 용량이 확보되었는지 체크!
마지막으로, 다시 df -h 명령어를 실행해서 용량이 성공적으로 확보되었는지 확인해 보세요.
df -h
Use%가 확 줄어든 것을 보면 마음의 평화가 찾아올 겁니다. 😊
이제 서버는 다시 원활하게 동작할 수 있게 되었습니다. 앞으로는 주기적으로 디스크 용량을 확인하는 습관을 들여서 이런 응급 상황을 예방하는 것이 좋겠죠?
'일반IT > 리눅스' 카테고리의 다른 글
| 🐳 도커(Docker)의 내부를 파헤치다: Overlay2 파일 시스템 구조 완벽 분석 (0) | 2025.12.04 |
|---|---|
| 내 서버 보안 강화하기: SSH X11 Forwarding 똑똑하게 설정하는 법 🔐 (0) | 2025.10.12 |
| 🕵️♂️ 리눅스 디스크 I/O 병목 현상, 범인부터 장비까지 추적하기! (0) | 2025.10.12 |
| 리눅스 서버 용량 부족? 😱 가장 큰 파일 찾아 삭제하는 초간단 해결법 (0) | 2025.10.11 |
| 리눅스 서버에 스왑(Swap) 파일 추가하기 🐧 (feat. 메모리 부족 해결!) (0) | 2025.10.11 |