![如何以尽可能低的 inode 磁盘使用率(1 个目录和 1 个海量文件)格式化硬盘驱动器 EXT4?](https://linux22.com/image/12142/%E5%A6%82%E4%BD%95%E4%BB%A5%E5%B0%BD%E5%8F%AF%E8%83%BD%E4%BD%8E%E7%9A%84%20inode%20%E7%A3%81%E7%9B%98%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%881%20%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%92%8C%201%20%E4%B8%AA%E6%B5%B7%E9%87%8F%E6%96%87%E4%BB%B6%EF%BC%89%E6%A0%BC%E5%BC%8F%E5%8C%96%E7%A1%AC%E7%9B%98%E9%A9%B1%E5%8A%A8%E5%99%A8%20EXT4%EF%BC%9F.png)
我正在尝试为 Linux 上的突发挖掘准备一个硬盘,并希望最大化可用于绘图文件的硬盘空间。因此,为此我需要将索引节点设置为尽可能最小,以使用最少的硬盘空间。该硬盘将包含一个目录和一个文件,这是整个硬盘的最大大小。我该怎么做呢?
我已经发现删除 5% 的系统保留空间可以释放很多空间,但是 1.6% 的空间仍在被计算机使用,上面没有任何文件。查了一下,这是由于 inode 静态表造成的,我不需要支持数千个文件,只需要一个文件夹和一个驱动器大小的大文件。
答案1
我想我已经找到了解决方案。将硬盘驱动器格式化为 ext4,并将 inode 计数设置为最小值 128,每个 inode 的最大字节大小设置为最大值 67108864(释放 1.6%):
mkfs.ext4 -F -L '[Label]' '/dev/sd[X]' -I 128 -i 67108864
格式化后,我删除了系统保留空间(释放了 5%):
sudo tune2fs -m 0 /dev/sd[X]
接下来禁用日志以提高写入速度(绘图所需):
sudo tune2fs -O ^has_journal /dev/sd[X]
将 [X] 替换为 HDD 驱动器盘符。
这使得安装后的磁盘使用率显示为 0% 已满,并且据我所知支持完整的驱动器文件大小。