web-dev-qa-db-ja.com

同期TRIMのみを有効にする

私はSamsungPROシリーズSSDを持っています。 Linuxは、非同期Trimを使用すると間違ったデータを削除するため、このSSDのTrimを非アクティブ化します(ファームウェアのバグ)。

非同期トリムもアクティブにせずに、同期トリムをアクティブにすることは可能ですか?

このSSDを使用している私のラップトップは、Ubuntu16.04という1つのオペレーティングシステムしか実行していません。これはLTSシステムであるため、LTSカーネルのみを実行します。現在のカーネルは4.4.0-57-generic

ファームウェアの更新について:多くのユーザーから、ファームウェアの更新に失敗したとの報告があります。さらに、Samsungは私が持っているSSD用のWindows用のアップデートソフトウェアのみを提供しています。 Linuxバージョンは特定のビジネスSSDのみをサポートし、Windowsバージョンは特定のコンシューマーSSDのみをサポートします。残念ながら、私はビジネスSSDを持っていません(そして、ほとんどの場合、率直に言ってかなり喜んでいるWindowsインストールもありません)。 とにかく更新を行う方法があるようです しかし、それはかなりハッキーです。それに加えて、ファームウェアのアップデートで問題が解決するかどうかさえわかりません。

3
UTF-8

私は解決策を見つけました。

回答を投稿した直後に、パーティションの明示的なステートメントを毎週のcronジョブとしてfstrimを試しましたが、安全かどうかわかりませんでした。さらに、誰かがもっと良い答えを持っているかどうかもわかりませんでした。そのため、私自身は回答として投稿しませんでした。

今日ディスク全体にデータを入力し、数分前に多くのファイルを削除した後、手動で実行したかったので、コマンドを含むファイルを配置したフォルダー/etc/cron.weeklyの内容を確認しました。コマンドを覚えていなかったので、置いたところに行きました。しかし、llを実行した後、それが私のスクリプトであると信じさせる名前のファイルが2つ見つかりました。

他のファイルは私がそこに置いていないので、ほぼ確実にUbuntuで配信されます。これはfstrimと呼ばれ、その内容は次のとおりです。

#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true

自分のスクリプトを削除した後、Ubuntuに付属のスクリプトを実行しました。実行に約1分かかったように感じました。これは、36GBをトリミングすることで期待できることです。 2回目に実行すると、すぐに戻り、最初に実際にトリミングされたことを示しています。

初めてトリミングする前にホームフォルダ内のすべてのファイルをsha256sumし、最初のトリミング後にすべてのファイルをsha256sumしましたが、予期しない変更は見つかりませんでした(もちろん、~/.cache~/.mozillaの内容が変更されました) Meldを介してsha256sumsを含むファイルを比較するときは、その間にFirefoxを使用しました。したがって、私はそれがおそらく安全であると結論付けました。

1
UTF-8