web-dev-qa-db-ja.com

Fedora17でSSDTRIMサポートを有効にする方法は?

以前はLinuxをHDDにインストールしていました。それは簡単です。しかし、今私はSSDを持っており、それにFedora17をインストールしたいと思います。

Fedora 17にSSDにTRIMコマンドを発行させるにはどうすればよいですか?

4
CodeSun

TRIMがLVMを介して基盤となるデバイスにパスできるようになったため、これは非常に簡単です。

  1. インストールするときは、ファイルシステムがすべてext4に設定されていることを確認してください。 TRIMはext3ではサポートされていません。

  2. インストール後、rootとしてログインし、/etc/fstabを編集します。 4番目の列(通常はdefaultsと表示されます)にキーワードdiscardを追加します。これは、/パーティションと/bootパーティションの両方、およびSSDで作成したその他のパーティションに対して行います。

    例:

    /dev/mapper/vg_mymachine-lv_root /                       ext4    discard         1 1
    UUID=94b6d32d-ec21-4028-9a89-b1a19849c4ad /boot                   ext4    discard         1 2
    

    defaultsが唯一のキーワードである場合は、discardに置き換えることができます。他のキーワードがある場合は、カンマを追加します(例:whatever,discard)。)

    スワップのために何もする必要はありません。すべてのスワップパーティションは自動的にTRIMをサポートします。

  3. 破棄のLVMサポートはデフォルトで無効になっています。 /etc/lvm/lvm.confを編集し、issue_discards = 0issue_discards = 1に変更して有効にします。

  4. コンピューターを再起動します。

4
Michael Hampton

LUKSがTRIMコマンドを伝播しないというFedora18でいくつかの問題がありましたが、これはFedora 19で修正されました。私のシステムでは、TRIMコマンドは正常に伝播します。構成を少し変更するだけです。まず、TRIMがすべてのパーティションについてエンドデバイスに伝播するかどうかを確認する必要があります。

[lzap@lzapx ~]$ lsblk -D
NAME                                            DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                                                    0      512B       2G         1
├─sda1                                                 0      512B       2G         1
└─sda2                                                 0      512B       2G         1
  ├─Fedora_lzapx-root                                  0      512B       2G         1
  ├─Fedora_lzapx-swap                                  0      512B       2G         1
  └─Fedora_lzapx-home                                  0      512B       2G         1
    └─luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111        0      512B       2G         0

最後の列は、TRIMコマンドが伝播するかどうかを示しています。暗号化されたホーム(最後の行)を除いて、すべてが設定されていることがわかります。 LUKSで暗号化されたデバイスでTRIMを完全にサポートするには、TRIMコマンドを許可する必要があります。 これにより暗号化強度が低下する可能性があることに注意してください。これはFedora19のデフォルトのcrypttabファイルです。

$ cat /etc/crypttab
luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111 UUID=aaaaaaaa-6657-44f4-8297-a571e02e5492 none

そこにallow-discardsオプションを追加しました:

$ cat /etc/crypttab
luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111 UUID=aaaaaaaa-6657-44f4-8297-a571e02e5492 none allow-discards

オプションのLVM構成

LVM論理ボリュームを頻繁に変更する場合(縮小、削除など)、 `/etc/lvm/lvm.confでissue_discardsを1に設定する必要があります。次に、以下で説明する次のオプションの手順を実行する必要があります。

オプションのinit RAMディスクの再生成

LUKSによって暗号化されたrootパーティションがある場合(私の場合ではありません)、またはrootLVM上のパーティションおよび縮小または削除するときにLVMをトリミングする(上記のオプションの手順を参照)、初期RAM次のコマンドを使用してディスクを再生成する必要があります。

dracut -f

もちろん、この変更を有効にするには、再起動する必要があります。

ここで、TRIMを有効にしてそれを利用するには、次の2つのオプションがあります。

ファイルを削除するときのTRIM

データの削除中にTRIMコマンドを送信するようにext4を構成することができます。これを行うには、/etc/fstabのパーティションにdiscardオプションを追加します。これにより、削除が少し遅くなることに注意してください。 SSDドライブによって異なりますが、一部のドライブでは大幅に遅くなる可能性があります。

デバイスを交換するためにdiscardオプションを設定しないでください。これは必須ではありません(おそらく、どちらも機能しません)。スワップはデフォルトでSSDに対応しており、TRIMコマンドを伝達します。

CronからのTRIM

これは、ラップトップ/サーバーの電源をオフにしない場合、毎日、毎週、または夜間にスケジュールできるため、推奨されるオプションです。

cat /etc/cron.weekly/01-fstrim
#!/bin/sh
fstrim /
fstrim /home

chmod +x /etc/cron.weekly/01-fstrim

今すぐスクリプトを実行してみてください。エラーメッセージは表示されません。 LUKS構成を変更した場合は、それを行う前に再起動が必要になる場合があります。

http://lukas.zapletalovi.com/2013/11/how-to-trim-your-ssd-in-Fedora-19.html

1
lzap