web-dev-qa-db-ja.com

暗号化されたルートで破棄を有効にする方法

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 refreshdevice)を試しましたが、(cryptsetup: Unknown action)がないようです。

物理デバイスは明らかにTRIMをサポートしていますが、fstrim /bootを実行すると機能します(同じデバイスですが、暗号化されていません)。

dmsetup tableコマンドは、cryptrootallow_discardsを表示しません。

USBから起動し、手動で復号化して(cryptsetupへの--allow-discards引数を使用)、ルートパーティションをマウントすると機能します。 --persistentオプションを使おうとしましたが、永続化できないとのことでした。

道に迷いました。 fstrim /を機能させるにはどうすればよいですか? grubのブートオプションをどうにかして変更する必要があるとのことですが、その方法がわかりません。/etc/crypttabの行がまったく使用されているかどうかもわかりません(インストール後にcryptrootに変更したので、変更しても何も起こらないようです)。

私は実行していますLinux Mint 19.

リンク:

  • 私はこのガイドに従ってシステムを暗号化しました: link
  • Arch-wikiセクション SSDとdm-cryptについて
  • 関連する可能性があります: 12
1
user224348

問題は暗号化レベルにあることがわかりました。 (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を実行します。 (構成に問題があり、それについてわからない場合に備えて、最初にバックアップを作成してください。)
0
user224348