예약된 것보다 더 많은 여유 블록이 있지만 여전히 "장치에 공간이 없습니다"라는 메시지가 나타납니다.

예약된 것보다 더 많은 여유 블록이 있지만 여전히 "장치에 공간이 없습니다"라는 메시지가 나타납니다.

이 dumpe2fs -h 출력에서 ​​볼 수 있듯이(중요한 사항이 있을 경우를 대비해 꼬리 부분을 잘라내고 머리 부분은 남겨두었습니다) Not Reserved보다 더 많은(실제로 약 86000개) "사용 가능한 블록"이 있지만 "공간 없음"이 표시됩니다. 매우 작은 파일의 경우에도 장치에 오류가 발생합니다(테스트를 위해 파일에 무언가를 반영).

색상이 나를 당황하게 만들었습니다.

dumpe2fs 1.41.12(2010년 5월 17일)
파일 시스템 볼륨 이름:   
마지막 설치 날짜:          
파일 시스템 UUID: b7d8fde6-faa4-4c13-b310-32f302cc6db6
파일 시스템 매직 넘버: 0xEF53
파일 시스템 버전 번호: 1(동적)
파일 시스템 기능: has_journal ext_attr resize_inode dir_index 파일 유형 need_recovery sparse_extra 큰 파일
파일 시스템 플래그: signed_directory_hash
기본 설치 옵션: (없음)
파일 시스템 상태: 깨끗함
나쁜 행동: 계속
파일 시스템 운영 체제 유형: Linux
인덱스 노드 수: 9707520
블록 수: 38808000
예약된 블록 수: 1940400
무료 블록: 2026361
무료 인덱스 노드: 9583170
첫 번째 블록: 0
블록 크기: 4096
조각 크기: 4096
예약된 GDT 블록: 1014
그룹당 블록 수: 32768
그룹당 조각: 32768
그룹당 인덱스 노드: 8192
세트당 Inode 블록: 512

답변1

160GB 파티션이 94.78% 차 있고 해당 파일 시스템이 예약된 블록의 기본값(5%)을 사용하고 있습니다.

그러면 여유 디스크 공간이 0.22%(약 40MB)만 남게 됩니다. 작은 파일로 인해 디스크가 꽉 차서 여유 공간이 부족한 이유를 이해하려고 노력할 필요가 없습니다.

시스템은 이 공간을 채우는 로그나 임시 파일을 동시에 생성할 수 있습니다. 저널링도 여기서 중요한 역할을 했을 수 있습니다. 즉, 작은 파일은 직접 작성되지 않고 추가 공간이 필요할 수 있는 중간 위치를 통해 작성됩니다.

답변2

디스크 손상이 발생할 수 있습니다. 단일 사용자 또는 복구 모드로 부팅하고 fsck영향을 받은 파티션에서 실행합니다.

답변3

사용 가능한 inode 수를 확인하세요.

df -i /FILESYSTEM-IN-QUESTION

inode가 부족하면 inode 테이블을 채우는 작은 파일의 미로를 찾아서 병합해야 합니다.

예를 들어 /tmp에 900만 개의 파일이 있으면 문제가 발생할 수 있습니다.

관련 정보