100,000,000개의 파일을 수용하도록 ext4 파일 시스템 설정 iNode 문제

100,000,000개의 파일을 수용하도록 ext4 파일 시스템 설정 iNode 문제

ext4 fs가 포함된 RHEL 9가 있습니다.

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 1258291199 1258289152  600G 83 Linux

이미 100,000,000개의 파일을 저장할 수 있는 Inode를 갖춘 ext4가 필요했습니다. +

mkfs.ext4 -N 2000000000 /dev/sdb1을 실행할 수 있다고 생각했습니다.

하지만 파티션을 마운트하면 충분한 inode를 얻을 수 있습니다.

/dev/sdb1 /fileshare 마운트

/fileshare에는 92GB만 표시됩니다.

mkfs.ext4 /dev/sdb1을 실행한 다음 마운트하면 /fileshare에 560GB가 표시됩니다. 이것이 바로 제가 원하는 것입니다. 대용량 파일(1억 ~ 5억)을 수용하는 데 필요한 inode 수를 어떻게 얻을 수 있지만 여전히 560GB 디스크가 있습니다. 크기?

답변1

-N 2000000000? 귀하의 질문에 따르면 20억 개가 아닌 약 1억 개를 목표로 하고 있습니다. 필요한 것보다 20배 더 많은 inode를 요구하고 있습니다. 이 문제를 해결하면 합리적인 결과를 얻을 수 있습니다.

그러나 여기에는 파일 크기와 관련하여 더 큰 문제가 있습니다. 비록최소 1kB/파일많은 파일(kB당 대략 4x의 inode 포함)을 저장하려면 약 125GB의 스토리지만 필요하며, 2x10^9 inode의 예를 사용하면 2.25TB가 됩니다. 적어도.

답변2

각각 256바이트인 20억 개의 inode, 즉 476GB의 inode가 필요합니다. 요구 사항이 5억이면 inode 공간이 120GB만 있는 것이 훨씬 더 좋습니다. inode의 크기를 줄일 수도 있지만 -I 128여기에는 제한이 있습니다.mkfs.ext4mke2fs자세한 내용은 /맨페이지.

나는 그 옵션만을 사용 -i bytes-per-inode하고 당신이 좋은 균형을 얻을 것이라고 믿습니다.

관련 정보