27

我只创建了大约 800 万个文件,然后 /dev/sdb1 中没有空闲的 inode。

[spider@localhost images]$ df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdb1            8483456 8483456       0  100% /home

有人说格式化分区时可以指定inode计数。

例如 mkfs.ext4 -N 1000000000。

我尝试过,但出现错误:

“inode_size (256) * inode_count (1000000000) 太大...指定更高的 inode_ratio (-i) 或更低的 inode 计数 (-N)。”。

合适的 inode_ratio 值是多少?

我听说 ext4 的 min inode_ratio 值为 1024。

是否可以在一个分区上存储十亿个文件?如何?有人说它会很慢。

4

1 回答 1

39

创建 ext4 文件系统时,可以指定使用类型:

mkfs.ext4 -T usage-type /dev/something

/etc/mke2fs.conf 中列出了可用的使用类型。使用类型之间的主要区别在于 inode 比率。inode ratio越低,您可以在文件系统中创建的文件就越多。

mke2fs.conf 中分配文件系统中inode 数量最多的使用类型是“news”。使用 1 TB 硬盘驱动器上的这种使用类型,ext4 创建了 2.44 亿个 inode。

# tune2fs -l /dev/sdb1 | grep -i "inode count"
Inode count:              244219904
# sgdisk --print /dev/sdb
Disk /dev/sdb: 1953525168 sectors, 931.5 GiB

这意味着它需要超过 4 TB 来创建一个带有“-Tnews”的 ext4 文件系统,它可能包含 10 亿个 inode。

于 2014-01-28T09:13:42.753 回答