要使 TRIM 工作,必须在所有层上启用它。因此,第一步是在 LUKS 中启用它,因为 LUKS 由于安全隐患通常会禁用 TRIM。对于某些发行版,您在 crypttab 中执行此操作,对于其他发行版,您需要编辑 cmdline。由于 LVM 是 LUKS 之上的下一层,因此它需要通过 TRIM,如果底层设备支持它,它默认会这样做。此外,您可以issue_discards = 1
在 lvm.conf 中进行设置,这将在lvremove
和上进行批量修剪vgremove
。有了这个,您可以使用 fstrim 或启用 btrfs 的原生丢弃(discard
在 fstab 中设置,请参见此处)。如果一切正常,btrfs 将打印
BTRFS info (device <something>): turning on discard
Run Code Online (Sandbox Code Playgroud)
到系统日志。