かみぽわーる

kamipo's blog

ext4でSSDのTrimコマンドをつかう

SSDはNANDフラッシュメモリの上書きができないという特性上、空き領域が少なくなると性能が落ちてくるし、以下略*1なわけですが、Trimコマンドで論理的に削除された領域をSSDに伝えることで性能の劣化を抑制する効果が期待できる。

ext4ファイルシステムでTrimコマンドを有効にするには、discardオプションをマウント時に指定するとよいです。

sudo mount -t ext4 -o discard /dev/sdb1 /mnt

これでめでたしめでたしと思いきや、ext3からext4にするとなんかえらい書き込み性能が落ちてて、これはどうやらext4ではデフォルトでライトバリアが有効になってるのが要因ぽいので、ext3だったころとおなじ感じで使うにはライトバリアを無効にする必要があります。

sudo mount -t ext4 -o discard,barrier=0 /dev/sdb1 /mnt

これでext3だったころの性能は戻ってきますが、以下略*2です。

*1:彼女と別れることになる

*2:彼女は戻ってきません

SSDのSecureEraseのやり方

SSDをずっと使っていると断片化してるのかなんなのかよく知らないけど、だんだん性能が落ちてくるし、彼女と別れることになる。あのころの性能を取り戻すSecureEraseという技があるのでやり方のメモ。

SecureEraseをするにはSSDが「not frozen」になってる必要があるらしい。

$ sudo hdparm -I /dev/sdb
...
Security: 
                supported
        not     enabled
        not     locked
        not     frozen
...

なってたらhdparmの--security-set-passでパスワードをセットすると

sudo hdparm --user-master u --security-set-pass akb48 /dev/sdb

SSDのSecurityのところが「enabled」になるので

$ sudo hdparm -I /dev/sdb
...
Security: 
                supported
                enabled
        not     locked
        not     frozen
...

SecureEraseを実行する。

sudo hdparm --user-master u --security-erase akb48 /dev/sdb

これで失った性能は戻ってきますが、彼女は戻ってきません。