web-dev-qa-db-ja.com

トリムはどのように有効になりますか?

buntu 14.04 はデフォルトで Trim が有効になると聞きました。これはどのように行われますか? ext4 マウントオプションに廃棄オプションを追加するか、cronジョブを実行しますか?

Trimのデフォルトオプションは、標準のUbuntuシステム暗号化の LVM および暗号化レイヤーと自動的に互換性がありますか?

これについての詳細を見るのは素晴らしいことです。

32
student

14.04がデフォルトでトリムを有効にするという主張は、ストーリーの1/2にすぎません。

TRIMのデフォルトオプションは、標準のubuntu-system暗号化のLVMおよび暗号化レイヤーと自動的に互換性がありますか?

LVMはコンテナであり、ファイルシステムではないため、これは問題ではありません。


読む価値のある記事:

ブループリント

SSDはトリミングする必要があります。 e。 OSが「未使用」と見なすブロックを削除する必要があります(つまり、削除されたファイルから)。これがなければ、SSDの書き込み速度は時間がたつにつれて耐えられないほど遅くなります。

http://wiki.ubuntuusers.de/SSD/TRIM (ドイツ語)で詳細が説明されていますが、この種のハウスキーピングはデフォルトで実際に行われるはずです。これには、ファイルを削除するときにブロックを未使用としてマークする(マウントオプションを破棄する)か、定期的にfstrimを呼び出す2つの方法があります。 cronジョブがマシンに予想外のIO負荷をかけることがありますが、discardは削除の速度を低下させます。したがって、この議論は主にデフォルトで行うアプローチを決定することについてです。

私(Martin Pitt)は、cronアプローチの方が優れていると思います。これを実行する場合、これをいつどのように実行するかを議論する必要があります。

  • 妥当な間隔(毎週/毎月など)
  • トリミングが必要なデバイス/パーティションを検出する方法(/ proc/mounts、hdparm -I、「discard」でマウントされていないなど)

ドイツ語のそのリンクからの結論:

  • 破棄するとパフォーマンスが大幅に低下するため、cronジョブは毎週実行されます。

Ubuntu 14.04では、デフォルトでIntelおよびSamsung SSDのみでTRIMが有効になります。一部の安価なSSDは、TRIMの実行時に自分自身をブロックすることさえあるためです。 14.04ベータ2の/etc/cron.weekly/fstrimの内容2:

#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e

# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g.  https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

これは、TRIMをSamsungおよびIntel SSDでのみ使用する必要があることを意味するものではありませんが、問題が発生するのを避けるため、現在のところこれがデフォルトのオプションです。 SSDがTRIMを処理できることが既にわかっている場合は、上記の/etc/cron.weekly/fstrimファイルを編集し、最後の行に--no-model-checkオプションを追加することにより、ベンダーチェックをバイパスできます。

exec fstrim-all --no-model-check

または、他のいくつかの方法でTRIMを手動でスケジュールできます。 マニュアルの実行方法

ソース: webupd8

  • ただし、すべてのSSDがサポートされているわけではありません。鉱山は途中じゃない(チェックしたばかり)
  • LSI.comには、この PDF に互換性のあるSSDのリストがあります。

トリムを行う方法は、次のコマンドを使用することです。

Sudo fstrim -v /

また、これはUbuntuがこれを行う方法でもあります。これを毎週実行するcronjobを作成することです。

自分のシステムから実行:

rinzwind@schijfwereld:~$ Sudo fstrim -v /
[Sudo] password for rinzwind: 
/: 93283299328 bytes were trimmed
rinzwind@schijfwereld:~$ 

少し時間がかかり、完了するまで進行状況は表示されません。

38
Rinzwind