ext4 filesystem on lvm(vg name encrypted
、rootはencrypted-root
と呼ばれます)on luksにシステムをインストールしました。 fstrim /
を実行しようとすると、fstrim: /: the discard operation is not supported
が表示されます。
私の/etc/crypttab
には
cryptroot UUID=5ddb7e3a-dcbe-442d-85e8-359e944d0717 none luks,discard,lvm=encrypted
/etc/lvm/lvm.conf
には
issue_discards = 1
/etc/initramfs-tools/conf.d/cryptroot
には
CRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717
(私はupdate-initramfs -k all -c
を使用してinitramfsを作成しました)。
/etc/default/grub
には
GRUB_CMDLINE_LINUX="cryptops=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,lvm=encrypted"
Linuxのパラメーターとしてrd.luks.options=discard
をgrubに手動で配置しようとしました。 refresh
ユーティリティのcryptsetup
オプション(cryptsetup --allow-discards refresh
device
)を試しましたが、(cryptsetup: Unknown action
)がないようです。
物理デバイスは明らかにTRIM
をサポートしていますが、fstrim /boot
を実行すると機能します(同じデバイスですが、暗号化されていません)。
dmsetup table
コマンドは、cryptroot
のallow_discards
を表示しません。
USBから起動し、手動で復号化して(cryptsetup
への--allow-discards
引数を使用)、ルートパーティションをマウントすると機能します。 --persistent
オプションを使おうとしましたが、永続化できないとのことでした。
道に迷いました。 fstrim /
を機能させるにはどうすればよいですか? grubのブートオプションをどうにかして変更する必要があるとのことですが、その方法がわかりません。/etc/crypttabの行がまったく使用されているかどうかもわかりません(インストール後にcryptroot
に変更したので、変更しても何も起こらないようです)。
私は実行していますLinux Mint 19.。
リンク:
問題は暗号化レベルにあることがわかりました。 (rootとしてdmsetup table
を実行して、デバイスにallow_discards
が表示されるかどうかを確認できます。)
これで問題が解決しました。
/etc/initramfs-tools/conf.d/cryptroot
を編集し、特定のデバイスにdiscard
オプションを追加します。私の場合、行は次のようになりました:CRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,discard
。update-initramfs -k all -c
を実行します。 (構成に問題があり、それについてわからない場合に備えて、最初にバックアップを作成してください。)