[server] ext4 파일 시스템 최대 inode 제한-누구든지 설명해 주시겠습니까?

최근에 우리는 more than 6mln in this case충분한 공간 이 있어도 ext4 파일 시스템 중 하나가 매우 많은 수의 파일을 처리 할 수없는 것처럼 보였습니다 . 그것은이다 6mlnext4 파일 시스템은 기본 설정 모든으로 포맷 한 때, 최대 수? Google에 시도했지만 확실한 답변을 얻지 못했습니다. 여기 누군가가 이것에 약간의 빛을 비출 수 있습니까? 건배!!



답변

기본값이 없습니다 와 같은 ext4를위한 IT는 장치의 크기 및 생성시 선택한 옵션에 따라 달라집니다. 다음을 사용하여 기존 한계를 확인할 수 있습니다

tune2fs -l /path/to/device

예를 들어

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

에 따라 man mkfs.ext4

-i 바이트 당 -i 바이트

바이트 / 노이드 비율을 지정하십시오. mke2fs는 디스크의 모든 바이트 당 바이트 당 공간에 대해 inode를 만듭니다. 바이트 당 바이트 비율이 클수록 더 적은 inode가 생성됩니다. 이 값은 일반적으로 파일 시스템의 블록 크기보다 작아서는 안됩니다.이 경우 사용 가능한 것보다 많은 inode가 만들어지기 때문입니다. 파일 시스템이 작성된 후 inode 수를 확장 할 수 없으므로이 매개 변수의 올바른 값을 신중하게 결정하십시오.


답변

파일 시스템 포맷 방법에 따라 다릅니다. tune2fs -l <device>당신을 사용 하면 장치가 가지고있는 inode의 수를 찾을 수 있습니다. 모든 파일 또는 디렉토리는 inode를 사용합니다.

내가 아는 한, inode 수를 늘리는 유일한 방법은 파일 시스템을 다시 포맷하는 것입니다. 의 -i매개 변수를 mkfs사용하여 바이트 / 노이드 비율을 지정할 수 있습니다. 기본값은 /etc/mke2fs.conf(내 시스템 : 16384)에 정의되어 있습니다.

바이트 / 아이 노드 비율이 클수록 아이 노드 수가 적고 아이 노드가 더 작습니다. 대부분의 경우 기본값이 잘 작동하지만 작은 파일이 많을 경우 한계에 도달 할 수 있으며 더 작은 바이트 / 노드 비율로 파일 시스템을 포맷해야 할 수도 있습니다.


답변