是否可以更改 ext4 文件系统上的 Inode 计数?

Ale*_*ell 12 linux ext4 inode

可能的重复:
如何增加 ext4 文件系统中的 inode 数量?

我有一个带有 Debian Wheezy 64 位的自制 NAS。它具有三个磁盘 - 2x2TB 和 1.5TB,使用 RAID1/5 和 LVM 汇集在一起​​。结果是一个 LVM 逻辑卷,大小约为 3.16TB,格式化为 ext4 并挂载为 /home。但是,我刚刚发现 Inodes 使用了大约 50GB 的容量(确切数量为 212 459 520,大小为 256B,或者换一种说法——每 16k 分区大小一个 Inode)。

虽然 3.16TB 中的 50GB 约占总容量的 1.5%,但它仍然有很大的空间。由于这是一个存储 NAS,主要用于多媒体,我不希望 /home 分区中有 2.12亿个文件。

所以,我的问题是 - 是否可以在不实际重新创建整个分区的情况下降低/更改 inode 的数量?虽然有可能做到这一点,但我仍然更愿意找到一种方法来做到这一点,而不是移动 2TB 的数据并等待 RAID 再次重新同步。

Gil*_*il' 15

mke2fs手册页

请注意,在创建文件系统后无法扩展文件系统上的 inode 数量,因此请谨慎确定此参数的正确值。

所以答案是否定的。

您可以做的是缩小现有的 ext4 卷(这需要卸载文件系统),使用空闲空间创建一个具有更少 inode 的新 ext4 卷,复制数据,删除旧卷并扩展新卷以占用所有空间.


Joe*_*Joe 5

如果您有足够的空间,您可以获取文件系统的 tar 映像并将其备份。然后根据需要创建一个具有更高或更低 inode 计数的新 ext4 分区。获取 tar 映像并格式化分区也增加了对其进行碎片整理的好处。

我知道 ext4 不应该需要它,但无论你在这么多次使用后多么努力尝试它都会需要它或至少在某个时候提供速度增加。Ext4 只会让您的驱动器更难分片,并且每 1 到 3 年仍然会从中受益。这里的大问题是 tar 映像和重新格式化是我听说过的对 ext4 分区进行碎片整理的唯一方法。