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

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

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

答案1

来自ZoL git 提交消息添加修剪支持:

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

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

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

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

相关内容