Migrei os dados principais para um novo SSD. (Samsung 840 EVO, 120 GB.) My ~
é uma partição criptografada montada automaticamente por pam_mount
. Ou seja, existe um registro /etc/security/pam_mount.conf.xml
para esta partição.
Eu quero que ele suporte TRIM. Eu sei que isso enfraquece um pouco a criptografia (ou seja, estabelece algum tipo de canal lateral), mas espero que seja aceitável.
Eu tentei habilitá-lo em pam_mount.conf.xml
. Uma abordagem era incluir discard
opções de montagem, que permitiam o descarte automático no dispositivo de bloco criptografado:
<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}" options="defaults,noatime,nosuid,nodev,discard" />
Outra tentativa foi incluir discard
(e também discards
) nas opções.
<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
Sem sorte. O fstrim ainda não funciona:
% sudo fstrim --verbose ~
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported
Esqueci alguma coisa? Uma atualização para 14.04 resolveria o problema? O man cryptsetup
comando me diz que isso --allow-discards
é compatível, então espero que funcione. A versão do kernel é 3.13.0-35-generic
, o que parece estar OK, já que a versão 3.1+
é necessária.
O sistema de arquivos subjacente é ext4. O fstrim
comando funciona perfeitamente bem com sistemas de arquivos não criptografados (que também são ext4), mas não funciona com o sistema de arquivos envolvido pela criptografia dm-crypt (?).
Observe que a discard
opção mount parece ser usada:
% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)
Responder1
Compilar uma nova versão a pam-mount
partir do código-fonte resolveu o problema. Tive que instalar um .deb
de libhx28
e libhx-dev
de Trusty (o que é arriscado em geral) para obter uma versão mais recente desta biblioteca.
Você provavelmente terá a versão mais recente em um Ubuntu mais recente pronto para uso, então você pode pular a compilação. Se puder, você pode atualizar para o Trusty. Quero ficar com o Precise por algum tempo.
Agora, habilitar allow_discards
sem discard
é um hack feio. Ocorreçãoapenas verifica a presença de um sinalizador de "descarte". Então, decidi colocar "descartar" e "nodiscard" (nesta ordem) e espero que funcione.
Agora fstrim
, neste dispositivo funciona, mas espero que descartar o sinalizador de montagem seja ineficaz. Não tenho certeza se posso testá-lo.
Alternativamente, pode-se tentar fazer alguma remontagem, mas não obtive sucesso com essa abordagem.