파일 시스템이 포함 할 수있는 최대 파일 수는 얼마입니까?


34

Ubuntu의 ext4 파일 시스템에서 디렉토리 항목의 현재 구조를 고려할 때 파일 시스템이 포함 할 수있는 최대 파일 수는 얼마입니까?

파일 시스템이 포함 할 수있는 최대 파일 수를 계산하는 일반적인 방법은 무엇입니까?

답변:


37

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 Newbiesext4 기사를 보십시오 .

자세한 내용 은 새로운 ext4 파일 시스템 : 2007 Linux Symposium의 현재 상태 및 향후 계획 을 참조하십시오.


9

그 자체는 하나도 없습니다. 그것은 달려있다. ext4 파일 시스템을 작성할 때 inode 테이블 의 크기를 결정 하면 파일 시스템이 한 번에 보유 할 수있는 총 디렉토리 또는 파일 수를 결정합니다.


8
tune2fs -l /path/to/device주어진 파일 시스템에 대한 한계가 무엇인지 찾기 위해 Inode count 값을 실행 하고 찾을 수 있습니다.

1
아이 노드 수를 늘릴 수 있습니까? 내가 아는 한, inode는 연결된 목록으로 저장되므로 연결된 목록에 더 많은 노드를 추가하는 것과 같습니다. 나는 질문이 연결된 목록의 최대 길이가 될 수있는 것으로 요약된다고 생각한다.

4
ext4에서는 파일 시스템이 생성 될 때 inode 테이블이 정적으로 할당됩니다. 파일 시스템을 늘리는 유일한 방법은 파일 시스템을 다시 작성하는 것입니다. -N 또는 -i 옵션은 생성 된 inode 수를 설정하는 데 사용됩니다.

1
또한 디렉토리는 파일이므로 계산해야합니다.
dmckee

1
심볼릭 링크도 마찬가지입니다. 장치, FIFO 및 소켓이 계산되는지 확실하지 않습니다.
ephemient

1

우분투는 아니지만, 3 백만 개의 파일을 포함하는 디렉토리에 대해 실행하면 Redhat Linux에서 find와 같은 기본 명령이 '너무 많은 인수 오류'와 함께 실패합니다. 매개 변수가 포함되지 않은 경우 ls가 성공적으로 실행되지만 필터 매개 변수가 추가 되 자마자 같은 오류로 실패합니다.

이러한 기본 명령의 신뢰성을 가정하는 것이 필수 요구 사항이라고 가정하면 3 백만 개의 파일이 너무 많다는 것을 제안합니다.


3
그러나 파일 시스템 제한은 아닙니다.
user9517은 GoFundMonica

1
좋은 지적! FS는이를 지원할 수 있지만 도구를 다루는 데 점점 더 어려워 질 것입니다.
Csaba Toth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.