TRIM en dispositivo cifrado con Precise

TRIM en dispositivo cifrado con Precise

He migrado los datos principales a un nuevo SSD. (Samsung 840 EVO, 120 GB). La mía ~es una partición cifrada montada automáticamente por pam_mount. Es decir, hay un registro /etc/security/pam_mount.conf.xmlpara esta partición.

Quiero que sea compatible con TRIM. Sé que debilita un poco el cifrado (es decir, establece algún tipo de canal lateral), pero espero que sea aceptable.

Intenté habilitarlo en pam_mount.conf.xml. Un enfoque fue incluir discardopciones de montaje, que se decía que permitían automáticamente el descarte en el dispositivo de bloque cifrado:

<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}"  options="defaults,noatime,nosuid,nodev,discard" />

Otro intento fue incluir discard(y también discards) en las mntoptions.

<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />

Sin suerte. El fstrim todavía no funciona:

% sudo fstrim --verbose ~                        
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported

¿Se me ha olvidado algo? ¿Una actualización a 14.04 resolvería el problema? El man cryptsetupcomando me dice que --allow-discardses compatible, así que espero que funcione. La versión del kernel es 3.13.0-35-generic, lo cual parece estar bien, ya que 3.1+se requiere la versión.

El sistema de archivos subyacente es ext4. El fstrimcomando funciona perfectamente bien con sistemas de archivos no cifrados (que también son ext4), pero no funciona con el sistema de archivos que está encriptado con dm-crypt (?).

discardTenga en cuenta que parece que se utiliza la opción de montaje:

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

Respuesta1

Compilar una nueva versión de pam-mountla fuente funcionó. Tuve que instalar .debde libhx28y libhx-devdesde Trusty (lo cual es riesgoso en general) para poder obtener una versión más nueva de esta biblioteca.

Probablemente tendrá la versión más nueva en un Ubuntu más nuevo listo para usar, por lo que puede omitir la compilación. Si puedes, puedes actualizar a Trusty. Quiero quedarme con Precise algún tiempo.

Ahora, habilitar allow_discardssin discardes un truco feo. Elparchesimplemente comprueba la presencia de una bandera de "descarte". Entonces, decidí poner "descartar" y "no descartar" (en este orden) y espero que funcione.

Ahora fstrimen este dispositivo funciona, pero espero que el indicador de descarte de montaje no sea efectivo. No estoy seguro de poder probarlo.

Alternativamente, se podría intentar volver a montarlo, pero no tuve éxito con este enfoque.

información relacionada