首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建议的最大百分比来填充大型ext4数据驱动器

建议的最大百分比来填充大型ext4数据驱动器
EN

Unix & Linux用户
提问于 2016-11-30 09:59:29
回答 1查看 2K关注 0票数 4

ext文件系统的默认保留块百分比为5%。在一个4TB数据驱动器上,这是200 to,这对我来说似乎太过了。

显然,这可以通过tune2fs来调整:

代码语言:javascript
复制
 tune2fs -m <reserved percentage> <device>

然而,tune2fs的手册页指出,这些保留块的原因之一是避免碎片化。

因此,考虑到以下几点(我试图明确地避免各种不同的意见):

  • ~4 4TB
  • 用于存储大型文件(全部>500 to )
  • 一旦完成,很少写(可能一个月一次1-5个文件被替换)
  • 仅用于数据(没有操作系统或从驱动器运行的应用程序)
  • 中度阅读(每周约20 the,每3个月阅读整卷)
  • HDD的磨损是值得关注的,为了节省20 of而杀死一个HDD并不是想要的结果(这是一个问题吗?)

驱动器可以填充的最大百分比是多少,而不会导致(从性能和/或hdd磨损角度看是明显的)碎片?

对于将大数据hdd填充到较高的百分比和/或将保留块计数设置为0.1%,还有其他问题吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-04-17 23:04:40

碎片的最大问题是空闲空间碎片,这意味着当您的文件系统满了,并且不再有大量可用空间时,您的文件系统性能就会下降。每个新文件一次只能分配小块空间,因此非常分散。即使删除了其他文件,以前写入的文件也会被溅满磁盘,导致新文件再次被碎片化。

在上面描述的使用情况中(~500 of文件、相对较少的覆盖或正在写入的新文件、定期删除旧的~500 of文件,我假设某种视频存储系统),您将得到相对较少的碎片--假设您的文件大小保持相对不变。如果您的写入是单线程的,则尤其如此,因为多个写线程不会争夺少量的空闲空间并将它们的块分配交织在一起。对于从磁盘中删除的每一个旧文件,您都将得到几百MB的连续空间(假设该文件最初不是分段的),并且它将再次被填充。

如果您确实有多个并发编写器,那么使用fallocate()为每个文件保留大量的空间(最后使用truncate()来释放任何剩余的空间)也将避免碎片化。即使没有这一点,ext4也将尝试在编写文件时(在内存中)为文件预留大约8MB的空间,以避免最糟糕的碎片。

我建议您至少保持适当的文件大小倍数(例如,16 to或更多),这样就不会消耗掉所有空闲块的点滴和悬垂,并引入永久的空闲空间碎片。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/327024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档