Linux中國

在 Linux 中使用 SSD(固態驅動器):啟用 TRIM

當我在運行 Linux 的計算機上安裝我的第一塊固態驅動器(SSD)後,我開始探索如何用好它們。SSD 在操作方式上與傳統磁性驅動器不同,並且它們需要在軟體上另行處理以達到功能優化。

在傳統磁碟驅動器上,刪除時所刪除的文件不會從磁碟中完全刪除。這就是為什麼你可以恢復已刪除的文件的原因。基本上,文件系統僅引用磁碟上文件的位置,並且當文件被刪除時,該引用被擦除,以允許你在這些空間中寫入新數據覆蓋原來的數據。然而,對於 SSD,新數據只能寫在驅動器上完全新的或已擦除的單元上。因為必須在寫入之前清除空間,如果在寫入文件時尚未有足夠的可用空間,則必須首先擦除該空間。這可能會對性能產生負面影響。

如果操作系統在寫入新數據之前就擦除了未使用的空間,而不是在寫入時同時進行擦除,則可以提高文件保存性能。這種做法就是 TRIM。 TRIM 命令本質上允許你的操作系統告訴驅動器哪些區域的數據不再使用,以便擦除它們,加快驅動器將來的寫入,可以 SSD 的用戶提供更佳的體驗。

在 Linux 中,fstrim 提供此功能,它可以為寫入新數據而準備驅動器,並延長驅動器的使用壽命。由於在我使用的 Linux 發行版上 SSD 的 trim 不是自動的,所以必須去調度該操作,否則 SSD 的性能會隨著時間的推移而降低。

為了在驅動器上運行 fstrim,驅動器本身以及其上的文件系統必須支持 TRIM。在文件系統掛載過程中可以啟用 TRIM。例如,為了將設備 /dev/sda2 啟用 TRIM 掛載到 /mnt,你要運行:

mount -t ext4 -o discard /dev/sda2 /mnt

一旦啟用,TRIM 過程本身就相當簡單。TRIM SSD 也可以在命令行或 cron 任務中手動完成。作為超級用戶(使用 susudo),運行 fstrim / -v 以完成手動 trim,或者設置 cron 任務以在計算機未使用時定期為你運行此命令。對於 fstrim 的完整選項列表請參考它的 man 手冊

硬體支持根據使用的驅動器介面類型如 PCI、ATASCSI 還是 SD/MMC 而有所不同。你需要諮詢你的 Linux 供應商以了解你的特定發行版是如何支持 TRIM 的。

例如,紅帽提供以下 SSD 磁碟指南。「性能隨著所使用的塊數接近磁碟容量而降低,性能影響程度因供應商而異,但是所有設備都會遇到一些性能降低。為了解決性能降低問題,主機系統(例如 Linux 內核)使用丟棄請求以通知存儲器給定範圍的塊不再使用。」

Debian wiki 提供了 SSD 使用的一些基本注意事項:使用 Linux 3.2 或更高版本內核,使用 SSD 的最新固件,使用 EXT4 文件系統,並且「在正常工作負載下有足夠的 DRAM 用來操作而不用使用交換空間「。

作者簡介:

Don Watkins - 教育家、教育技術專家、企業家、開源倡導者。教育心理學碩士、教育領導碩士、Linux 系統管理員、CCNA、使用 Virtual Box 虛擬化。關注我 @Don_Watkins。

via: https://opensource.com/article/17/1/solid-state-drives-linux-enabling-trim-ssds

作者:Don Watkins 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國