Ubuntu의 ext4 파일 시스템에서 디렉토리 항목의 현재 구조를 고려할 때 파일 시스템이 포함 할 수있는 최대 파일 수는 얼마입니까?
파일 시스템이 포함 할 수있는 최대 파일 수를 계산하는 일반적인 방법은 무엇입니까?
Ubuntu의 ext4 파일 시스템에서 디렉토리 항목의 현재 구조를 고려할 때 파일 시스템이 포함 할 수있는 최대 파일 수는 얼마입니까?
파일 시스템이 포함 할 수있는 최대 파일 수를 계산하는 일반적인 방법은 무엇입니까?
답변:
Ext4는 이론적으로 40 억 파일로 제한되며 각 파일을 식별하는 데 사용하는 inode 번호의 크기에 의해 제한됩니다 (ext4는 32 비트 inode 번호를 사용함). 그러나 John이 말했듯이 ext4는 inode 테이블을 정적으로 할당하므로 파일 시스템을 만들 때 실제 제한이 설정됩니다.
df 명령은 파일 시스템에서 사용 가능한 inode 수를 보여줍니다.
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4는 디렉토리 당 무제한의 하위 디렉토리를 지원하지만 기본값은 64,000으로 제한 될 수 있습니다. 이것은 설정 가능합니다 -Kernel Newbies 의 ext4 기사를 보십시오 .
자세한 내용 은 새로운 ext4 파일 시스템 : 2007 Linux Symposium의 현재 상태 및 향후 계획 을 참조하십시오.
그 자체는 하나도 없습니다. 그것은 달려있다. ext4 파일 시스템을 작성할 때 inode 테이블 의 크기를 결정 하면 파일 시스템이 한 번에 보유 할 수있는 총 디렉토리 또는 파일 수를 결정합니다.
우분투는 아니지만, 3 백만 개의 파일을 포함하는 디렉토리에 대해 실행하면 Redhat Linux에서 find와 같은 기본 명령이 '너무 많은 인수 오류'와 함께 실패합니다. 매개 변수가 포함되지 않은 경우 ls가 성공적으로 실행되지만 필터 매개 변수가 추가 되 자마자 같은 오류로 실패합니다.
이러한 기본 명령의 신뢰성을 가정하는 것이 필수 요구 사항이라고 가정하면 3 백만 개의 파일이 너무 많다는 것을 제안합니다.
tune2fs -l /path/to/device
주어진 파일 시스템에 대한 한계가 무엇인지 찾기 위해 Inode count 값을 실행 하고 찾을 수 있습니다.