扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍怎么在Linux下使用fstrim延长SSD驱动器的寿命,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联是一家专注于成都网站建设、网站制作与策划设计,巨鹿网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:巨鹿等地区。巨鹿做网站价格咨询:18980820575
我最初使用 mount
命令的 discard
选项启用了此功能。每个文件系统的配置都放在 /etc/fstab
文件中。
# cat /etc/fstabUUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
丢弃选项可启用自动的在线 TRIM。由于可能会对性能造成负面影响,最近关于这是否是最佳方法一直存在争议。使用此选项会在每次将新数据写入驱动器时启动 TRIM。这可能会引入其他磁盘活动,从而影响存储性能。
我从 fstab
文件中删除了丢弃选项。然后,我创建了一个 cron 作业来按计划调用该命令。
# crontab -l@midnight /usr/bin/trim
这是我最近在 Ubuntu Linux 系统上使用的方法,直到我了解到另一种方法。
我最近发现有一个用于 TRIM 的 systemd 服务。Fedora 在版本 30 中将其引入,尽管默认情况下在版本 30 和 31 中未启用它,但计划在版本 32 中使用它。如果你使用的是 Fedora 工作站 31,并且你想要开始使用此功能,可以非常轻松地启用它。我还将在下面向你展示如何对其进行测试。该服务并非 Fedora 独有的服务。它是否存在及其地位将因发行版而异。
我喜欢先进行测试,以更好地了解幕后情况。我通过打开终端并发出配置服务调用的命令来执行此操作。
/usr/sbin/fstrim --fstab --verbose --quiet
fstrim
的 -help
参数将描述这些信息和其他参数。
$ sudo /usr/sbin/fstrim --help Usage: fstrim [options]Discard unused blocks on a mounted filesystem. Options: -a, --all trim all supported mounted filesystems -A, --fstab trim all supported mounted filesystems from /etc/fstab -o, --offset the offset in bytes to start discarding from -l, --length the number of bytes to discard -m, --minimum the minimum extent length to discard -v, --verbose print number of discarded bytes --quiet suppress error messages -n, --dry-run does everything, but trim -h, --help display this help -V, --version display version
因此,现在我可以看到这个 systemd 服务已配置为在我的 /etc/fstab
文件中的所有受支持的挂载文件系统上运行该修剪操作(-fstab
),并打印出所丢弃的字节数(-verbose
),但是抑制了任何可能会发生的错误消息(–quiet
)。了解这些选项对测试很有帮助。例如,我可以从最安全的方法开始,即空运行。我还将去掉 -quiet
参数,以便确定驱动器设置是否发生任何错误。
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
这就会显示 fstrim
命令根据在 /etc/fstab
文件中找到的文件系统要执行的操作。
$ sudo /usr/sbin/fstrim --fstab --verbose
现在,这会将 TRIM 操作发送到驱动器,并报告每个文件系统中丢弃的字节数。以下是我最近在新的 NVME SSD 上全新安装 Fedora 之后的示例。
/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root
Fedora Linux 实现了一个计划每周运行它的 systemd 计时器服务。要检查其是否存在及当前状态,请运行 systemctl status
。
$ sudo systemctl status fstrim.timer
现在,启用该服务。
$ sudo systemctl enable fstrim.timer
然后,你可以通过列出所有计时器来验证该计时器是否已启用。
$ sudo systemctl list-timers --all
会显示出下列行,表明 fstrim.timer
存在。注意,该计时器实际上激活了 fstrim.service
服务。这是实际调用 fstrim
的地方。与时间相关的字段显示为 n/a
,因为该服务已启用且尚未运行。
NEXT LEFT LAST PASSED UNIT ACTIVATESn/a n/a n/a n/a fstrim.timer fstrim.service
以上是“怎么在Linux下使用fstrim延长SSD驱动器的寿命”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流