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

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

システムにインストールしましたext4 ファイルシステムの上lvm(vg名encrypted、ルートは呼ばれますencrypted-rootルクス走ろうとすると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 -cinitramfsを作成していました)。

/etc/default/grub含む

GRUB_CMDLINE_LINUX="cryptops=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,lvm=encrypted"

私はLinuxのパラメータとしてgrubに手動で入れようとしました。ユーティリティのオプションrd.luks.options=discardを試しました(refreshcryptsetupcryptsetup --allow-discards refreshdevice) ですが、 はないようです ( cryptsetup: Unknown action)。

物理デバイスはTRIMサポートされているようで、実行するとfstrim /boot動作します (同じデバイスですが、暗号化されていません)。

dmsetup tableallow_discardsコマンドは には表示されませんcryptroot

USB から起動し、手動で暗号化を解除し (--allow-discards引数 を使用cryptsetup)、ルート パーティションをマウントすると、動作します。 オプションを使用しようとしました--persistentが、永続化できないと言われました。

困惑しています。fstrim /動作させるにはどうしたらいいでしょうか? GRUB のブート オプションを何らかの方法で変更する必要があるようですが、方法がわかりません。また、/etc/crypttab の行が使用されているかどうかもわかりません (cryptrootインストール後に変更しましたが、変更しても何も起こらないようです)。

走っていますリナックスミント19.3

リンク:

  • システムを暗号化するために、次のガイドに従いました:リンク
  • Arch-wikiセクションSSDとdm-cryptについて
  • 関連する可能性がある:12

答え1

問題は暗号化レベルにあることがわかりました。(dmsetup tableデバイスに が表示されるかどうかを確認するには、root として実行してくださいallow_discards。)

これで問題は解決しました:

  • 編集して/etc/initramfs-tools/conf.d/cryptrootdiscard特定のデバイスのオプションを追加します。私の場合、行は次のようになりましたCRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,discard
  • を実行しますupdate-initramfs -k all -c。(設定に問題があり、それに気付いていない可能性があるので、最初にバックアップを作成してください。)

関連情報