我应该在我的池上打开 zfs-trim 还是应该使用 systemd 计时器或 cron 按计划进行修剪?

Chr*_*ian 5 ssd trim cron zfs systemd

我通过 19.10 上的新 ZFS 安装选项运行安装在 ZFS 上的 Ubuntu 19.10。这是在日常大量使用的 Thinkpad X1 Carbon 7th 上。没有双启动,所以它一直是 Ubuntu。笔记本电脑有一个 SSD,据我所知,fstrim 不能在 ZFS 上读取和工作,所以我要么必须为我的池运行修剪,要么使用 systemd 计时器或 cron 安排修剪。我过去曾使用过 btrfs,在那里我按计划运行修剪,因为它使我放慢了一点以启用丢弃(修剪)。但是在 ZFS 上启用修剪似乎根本没有给我带来性能上的影响,所以我想知道我是否仍然应该每周或每月设置一次修剪?

nic*_*ree 6

ZoL git commit消息添加修剪支持:

除了手动zpool trim命令之外,还添加了后台自动 TRIM,并由 'autotrim' 属性控制。...

由于自动 TRIM 会跳过它认为太小的范围,因此偶尔运行完整的zpool trim. 当释放的块很小并且没有足够的时间来聚合它们时,可能会发生这种情况。自动TRIM 和手动TRIMzpool trim可以同时运行,在这种情况下,自动TRIM 将屈服于手动TRIM。

因此zpool set autotrim=onzpool trim建议采用定期方法。

我建议使用 cron 作业(或 systemd 计时器,如果您愿意)以zpool trim与运行清理池相同的频率运行,默认情况下将其设置为每个月的第二个星期日(查看/etc/cron.d/zfsutils-linux),但在不同的一个月中的几天,因此两者不会同时运行。