SSD:我应该多久做一次fstrim?


26

有不同的来源和建议不同的做法。我发现以下建议应该多久运行一次fstrim。

  • 由cron每周运行
  • 每天由cron运行
  • 在每次启动时运行

最佳选择是什么,为什么?Ubuntu 14.04默认使用第一个选项。

Answers:


30

TRIM至少要做三件事:

  1. 最小化写放大
  2. 防止长期性能下降
  3. 不可恢复地删除您的数据

现在,这取决于您的优先级。

对于1),您根本不应使用fstrim,而应使用discard文件系统的选项。只有立即修剪所有内容,SSD才会停止复制不再需要的数据。但是实际上,已经证明防止写放大并不重要,因为SSD可以进行大量写操作。

对于2),fstrim每周甚至每月使用完全可以。无需使用即时丢弃或每天修剪-这是一个短期措施,但这是使SSD长期保持满意状态。但这还取决于您的使用情况:如果您的文件系统总是很满,并且看到很多写入,那么您可能需要更规律地进行调整,而不是倾向于拥有大量可用空间并且文件系统中没有那么多写入。

对于3),您根本不应使用任何修剪。基本上,如果您期望是人类,那就会犯错误,发生意外-就像您刚刚删除了照片集,哎呀-TRIM之后恢复工具photorec就无法使用,因为TRIM会永远消失。

从纯数据恢复的角度来看,SSD令人头疼。有太多的剪裁发生在Linux中,即使没有问你(mkfs指装饰,lvremove/ lvresize如果/ ...威力issue_discards,一些partitioners可能有想法,...)。以前以前可逆的操作突然变得不可逆,所有这些都是为了在某些文件系统基准测试中获得更多一点……

如果您决定,则fstrim应该知道cron作业的位置,以便在发生事故时可以将其禁用,这样您就可以在2)和3)之间妥协。通常,使用SSD时,应确保备份良好,因为与HDD相比,备份尤为重要,因为您恢复SSD的机会较小。


性能下降是否与写放大严格相关?我读到这discard是次优的性能:blog.neutrino.es/2013/…patrick-nagel.net/blog/archives/337
marmistrz 2015年

1
当然,这是相关的,但严格限制吗?即使在不涉及写入放大的情况下,TRIM也有助于提高性能。如果您覆盖了整个擦除块中的数据,则不会发生写入放大(您必须以任何一种方式写入整个内容)。但是,如果没有空闲块,则SSD必须先擦除一个块,并且擦除要比写入已擦除的块慢得多。
弗罗斯特斯2015年

多少次写就可以了?我宁愿使用该驱动器很长时间。(5年会很棒)每周修整时的写入放大幅度是多少?
marmistrz

1
Google ssd耐力测试,有几种。大多数SSD可以处理比您需要的更多的写操作(重型数据库服务器之类的东西除外)。当然,由于各种原因,它仍然可能失败,没有可靠的存储,无论如何都必须进行备份。
弗罗斯特斯2015年

“每周甚至每月使用fstrim完全可以”,您可以考虑添加来源吗?我遇到了声称应该每天进行的声明(并且两个声明都没有任何来源)
Mateusz Konieczny

4

man fstrim 在Ubuntu 16.04中有

Running fstrim frequently, or even using mount -o discard, might  nega‐
tively affect the lifetime of poor-quality SSD devices.  For most desk‐
top and server systems the sufficient  trimming  frequency  is  once  a
week.

1
+1连续修整很不好,很容易找到它的来源,因此,根据ssd的使用情况和硬件质量,您应该每天或每周选择一次。如果使用anacron,它将不依赖于重新启动和关闭电源而正确执行,因此,每个引导选项都应与每日或每周结合使用或关闭。
LeonidMew

仅供参考,该段被添加到手册页2014年4月10日,以下这个 邮件列表 讨论关于增加日常fstrim为systemd定时服务(也改为每周一次)。
弗罗斯特斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.