メイン データを新しい SSD に移行しました。 (Samsung 840 EVO、120GB) 私の は、~
によって自動マウントされた暗号化されたパーティションです。つまり、このパーティションには にpam_mount
レコードがあります。/etc/security/pam_mount.conf.xml
TRIM をサポートしてほしいです。暗号化が少し弱まる (つまり、何らかのサイドチャネルを確立する) ことは承知していますが、受け入れられることを願っています。
でこれを有効にしようとしましたpam_mount.conf.xml
。 1 つの方法は、マウント オプションに含めることでしたdiscard
。これにより、暗号化されたブロック デバイスでの破棄が自動的に許可されると言われました。
<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}" options="defaults,noatime,nosuid,nodev,discard" />
discard
もう 1 つの試みは、 (およびdiscards
) を mntoptions に含めることでした。
<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
運が悪かった。fstrim はまだ機能しません:
% sudo fstrim --verbose ~
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported
何か忘れているでしょうか? 14.04 にアップグレードすれば問題は解決するでしょうか?man cryptsetup
コマンドを実行すると がサポートされていることが--allow-discards
分かるので、動作するはずです。カーネル バージョンは で3.13.0-35-generic
、バージョンが必要なので問題ないようです3.1+
。
基礎となるファイルシステムは ext4 です。このfstrim
コマンドは、暗号化されていないファイルシステム (これも ext4) では完全に正常に動作しますが、dm-crypt (?) 暗号化でラップされたファイルシステムでは動作しません。
discard
マウント オプションが使用されていることに注意してください:
% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)
答え1
ソースからの新しいバージョンをコンパイルするとpam-mount
うまくいきました。このライブラリの新しいバージョンを取得するには、と.deb
Trustyをインストールする必要がありました (一般的にこれは危険です)。libhx28
libhx-dev
おそらく、新しい Ubuntu には新しいバージョンが最初から入っているはずなので、コンパイルを省略できます。可能であれば、Trusty にアップグレードできます。私はしばらく Precise を使い続けたいと思っています。
有効allow_discards
にしないのはdiscard
醜いハックです。パッチ「discard」フラグの存在を確認するだけです。そこで、「discard」と「nodiscard」の両方を(この順序で)配置して、うまくいくことを期待することにしました。
現在fstrim
、このデバイスは動作しますが、マウントフラグの破棄が無効になっていることを願っています。テストできるかどうかはわかりません。
あるいは、再マウントを試みることもできますが、この方法では成功しませんでした。