我正在寻找一种能够以对(常规)硬盘施加最小压力的方式处理 IO 的文件系统。
换句话说:尽可能长时间地保持驱动器的活动状态
这是供家庭使用的,我只想存储常规文件。
我不需要任何“功能”(牛、加密、raid、压缩……)
我什至不介意 atime、mtime、ctime、权限和用户/组是否未(或不正确)保存。
我认为其他人也会有同样的问题,并且根据用例,答案可能会有所不同。
我的用例(或多或少)是:
- 100 MB 到 10 GB 之间的文件
- 文件系统总大小在 2 到 20 TB 之间
- 文件只会被写入和删除,不会被修改
- 大多数操作都会涉及读取(文件在创建和删除之间会被读取 5 到 10 次)
- 速度并不重要
我认为不仅重要的是总 IO 操作,而且数据的位置也很重要。
我不是专家,但我想如果针不断地从驱动器的一个点跳到另一个遥远的点,硬盘驱动器也会死得更快。
因此,自我碎片整理可能会很方便(除非它本身对驱动器造成更大的压力,而不是它实际上有帮助)
答案1
F2FS 是专门为最大限度地减少磁盘写入而创建的。 exFAT(现在由 Linux 内核原生支持)在这方面也相当节俭。最后,您可以在没有日志的情况下使用 ext2/ext4fs。
大多数其他 Linux 文件系统都需要日志记录,这会给您的存储带来额外的压力。
答案2
我认为不同文件系统的 I/O 模式不太可能影响旋转硬盘的使用寿命。特别是,磁头寻道不会显着导致硬盘驱动器磨损,因为现代驱动器使用电磁驱动器音圈。唯一与寻道相关的磨损位于磁头枢轴点,该点不易磨损。
您应该避免不必要地停止和启动驱动器。驱动器旋转引起的磨损比任何 I/O 模式都要严重得多。
如果您的主要目标确实是最大限度地延长单个设备的使用寿命,那么您可以做出的最有影响力的选择就是您购买的驱动器的制造商和型号。你可能会发现BackBlaze 的硬盘数据和统计数据对此有用。
如果您的主要目标是数据持久性,那么您需要备份。如果您的主要目标是高可用性,那么您需要 RAID 或某种其他形式的冗余。
至于文件系统的选择,您有一组相对简单的要求。如果您只需要在 Linux 上使用它,我建议使用 ext4。它成熟、稳定、使用非常广泛,并且您不太可能遇到不支持它的内核。