리눅스 서버를 운영하다 보면 어느 순간부터 서버의 저장공간이 부족해지는 문제를 경험할 수 있습니다. 처음 서버를 설치했을 때는 충분한 디스크 공간이 남아 있었더라도 시간이 지나면서 로그 파일, 프로그램 데이터, 백업 파일, 사용자 업로드 파일 등이 계속 쌓이면 사용 가능한 공간이 점점 줄어들게 됩니다.
디스크 공간이 부족해지면 단순히 새로운 파일을 저장할 수 없는 것에서 끝나지 않을 수 있습니다. 일부 서비스가 정상적으로 동작하지 않거나 로그 기록에 문제가 발생하고, 데이터베이스나 웹 서버와 같은 중요한 프로그램에도 영향을 줄 수 있습니다.
따라서 리눅스 서버를 안정적으로 운영하기 위해서는 디스크 사용량을 주기적으로 확인하고 관리하는 습관이 필요합니다.
이번 글에서는 리눅스 서버를 처음 사용하는 사람도 이해할 수 있도록 리눅스 디스크 사용량을 확인하는 방법과 대표적인 명령어, 디스크 공간이 부족할 때 확인해야 할 항목, 효율적인 디스크 관리 방법을 알아보겠습니다.
리눅스 서버에서 디스크 관리가 중요한 이유
서버는 개인용 컴퓨터와 달리 24시간 실행되는 경우가 많습니다.
웹 서버라면 방문자가 업로드하는 파일이나 웹 서버 로그가 계속 생성될 수 있고, 데이터베이스 서버라면 데이터가 지속적으로 증가할 수 있습니다.
또한 시스템 자체에서도 다양한 로그와 임시 파일이 생성됩니다.
처음에는 이러한 파일의 크기가 작기 때문에 문제가 없어 보이지만 서버를 장기간 운영하면 상당한 저장공간을 차지할 수 있습니다.
특히 디스크 사용량이 100%에 가까워지면 새로운 파일을 생성하거나 프로그램이 데이터를 저장하는 작업에 문제가 발생할 수 있습니다.
따라서 서버 관리자는 현재 디스크 용량이 얼마나 사용되고 있는지 확인하고 어떤 디렉터리가 많은 공간을 차지하고 있는지 파악할 수 있어야 합니다.
리눅스 디스크 사용량 확인의 기본 명령어
리눅스에서 디스크 사용량을 확인할 때 가장 먼저 알아두면 좋은 명령어는 df와 du입니다.
두 명령어는 모두 디스크 공간과 관련된 정보를 보여주지만 용도가 다릅니다.
df는 파일 시스템 전체의 사용량을 확인할 때 유용합니다.
반면 du는 특정 디렉터리나 파일이 실제로 얼마나 많은 저장공간을 사용하고 있는지 확인할 때 활용할 수 있습니다.
쉽게 구분하면 다음과 같습니다.
df = 전체 디스크 또는 파일 시스템의 사용량 확인
du = 어떤 파일이나 디렉터리가 공간을 많이 사용하는지 확인
이 두 가지 명령어를 이해하면 대부분의 기본적인 리눅스 디스크 사용량 확인 작업을 시작할 수 있습니다.
df 명령어로 디스크 용량 확인하기
리눅스 서버에서 현재 디스크 사용량을 확인하려면 df 명령어를 사용할 수 있습니다.
기본적인 형태로 df를 실행하면 파일 시스템별 디스크 사용량 정보를 확인할 수 있습니다.
하지만 기본 출력은 사람이 읽기에 다소 불편할 수 있습니다.
이때 자주 사용하는 옵션이 -h입니다.
df -h를 사용하면 디스크 용량을 사람이 이해하기 쉬운 단위로 표시할 수 있습니다.
예를 들어 KB, MB, GB 등의 단위를 활용하기 때문에 현재 디스크가 얼마나 사용되고 있는지 쉽게 파악할 수 있습니다.
서버 관리에서 df -h는 매우 자주 사용하는 명령어 중 하나입니다.
서버의 저장공간이 부족하다는 문제가 발생했을 때 가장 먼저 현재 파일 시스템의 사용량을 확인하는 데 활용할 수 있습니다.
df 결과에서 확인해야 할 항목
df -h를 실행하면 여러 열이 표시됩니다.
대표적으로 파일 시스템의 전체 크기, 사용된 공간, 남은 공간, 사용률, 마운트 위치 등을 확인할 수 있습니다.
여기서 특히 주의해서 봐야 할 부분이 사용률(Use%)입니다.
사용률이 높아질수록 서버에서 사용할 수 있는 여유 공간이 줄어들고 있다는 의미입니다.
예를 들어 디스크 사용률이 상당히 높은 상태라면 어떤 파일이나 디렉터리가 공간을 많이 사용하고 있는지 추가로 확인해야 합니다.
단순히 전체 디스크 크기만 보는 것보다 전체 용량 → 사용량 → 남은 공간 → 사용률을 함께 확인하는 것이 중요합니다.
du 명령어로 디렉터리 용량 확인하기
df를 통해 디스크 사용량이 높다는 사실을 확인했다면 다음으로 어떤 디렉터리가 많은 공간을 사용하고 있는지 찾아야 합니다.
이때 사용하는 대표적인 명령어가 du입니다.
du는 파일과 디렉터리가 사용하고 있는 디스크 공간을 확인하는 데 활용할 수 있습니다.
특히 서버에서 특정 디렉터리의 용량이 지나치게 커졌을 때 원인을 찾는 데 유용합니다.
예를 들어 사용자 데이터가 저장되는 디렉터리나 로그가 저장되는 디렉터리를 확인하면 어떤 영역에서 저장공간이 많이 사용되고 있는지 파악할 수 있습니다.
du 명령어와 사람이 읽기 쉬운 단위
du 역시 사람이 이해하기 쉬운 단위로 표시하는 옵션을 함께 사용하는 경우가 많습니다.
예를 들어 du -h 형태로 사용하면 파일이나 디렉터리의 크기를 비교적 읽기 편한 단위로 확인할 수 있습니다.
다만 하위 디렉터리가 많은 서버에서는 출력 결과가 매우 길어질 수 있습니다.
이런 경우에는 특정 깊이까지만 확인하거나 결과를 정렬해서 보는 등의 방법을 활용할 수 있습니다.
중요한 것은 단순히 용량이 큰 파일 하나를 찾는 것이 아니라 어떤 디렉터리에서 데이터가 지속적으로 증가하고 있는지 확인하는 것입니다.
디스크 사용량이 갑자기 증가했다면 무엇을 확인할까?
리눅스 서버의 디스크 사용량이 갑자기 증가했다면 몇 가지 항목을 순서대로 확인하는 것이 좋습니다.
첫 번째는 로그 파일입니다.
웹 서버, 데이터베이스, 시스템 서비스 등은 다양한 로그를 생성합니다.
문제가 발생했거나 특정 서비스의 로그 수준이 높게 설정되어 있다면 로그 파일이 예상보다 빠르게 증가할 수 있습니다.
두 번째는 백업 파일입니다.
서버 운영 과정에서 자동 백업을 설정해 놓으면 매일 또는 매주 백업 파일이 생성될 수 있습니다.
백업 정책이 제대로 관리되지 않으면 오래된 백업 파일이 계속 쌓일 수 있습니다.
세 번째는 사용자 업로드 파일입니다.
웹사이트나 파일 서버를 운영하고 있다면 이미지, 영상, 문서 등의 파일이 계속 증가할 수 있습니다.
네 번째는 임시 파일과 캐시입니다.
프로그램이나 패키지 관리 시스템 등이 사용하는 임시 데이터 역시 장기간 누적될 수 있습니다.
따라서 디스크 사용량이 증가했다면 무조건 파일을 삭제하기보다 먼저 무엇이 공간을 차지하고 있는지 원인을 확인하는 과정이 필요합니다.
로그 파일은 무조건 삭제해도 될까?
서버 디스크 공간을 확보하려고 할 때 가장 먼저 로그 파일을 삭제하고 싶을 수 있습니다.
하지만 로그는 서버 문제를 분석하고 장애 원인을 찾는 데 중요한 자료입니다.
예를 들어 특정 시간에 서버에서 오류가 발생했다면 해당 시간의 로그를 확인하여 어떤 문제가 발생했는지 분석할 수 있습니다.
따라서 로그 파일이 많다는 이유만으로 무작정 삭제하는 것은 좋은 방법이 아닙니다.
대신 로그가 얼마나 오래 보관되어야 하는지 정책을 정하고 오래된 로그를 자동으로 관리하는 방식을 사용하는 것이 좋습니다.
리눅스 서버에서는 로그 관리와 관련하여 로그 로테이션(log rotation)이라는 개념을 사용합니다.
로그를 일정한 기준으로 분리하고 오래된 로그를 압축하거나 삭제하는 방식으로 디스크 공간을 관리할 수 있습니다.
서버에서 큰 파일 찾기
디스크 사용량이 높은 경우에는 크기가 큰 파일을 찾아보는 것도 도움이 됩니다.
특정 디렉터리 안에 예상하지 못했던 대용량 파일이 존재할 수 있기 때문입니다.
예를 들어 오래된 백업 파일, 압축 파일, 데이터 덤프 파일, 대용량 로그 파일 등이 대표적입니다.
큰 파일을 찾을 때는 파일 크기를 기준으로 검색하거나 디렉터리별 사용량을 비교하는 방법을 사용할 수 있습니다.
다만 서버에서 큰 파일을 발견했다고 해서 무조건 삭제해서는 안 됩니다.
그 파일이 시스템이나 서비스 운영에 필요한 파일일 수도 있기 때문입니다.
파일을 삭제하기 전에는 어떤 프로그램이 사용하는 파일인지, 백업이 필요한 파일인지, 삭제해도 서비스에 영향을 주지 않는지 확인해야 합니다.
삭제한 파일이 디스크 공간을 계속 차지하는 경우
리눅스 서버를 관리하다 보면 파일을 삭제했는데도 디스크 사용량이 크게 줄어들지 않는 상황이 발생할 수 있습니다.
이런 경우에는 해당 파일을 어떤 프로세스가 계속 열고 있는지 확인할 필요가 있습니다.
프로세스가 파일을 열어 놓은 상태에서 파일 이름만 삭제되면 실제 데이터가 즉시 모든 공간에서 사라지지 않을 수 있습니다.
특히 로그 파일을 삭제한 후에도 디스크 공간이 반환되지 않는다면 해당 로그를 사용하는 서비스가 파일을 계속 열고 있는지 확인해 볼 필요가 있습니다.
이러한 상황에서는 관련 프로세스와 서비스의 상태를 확인한 후 적절한 방법으로 처리해야 합니다.
디스크 사용량을 주기적으로 확인하는 습관
서버 디스크 관리는 문제가 발생한 뒤에만 확인하는 것보다 평소에 상태를 확인하는 것이 좋습니다.
예를 들어 매일 또는 매주 서버의 디스크 사용률을 확인하면 저장공간이 빠르게 증가하는 상황을 조기에 발견할 수 있습니다.
특히 웹 서버나 데이터베이스 서버처럼 데이터가 지속적으로 증가하는 환경에서는 모니터링이 더욱 중요합니다.
단순히 현재 사용량만 확인하는 것보다 시간이 지나면서 얼마나 빠르게 증가하고 있는지를 파악하는 것이 중요합니다.
예를 들어 현재 디스크 사용률이 50%라고 해서 무조건 안전하다고 판단하기보다는 한 달 동안 사용량이 얼마나 증가했는지를 함께 확인해야 합니다.
디스크 용량을 확보할 때 주의할 점
리눅스 서버에서 디스크 공간을 확보할 때는 신중하게 작업해야 합니다.
가장 중요한 원칙은 무엇인지 모르는 파일을 함부로 삭제하지 않는 것입니다.
인터넷에서 특정 명령어 하나를 복사하여 실행하는 방식은 서버 관리에서 위험할 수 있습니다.
특히 관리자 권한으로 파일을 삭제하는 명령어는 잘못 사용하면 시스템에 중요한 파일까지 삭제할 수 있습니다.
따라서 삭제하기 전에 파일의 위치와 용도를 확인하고, 필요한 데이터라면 먼저 백업하는 것이 좋습니다.
또한 서버에서 실행 중인 서비스가 해당 파일을 사용하고 있는지도 확인해야 합니다.
서버 디스크 관리에서 백업이 중요한 이유
디스크 공간을 관리하다 보면 오래된 파일을 정리해야 하는 상황이 생깁니다.
이때 중요한 데이터까지 삭제하지 않기 위해서는 평소 백업 정책을 마련해 두는 것이 좋습니다.
특히 데이터베이스, 사용자 업로드 파일, 설정 파일 등 중요한 데이터는 별도의 저장공간에 백업하는 것이 안전합니다.
백업은 단순히 파일을 복사해 놓는 것으로 끝나는 것이 아니라 실제로 복구할 수 있는지도 확인해야 합니다.
서버에서 디스크 정리를 하기 전에 중요한 데이터를 백업해 두었다면 실수로 필요한 파일을 삭제했을 때 복구할 수 있는 가능성이 높아집니다.
리눅스 서버 디스크 관리 체크리스트
리눅스 서버를 운영하면서 다음과 같은 항목을 정기적으로 확인하면 좋습니다.
- 전체 디스크 용량 확인
- 현재 디스크 사용률 확인
- 남은 디스크 공간 확인
- 용량이 큰 디렉터리 확인
- 대용량 파일 확인
- 로그 파일 증가 여부 확인
- 백업 파일 증가 여부 확인
- 사용자 데이터 증가 여부 확인
- 임시 파일 및 캐시 확인
- 삭제한 파일이 계속 사용되는지 확인
- 디스크 사용량 증가 추세 확인
- 중요한 데이터의 백업 상태 확인
이러한 체크리스트를 정해 놓으면 서버의 저장공간 문제를 보다 체계적으로 관리할 수 있습니다.
리눅스 디스크 사용량 확인을 처음 공부한다면
리눅스 서버를 처음 배우는 단계라면 먼저 df와 du 두 명령어의 차이를 이해하는 것부터 시작하는 것이 좋습니다.
먼저 df -h를 이용하여 전체 파일 시스템의 사용량을 확인합니다.
그 다음 디스크 사용률이 높다면 du를 이용하여 어떤 디렉터리가 많은 공간을 사용하는지 찾아봅니다.
이후 용량이 큰 디렉터리 안으로 들어가 어떤 파일이 공간을 차지하는지 확인합니다.
마지막으로 해당 파일이 정말 삭제 가능한 파일인지 확인하고 필요한 경우 백업이나 로그 관리 정책을 적용합니다.
이 과정을 반복해서 연습하면 서버의 디스크 공간이 부족했을 때 문제의 원인을 단계적으로 찾아갈 수 있습니다.
마무리
리눅스 서버의 디스크 사용량 관리는 안정적인 서버 운영을 위해 반드시 필요한 기본 관리 작업입니다.
서버를 처음 설치했을 때는 저장공간이 충분해 보이지만 로그, 백업 파일, 데이터베이스, 사용자 파일 등이 계속 증가하면 디스크 공간이 부족해질 수 있습니다.
따라서 df 명령어를 이용해 전체 디스크 사용량을 확인하고, du 명령어를 활용해 어떤 디렉터리와 파일이 많은 공간을 사용하는지 파악하는 방법을 익혀두는 것이 좋습니다.
또한 디스크 사용량이 높다고 해서 무조건 파일을 삭제하기보다는 로그, 백업, 사용자 데이터 등 어떤 종류의 데이터가 공간을 차지하고 있는지 먼저 확인하는 과정이 중요합니다.
특히 중요한 파일을 삭제하기 전에는 백업 여부와 서비스 영향까지 확인해야 합니다.
리눅스 서버를 처음 공부한다면 df → du → 대용량 파일 확인 → 로그 관리 → 백업 → 디스크 사용량 모니터링 순서로 학습해 보세요.
디스크 관리는 한 번 정리하고 끝나는 작업이 아니라 서버를 운영하는 동안 지속적으로 확인해야 하는 관리 항목입니다. 평소 디스크 사용량을 확인하는 습관을 만들어 두면 저장공간 부족으로 발생할 수 있는 여러 가지 서버 장애를 사전에 예방하는 데 도움이 됩니다.