ext文件系统的默认保留块百分比为5%。在一个4TB数据驱动器上,这是200 to,这对我来说似乎太过了。
显然,这可以通过tune2fs来调整:
tune2fs -m <reserved percentage> <device>然而,tune2fs的手册页指出,这些保留块的原因之一是避免碎片化。
因此,考虑到以下几点(我试图明确地避免各种不同的意见):
驱动器可以填充的最大百分比是多少,而不会导致(从性能和/或hdd磨损角度看是明显的)碎片?
对于将大数据hdd填充到较高的百分比和/或将保留块计数设置为0.1%,还有其他问题吗?
发布于 2018-04-17 23:04:40
碎片的最大问题是空闲空间碎片,这意味着当您的文件系统满了,并且不再有大量可用空间时,您的文件系统性能就会下降。每个新文件一次只能分配小块空间,因此非常分散。即使删除了其他文件,以前写入的文件也会被溅满磁盘,导致新文件再次被碎片化。
在上面描述的使用情况中(~500 of文件、相对较少的覆盖或正在写入的新文件、定期删除旧的~500 of文件,我假设某种视频存储系统),您将得到相对较少的碎片--假设您的文件大小保持相对不变。如果您的写入是单线程的,则尤其如此,因为多个写线程不会争夺少量的空闲空间并将它们的块分配交织在一起。对于从磁盘中删除的每一个旧文件,您都将得到几百MB的连续空间(假设该文件最初不是分段的),并且它将再次被填充。
如果您确实有多个并发编写器,那么使用fallocate()为每个文件保留大量的空间(最后使用truncate()来释放任何剩余的空间)也将避免碎片化。即使没有这一点,ext4也将尝试在编写文件时(在内存中)为文件预留大约8MB的空间,以避免最糟糕的碎片。
我建议您至少保持适当的文件大小倍数(例如,16 to或更多),这样就不会消耗掉所有空闲块的点滴和悬垂,并引入永久的空闲空间碎片。
https://unix.stackexchange.com/questions/327024
复制相似问题