過去10年間で、ソリッドステートドライブ(SSD)はストレージを管理する新しい方法をもたらしました。 SSDには、古い回転する祖先と比較して、サイレントでクールな動作や高速なインターフェイス仕様などの利点があります。もちろん、新しいテクノロジーは、新しい保守と管理の方法をもたらします。 SSDにはTRIMと呼ばれる機能があります。これは基本的に、デバイス上の未使用のブロックを再利用するための方法です。これは、以前に書き込まれた可能性がありますが、有効なデータが含まれていないため、再利用のために一般的なストレージプールに戻すことができます。 Opensource.comのDonWatkinsは、2017年の記事「Linuxのソリッドステートドライブ:SSDのTRIMの有効化」でTRIMについて最初に書いています。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
Linuxシステムでこの機能を使用している場合は、以下で説明する2つの方法に精通している可能性があります。
古い方法
破棄
私は最初、mountコマンドのdiscardオプションを使用してこれを有効にしました。構成は/etc / fstabに配置されます 各ファイルシステムのファイル。
# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
破棄オプションは、自動オンラインTRIMを有効にします。最近、パフォーマンスに悪影響を与える可能性があるため、これが最良の方法であるかどうかについての議論があります。このオプションを使用すると、新しいデータがドライブに書き込まれるたびにTRIMが開始されます。これにより、ストレージのパフォーマンスを妨げる追加のアクティビティが発生する可能性があります。
Cron
fstabから破棄オプションを削除しました ファイル。次に、スケジュールに基づいてコマンドを呼び出すcronジョブを作成しました。
# crontab -l
@midnight /usr/bin/trim
これは、別の方法を学ぶまで、UbuntuLinuxシステムで最近使用した方法です。
新しいTRIMサービス
最近、TRIMのsystemdサービスが存在することを発見しました。 Fedoraはこれをバージョン30でディストリビューションに導入しました。バージョン30と31ではデフォルトで有効になっていませんが、バージョン32で使用する予定です。FedoraWorkstation31で作業していて、これを使い始めたい場合機能、あなたはそれを非常に簡単に有効にすることができます。また、以下でテストする方法も示します。このサービスはFedoraに固有のものではありません。存在とステータスは、個々の配布ベースによって異なります。
テスト
舞台裏で何が起こっているのかをよりよく理解するために、最初にテストするのが好きです。これを行うには、ターミナルを開き、サービスが呼び出すように構成されているコマンドを発行します。
/usr/sbin/fstrim --fstab --verbose --quiet
–ヘルプ fstrimへの引数 これらおよびその他の議論について説明します。
$ 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
これで、systemdサービスが、 / etc / fstabでサポートされているすべてのマウントされたファイルシステムでトリムを実行するように構成されていることがわかります。 ファイル–fstab 破棄されたバイト数を出力します–verbose ただし、発生する可能性のあるエラーメッセージはすべて抑制してください –静か 。これらのオプションを知っていると、テストに役立ちます。たとえば、最も安全なドライランから始めることができます。また、ドライブのセットアップでエラーが発生するかどうかを判断できるように、静かな議論は省略します。
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
これは、 fstrimが何であるかを示すだけです。 コマンドは、 / etc / fstabで構成されていることがわかったファイルシステムに基づいて実行されます ファイル。
$ sudo /usr/sbin/fstrim --fstab --verbose
これにより、TRIM操作がドライブに送信され、各ファイルシステムから破棄されたバイト数が報告されます。以下は、新しいNVMESSDに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 ACTIVATES
n/a n/a n/a n/a fstrim.timer fstrim.service
結論
このサービスは、ドライブでTRIMを実行するための最良の方法のようです。 fstrimを呼び出すために独自のcrontabエントリを作成するよりもはるかに簡単です。 指図。 fstabを編集する必要がない方が安全です。 ファイル。ソリッドステートストレージテクノロジーの進化を見るのは興味深いことであり、Linuxがそれを実装するための標準的で安全な方法に向かっているように見えることを知ってうれしいです。