TRIM no dispositivo criptografado com Precise

1

Migrei os dados principais para um novo SSD. (Samsung 840 EVO, 120GB.) Meu ~ é uma partição criptografada montada automaticamente por pam_mount . Ou seja, há um registro em /etc/security/pam_mount.conf.xml para essa partição.

Eu quero que ele suporte o 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 ativá-lo em pam_mount.conf.xml . Uma abordagem foi incluir discard nas opções de montagem, o que foi dito para permitir automaticamente o descarte no dispositivo de bloqueio 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 instruçõ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

Eu esqueci de alguma coisa? Uma atualização para 14.04 resolveria o problema? O comando man cryptsetup me diz que --allow-discards é suportado, então espero que funcione. A versão do kernel é 3.13.0-35-generic , o que parece estar certo, já que a versão 3.1+ é necessária.

O sistema de arquivos subjacente é ext4. O comando fstrim funciona perfeitamente com sistemas de arquivos não criptografados (que também são ext4), mas não funciona com o sistema de arquivos que é empacotado pela criptografia dm-crypt (?).

Observe que a opção discard mount parece ser usada:

% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)
    
por v6ak 16.09.2014 / 22:48

1 resposta

1

Compilar uma nova versão de pam-mount a partir da fonte resolveu o problema. Eu tive que instalar um .deb de libhx28 e libhx-dev de Trusty (que é arriscado em geral) para obter uma versão mais recente desta biblioteca.

Você provavelmente terá a versão mais nova em um novo Ubuntu, então poderá pular a compilação. Se puder, você pode atualizar para o Trusty. Eu quero ficar com Precise algum tempo.

Agora, ativar allow_discards sem discard é um hack feio. O patch apenas verifica a presença de um sinalizador de "descarte". Então, eu decidi colocar tanto "descartar" e "nodiscard" (nesta ordem) e espero que ele faça o truque.

Agora, fstrim neste dispositivo funciona, mas espero que a sinalização de montagem de descarte seja ineficaz. Não tenho certeza se posso testá-lo.

Alternativamente, pode-se tentar fazer alguma remontagem, mas eu não consegui com essa abordagem.

    
por v6ak 26.02.2015 / 21:14