여분의 아이 노드가있는 EXT4 파티션을 어떻게 만들 수 있습니까?


15

아이 노드에 대하여

우분투에서 각 파일과 디렉토리는 소위 inode입니다. 사용 df -i중인 마운트 된 모든 파일 시스템에 사용 가능한 inode 수를 확인하는 데 사용할 수 있습니다 .

질문

새 EXT4 파티션을 만들면 기본 inode 수를 사용하는데, 이는 정상적인 조건에서 충분합니다. 그러나 수백만 개의 작은 파일을 생성하는 시스템을 실행하는 경우, 더 많은 수의 inode를 가진 새로운 EXT4 파티션을 어떻게 만들어야합니까? 최대 값은 얼마입니까?

코멘트

  • EXT4 파티션이 생성 된 후에는 사용 가능한 inode 수를 변경할 수 없습니다


@Rinzwind 그것은 많은 수의 작은 파일을 찾는 방법만을 묻는 것과 같은 질문이 아닙니다 ... 더 많은 수의 inode로 새로운 EXT4 파티션을 포맷하는 방법을 설명하지 않습니다. 질문을 다시 열겠습니다.
bzero

이 질문에 대한 답변이 이미 있다고 상단 배너를 비활성화하려면 어떻게해야합니까? 이것은 다른 질문입니다.
bzero

답변:


12

사용 mkfs -t ext4 -N iNumberOfINodes /dev/XdY여기서 iNumberOfINodes어떤 외부 2 / 3 / 4 파일 시스템에 inode가 가능한 최대 수가 2 ^ 32-1 또는 4,294,967,295 (~ 40 억)하므로 32 비트 수이다.


5
4,000,000,000 iNode를 구성 할 때 알려진 성능 저하가 있습니까?
bzero

1
실제로는 그렇지 않습니다 : mkfs.ext4 : 너무 많은 inode (4294967296), <2 ^ 32 inodes 지정
dalore

@dalore off-by-one error : 2 ^ 32-1 ... 피드백에 대한
답글을

참고 나는 그것을 시도했지만 어떤 숫자가 허용되는지에 대해 매우 유익하지 않은 또 다른 오류가 발생했습니다.
dalore

2 ^ 31을 시도 했습니까 ???
Fabby

3

mkfs.ext4 매뉴얼 페이지를 참조하십시오.

man mkfs.ext4

옵션을 -N사용하면 파일 시스템에서 생성 된 inode 수를 설정할 수 있으며 옵션을 -I사용하면 크기를 늘릴 수 있으므로 파일의 확장 된 속성을 처리 할 수 ​​있습니다. 파일 시스템을 만들 때 상황에 맞게 조정하십시오.


고마워, 그래서 -N은 생성 시간에 사용되는 반면 -l은 파티션이 생성 된 후 inode 수를 조정하는 데 사용할 수 있습니까? 나는 지금 매뉴얼 페이지를 자세히 살펴볼 것이다 ...
bzero

-I생성시에 각각의 inode 바이트의 크기를 변경한다. 기존 파일 시스템에서 사용 가능한 수를 늘릴 수 없습니다.
TwoD

"allows you to increase their size (so they can handle more files)"아이 노드 크기가 증가한다고해서 더 많은 파일을 처리 할 수있는 것은 아니며, 아이 노드 당 바이트 비율이 클수록 더 적은 아이 노드가 생성되므로 더 적은 파일을 처리 할 수 ​​있습니다.
ZN13

1

항상 inode와 블록 크기 간의 균형을 유지합니다. 32 비트는 최대이지만 실제 최대는 디스크 / 파일 시스템 크기를 블록 크기로 나눈 값에 따라 다릅니다. 각 파일은 최소한 하나의 블록입니다. inode 당 블록 수를 결정하는 그룹 크기를 지정할 수도 있습니다. (즉, 바이트 / 노이드)

특정 디스크 크기 및 블록 크기에 할당 할 수있는 inode 수를 결정합니다.

또한 성능과 파일 용량 간의 균형을 유지합니다. 블록 크기가 작을수록 큰 파일이 조각화되고 파일을로드하기 위해 더 많은 I / O 작업이 필요합니다.

커스터마이즈하려면 읽을 필요가 있습니다. 그렇지 않으면 원하는 생각에 완전히 부적합한 파일 시스템이 생깁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.