重启后 TRIM 持久性

重启后 TRIM 持久性

假设我们有一个ext4文件系统映像,我们将其转储到 SSD 上(使用dd)。经过几次安装后,我们了解到我们应该使用标志向驱动器discard发出命令。由于不清楚是否会TRIMext4修剪所有空闲块第一次挂载后discard,我们进行手动在线修剪:

fstrim /mount/point

希望这不会与discard选项交互。如果我们fstrim连续第二次执行,它将报告没有修剪任何块。奇怪的是,重新启动系统后,额外的fstrim运行将再次报告修剪了许多块(取决于可用空间)。

因此,虽然 Linux 内核显然不会在持久存储中跟踪修剪后的块,但问题是:SSD 驱动器会永久记住已修剪的块吗?

如果有帮助的话,所有这些的目的是达到与文件系统刚创建并discard从一开始就启用安装类似的状态。所以我想知道一次执行是否fstrim足够。

答案1

SSD 会记住哪些块在重启后会被修剪。否则,每次重启后 SSD 都会变得非常慢,直到操作系统设法检查整个驱动器中是否存在可修剪的块。

但是,操作系统不会跟踪在重启时已告诉 SSD 进行 TRIM 的块。

一次调用fstrim就足够了。

相关内容