Linux

如何在加密根上啟用丟棄

  • June 20, 2020

我已經在 luks 上的 lvm 上的 ext4 文件系統上安裝了系統*(* vg名稱**, root被稱為)。當我試圖跑步時,我得到了。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 -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選項( ),但它似乎沒有 ( )。cryptsetup``cryptsetup --allow-discards refreshdevicecryptsetup: Unknown action

物理設備顯然有TRIM支持,當我執行fstrim /boot它時它可以工作(它是同一個設備,只是沒有加密)。

dmsetup table命令不顯示allow_discardsfor cryptroot

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

我迷路了。我應該怎麼做才能fstrim /工作?有些東西告訴我應該以某種方式修改 grub 中的引導選項,但我不確定如何。我也不確定是否使用了 /etc/crypttab 中的行(我cryptroot在安裝後將其更改為,即使我更改它似乎也無濟於事)。

我正在執行Linux Mint 19.3

連結:

我發現問題出在加密級別上。(您可以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。(也許先備份一下,以防您的配置有問題而您不知道。)

引用自:https://unix.stackexchange.com/questions/574400