Linux inode 확인하는 방법 (디스크 용량은 남았는데 저장이 안 될 때 해결하기)

Linux 서버에서 새로운 파일이 생성되지 않거나 “No space left on device” 오류가 발생하는 경우가 있습니다. 대부분의 사용자는 디스크 용량이 부족한 것으로 생각하지만, 실제 원인은 inode 부족인 경우가 많습니다.

inode는 Linux 파일 시스템에서 모든 파일과 디렉터리의 정보를 관리하는 데이터 구조입니다. 디스크에 충분한 여유 공간이 있어도 사용 가능한 inode가 모두 소진되면 새로운 파일을 만들 수 없습니다.

이 문제는 웹 서버, 메일 서버, 로그 서버처럼 작은 파일이 많이 생성되는 환경에서 자주 발생합니다. 따라서 디스크 사용량뿐 아니라 inode 사용량도 함께 확인하는 것이 중요합니다.

inode란 무엇인가?

Linux에서는 모든 파일과 디렉터리에 하나의 inode가 할당됩니다.

inode에는 파일 이름을 제외한 다양한 정보가 저장됩니다.

대표적으로 다음과 같은 정보가 포함됩니다.

  • 파일 권한
  • 소유자
  • 그룹
  • 파일 크기
  • 생성 시간
  • 수정 시간
  • 실제 데이터가 저장된 위치

파일 하나를 생성하면 inode도 하나 사용됩니다.

작은 파일이라도 개수가 많아지면 inode는 빠르게 소진될 수 있습니다.

현재 inode 사용량 확인하기

현재 시스템의 inode 사용량을 확인하려면 다음 명령어를 실행합니다.

df -i

명령어를 실행하면 각 파일 시스템의 inode 사용 현황이 표시됩니다.

다음 항목을 확인하면 됩니다.

  • Inodes : 전체 inode 개수
  • IUsed : 사용 중인 inode 개수
  • IFree : 남은 inode 개수
  • IUse% : inode 사용률

가장 중요한 항목은 **IUse%**입니다.

사용률이 100%에 가까우면 새로운 파일을 생성하지 못할 가능성이 있습니다.

디스크 용량과 inode를 함께 확인하기

디스크 공간과 inode는 서로 다른 자원입니다.

먼저 디스크 사용량을 확인합니다.

df -h

그다음 inode 사용량을 확인합니다.

df -i

디스크 사용률은 낮지만 inode 사용률이 매우 높다면 문제의 원인은 inode 부족일 가능성이 높습니다.

특정 디렉터리의 파일 개수 확인하기

inode는 파일 개수와 직접 관련이 있습니다.

특정 디렉터리에 파일이 얼마나 있는지 확인하려면 다음 명령어를 사용합니다.

find /var/log -type f | wc -l

이 명령어는 /var/log 디렉터리에 있는 파일 개수를 출력합니다.

로그 파일이 과도하게 많다면 inode 사용량도 함께 증가할 수 있습니다.

파일이 가장 많은 디렉터리 찾기

파일이 집중되어 있는 위치를 확인하려면 다음 명령어를 사용할 수 있습니다.

find / -xdev -type f | cut -d "/" -f2 | sort | uniq -c | sort -nr

파일 개수가 많은 디렉터리를 확인하면 inode를 많이 사용하는 위치를 빠르게 찾을 수 있습니다.

inode 부족 시 나타나는 증상

inode가 모두 사용되면 다음과 같은 문제가 발생할 수 있습니다.

  • 새로운 파일 생성 실패
  • 로그 파일 저장 실패
  • 프로그램 실행 오류
  • 패키지 설치 실패
  • No space left on device 오류
  • 서비스 정상 실행 실패

이러한 증상은 디스크 용량이 충분해도 발생할 수 있습니다.

inode 부족이 발생하는 주요 원인

inode는 파일 크기보다 파일 개수의 영향을 더 많이 받습니다.

다음과 같은 환경에서는 inode가 빠르게 소진될 수 있습니다.

  • 로그 파일이 계속 생성되는 서버
  • 캐시 파일이 누적되는 시스템
  • 메일 서버
  • 웹 서버 세션 파일
  • 임시 파일이 삭제되지 않는 환경
  • 수백만 개의 작은 파일을 저장하는 서비스

inode 사용량 관리 방법

inode 부족을 예방하려면 파일 개수를 정기적으로 관리해야 합니다.

다음 작업을 권장합니다.

  • 오래된 로그 파일 삭제
  • 임시 파일 정리
  • 캐시 파일 관리
  • 사용하지 않는 파일 제거
  • 정기적인 inode 사용량 확인

파일을 정리하면 inode도 함께 확보할 수 있습니다.

inode 확인 시 주의할 점

디스크 용량만 확인하면 inode 부족 문제를 발견하지 못할 수 있습니다.

파일 생성 오류가 발생한다면 df -hdf -i를 함께 확인하는 것이 좋습니다.

특히 웹 서버, 로그 서버, 메일 서버는 inode 사용량을 주기적으로 점검하는 것이 안정적인 서버 운영에 도움이 됩니다.

자주 묻는 질문

inode는 무엇인가요?

inode는 Linux에서 파일과 디렉터리의 메타데이터를 저장하는 데이터 구조입니다.

파일 하나마다 하나의 inode가 할당됩니다.

inode 사용량은 어떻게 확인하나요?

다음 명령어를 사용합니다.

df -i

디스크 용량이 남아 있는데 파일이 저장되지 않는 이유는 무엇인가요?

사용 가능한 inode가 모두 소진되었을 수 있습니다.

먼저 다음 명령어를 실행하여 inode 사용률을 확인합니다.

df -i

마무리

inode는 Linux 파일 시스템을 구성하는 중요한 요소입니다. 디스크 용량이 충분하더라도 inode가 모두 사용되면 새로운 파일을 생성할 수 없습니다. 서버에서 파일 생성 오류가 발생하면 df -hdf -i를 함께 확인하는 습관을 가지는 것이 좋습니다. inode 사용량을 정기적으로 관리하면 예기치 않은 서버 장애를 예방하고 안정적인 시스템 운영에 도움이 됩니다.

댓글 남기기