fstrim 是否与用零覆盖磁盘空间具有相同的效果?

fstrim 是否与用零覆盖磁盘空间具有相同的效果?

我定期使用dd和创建压缩备份映像。lzop过去,我预先创建了一个带有零的大文件head -c xxG /dev/zero > zeros.tmp && rm zeros.tmp(xxG 是可用的空白空间)来清除已删除的文件。这节省了大量时间和备份磁盘空间,但效率也很低,因为它会占用所有空白空间,从而对 SSD 造成不必要的磨损。

fstrim 是否也会将未分配文件的块清零?或者 dd 之后会返回这些块及其删除的内容吗?我不想压缩带有未分配文件的块。

答案1

修剪后读取时返回的数据(使用fstrim或任何其他此类工具或mount选项)取决于设备:有些将返回随机数据,有些将返回不变的非零数据,有些将返回零。您可以hdparm -I在 ATA 设备上运行以确定应用哪个选项:第二个选项将显示“TRIM 后确定性读取数据”,第三个选项将显示“TRIM 后确定性读取零”,否则应用第一个选项。

对于您的特定用例,其他工具可能更合适;例如,如果您想象 Ext2/3/4 文件系统,e2image -ra将创建仅包含正在使用的块的备份映像,并将e2image -Qa创建仅包含正在使用的块的 QCOW2 映像。

相关内容