如何在加密根上啟用丟棄

如何在加密根上啟用丟棄

我已經安裝了系統ext4 檔案系統左心室厚度(vg 名稱encrypted,稱為 root 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 -c創建 initramfs)。

/etc/default/grub包含

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

我嘗試rd.luks.options=discard在 grub 中手動將 linux 作為參數。我嘗試過實用程式refresh選項cryptsetupcryptsetup --allow-discards refreshdevice),但好像沒有(cryptsetup: Unknown action)。

實體設備顯然有TRIM支持,當我運行fstrim /boot它時它可以工作(它是相同的設備,只是未加密)。

dmsetup table命令不allow_discards顯示cryptroot.

當我從 USB 啟動並手動解密(使用--allow-discards參數cryptsetup)並掛載根分區時,它可以工作。我嘗試過使用--persistent選項,但它說它無法使其持久。

我迷路了。我該做什麼才能fstrim /工作?有些東西告訴我我應該以某種方式修改 grub 中的啟動選項,但我不知道如何修改。我也不確定是否使用了 /etc/crypttab 中的行(我將其更改為cryptroot安裝後,即使更改它似乎也沒有執行任何操作)。

我在跑Linux 薄荷 19.3

連結:

答案1

我發現問題出在加密等級。 (您可以dmsetup table以 root 身份運行來查看您的裝置是否顯示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。 (也許先進行備份,以防您的設定有問題而您不知道。)

相關內容