Como habilitar descartes na raiz criptografada

Como habilitar descartes na raiz criptografada

Eu instalei o sistema emsistema de arquivos ext4sobrelvm(nome vg encrypted, root é chamado encrypted-root) emobrigado. Quando estou tentando correr fstrim /, eu consigo fstrim: /: the discard operation is not supported.

Meu /etc/crypttabcontém

cryptroot  UUID=5ddb7e3a-dcbe-442d-85e8-359e944d0717  none  luks,discard,lvm=encrypted

/etc/lvm/lvm.confcontém

        issue_discards = 1

/etc/initramfs-tools/conf.d/cryptrootcontém apenas

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

(Eu costumava update-initramfs -k all -ccriar initramfs).

/etc/default/grubcontém

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

Tentei colocar manualmente rd.luks.options=discardcomo parâmetro para linux no grub. Eu tentei refresha opção de cryptsetuputilidade (cryptsetup --allow-discards refreshdevice), mas parece não ter um ( cryptsetup: Unknown action).

Dispositivo físico aparentemente tem TRIMsuporte, quando executo fstrim /bootele funciona (é o mesmo dispositivo, só que não criptografado).

dmsetup tablecomando não aparece allow_discardspara cryptroot.

Quando eu inicializo a partir do USB e descriptografo manualmente (com --allow-discardsargumento para cryptsetup) e monto a partição raiz, ele funciona. Eu tentei usar --persistenta opção, mas ela disse que não poderia torná-la persistente.

Estou perdido. O que devo fazer para fstrim /funcionar? Algo me diz que devo modificar de alguma forma as opções de inicialização no grub, mas não sei como. Também não tenho certeza se a linha /etc/crypttab é usada (eu mudei para cryptrootapós a instalação, parece não fazer nada mesmo se eu mudar).

Estou correndoLinux Mint 19.3.

Links:

  • Eu segui este guia para criptografar o sistema:link
  • Seção Arch-wikisobre SSDs e dm-crypt
  • possivelmente relevante:1,2

Responder1

Eu descobri que o problema estava no nível de criptografia. (Você pode executar dmsetup tablecomo root para ver se o seu dispositivo mostra allow_discards.)

Isso resolveu o problema para mim:

  • Edite /etc/initramfs-tools/conf.d/cryptroote adicione discardopção para um dispositivo específico. No meu caso, a linha ficou assim: CRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,discard.
  • Correr update-initramfs -k all -c. (Talvez faça um backup primeiro, caso haja algo errado com sua configuração e você não saiba disso.)

informação relacionada