溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux下使用fstrim延長SSD驅(qū)動(dòng)器的壽命

發(fā)布時(shí)間:2021-10-23 10:49:49 來源:億速云 閱讀:818 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹怎么在Linux下使用fstrim延長SSD驅(qū)動(dòng)器的壽命,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

老的方式

丟棄選項(xiàng)

我最初使用 mount 命令的 discard 選項(xiàng)啟用了此功能。每個(gè)文件系統(tǒng)的配置都放在 /etc/fstab 文件中。

# cat /etc/fstabUUID=3453g54-6628-2346-8123435f  /home  xfs  defaults,discard   0 0

丟棄選項(xiàng)可啟用自動(dòng)的在線 TRIM。由于可能會(huì)對性能造成負(fù)面影響,最近關(guān)于這是否是最佳方法一直存在爭議。使用此選項(xiàng)會(huì)在每次將新數(shù)據(jù)寫入驅(qū)動(dòng)器時(shí)啟動(dòng) TRIM。這可能會(huì)引入其他磁盤活動(dòng),從而影響存儲(chǔ)性能。

Cron 作業(yè)

我從 fstab 文件中刪除了丟棄選項(xiàng)。然后,我創(chuàng)建了一個(gè) cron 作業(yè)來按計(jì)劃調(diào)用該命令。

# crontab -l@midnight /usr/bin/trim

這是我最近在 Ubuntu Linux 系統(tǒng)上使用的方法,直到我了解到另一種方法。

一個(gè)新的 TRIM 服務(wù)

我最近發(fā)現(xiàn)有一個(gè)用于 TRIM 的 systemd 服務(wù)。Fedora 在版本 30 中將其引入,盡管默認(rèn)情況下在版本 30 和 31 中未啟用它,但計(jì)劃在版本 32 中使用它。如果你使用的是 Fedora 工作站 31,并且你想要開始使用此功能,可以非常輕松地啟用它。我還將在下面向你展示如何對其進(jìn)行測試。該服務(wù)并非 Fedora 獨(dú)有的服務(wù)。它是否存在及其地位將因發(fā)行版而異。

測試

我喜歡先進(jìn)行測試,以更好地了解幕后情況。我通過打開終端并發(fā)出配置服務(wù)調(diào)用的命令來執(zhí)行此操作。

/usr/sbin/fstrim --fstab --verbose --quiet

fstrim-help 參數(shù)將描述這些信息和其他參數(shù)。

$ sudo /usr/sbin/fstrim --help Usage: fstrim [options] <mount point> 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 <num>  the offset in bytes to start discarding from -l, --length <num>  the number of bytes to discard -m, --minimum <num> 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

因此,現(xiàn)在我可以看到這個(gè) systemd 服務(wù)已配置為在我的 /etc/fstab 文件中的所有受支持的掛載文件系統(tǒng)上運(yùn)行該修剪操作(-fstab),并打印出所丟棄的字節(jié)數(shù)(-verbose),但是抑制了任何可能會(huì)發(fā)生的錯(cuò)誤消息(&ndash;quiet)。了解這些選項(xiàng)對測試很有幫助。例如,我可以從最安全的方法開始,即空運(yùn)行。我還將去掉 -quiet 參數(shù),以便確定驅(qū)動(dòng)器設(shè)置是否發(fā)生任何錯(cuò)誤。

$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run

這就會(huì)顯示 fstrim 命令根據(jù)在 /etc/fstab 文件中找到的文件系統(tǒng)要執(zhí)行的操作。

$ sudo /usr/sbin/fstrim --fstab --verbose

現(xiàn)在,這會(huì)將 TRIM 操作發(fā)送到驅(qū)動(dòng)器,并報(bào)告每個(gè)文件系統(tǒng)中丟棄的字節(jié)數(shù)。以下是我最近在新的 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 實(shí)現(xiàn)了一個(gè)計(jì)劃每周運(yùn)行它的 systemd 計(jì)時(shí)器服務(wù)。要檢查其是否存在及當(dāng)前狀態(tài),請運(yùn)行 systemctl status。

$ sudo systemctl status fstrim.timer

現(xiàn)在,啟用該服務(wù)。

$ sudo systemctl enable fstrim.timer
驗(yàn)證

然后,你可以通過列出所有計(jì)時(shí)器來驗(yàn)證該計(jì)時(shí)器是否已啟用。

$ sudo systemctl list-timers --all

會(huì)顯示出下列行,表明 fstrim.timer 存在。注意,該計(jì)時(shí)器實(shí)際上激活了 fstrim.service 服務(wù)。這是實(shí)際調(diào)用 fstrim 的地方。與時(shí)間相關(guān)的字段顯示為 n/a,因?yàn)樵摲?wù)已啟用且尚未運(yùn)行。

NEXT   LEFT    LAST   PASSED   UNIT           ACTIVATESn/a    n/a     n/a    n/a      fstrim.timer   fstrim.service

以上是“怎么在Linux下使用fstrim延長SSD驅(qū)動(dòng)器的壽命”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI