wiki.ubuntuusers.dedice que si quiero usar TRIM en un SSD cifrado, necesito al menos cryptsetup 1.4 y kernel 3.1. ¿Necesito esto al crear las particiones y configurar el cifrado, o es suficiente actualizar después?
Respuesta1
Ubuntu 11.10 Oneiric no viene con cryptsetup 1.4, aunque Precise sí. No sé si cryptsetup se puede actualizar en Oneiric o no. Dado que Precise se lanzará en un mes, también puede esperar ese lanzamiento antes de considerar TRIM con particiones cifradas. El kernel siempre se puede actualizar posteriormente.
Dehttp://code.google.com/p/cryptsetup/wiki/Cryptsetup140:
Admite la opción --allow-discards para permitir descartes/solicitudes TRIM.
Desde el kernel 3.1, los dispositivos dm-crypt admiten opcionalmente (no de forma predeterminada) comandos de descarte de bloques (TRIM).
Si desea habilitar esta operación, debe habilitarla manualmente en cada activación usando --allow-discards
cryptsetup luksOpen --allow-discards /dev/sdb test_disk
ADVERTENCIA: Hay varias consecuencias de seguridad, lea al menos http://asalor.blogspot.com/2011/08/trim-dm-crypt-problems.html antes de habilitarlo.
Como puede ver, esta función no está habilitada de forma predeterminada debido a la seguridad degradada, como se menciona en el blog vinculado. Entonces, si usa cryptsetup en el kernel 3.0 (el que viene con Precise), no tendrá soporte TRIM en sus particiones cifradas. Después de actualizar a 3.1+, todavía no lo tendrás a menos que lo habilites.
Para hacerlo, debe editar /etc/crypttab
después de la instalación (no estoy seguro si es posible durante la instalación) y agregar la discard
opción. Ver tambiéncriptotab(5).
Respuesta2
He publicado una guía paso a paso para habilitar TRIM con particiones cifradas LUKS en Ubuntu 12.04 o cualquier Debian con cryptsetup 1.4+ y Kernel 3.1+. (No dudes en copiarlo aquí si algunas pautas de Askubuntu lo consideran necesario).
Configuración de ejemplo
Computadora portátil con SSD como unidad única, Linux instalado en una única partición raíz LVM ext4 con partición de intercambio LVM, ambas a través de una partición lógica cifrada LUKS.
SSD:/dev/sda
$ sudo fdisk -l /dev/sda
/dev/sda1 # boot partition (83) (unencrypted, ext4)
/dev/sda2 # extended partition
/dev/sda5 # logical partition (83) with LUKS encryption
$ ls /dev/mapper
/dev/mapper/sda5_crypt # encrypted LUKS device in physical /dev/sda5 partition
/dev/mapper/volumegroup-root # root partition sda5_crypt
/dev/mapper/volumegroup-swap # swap partition sda5_crypt
Cómo
Haz una copia de seguridad de todos tus datos. Estás alterando tu sistema de archivos, por lo que tener una copia de seguridad es simplemente una buena idea.
Asegúrese de tener las versiones requeridas de kernel y cryptsetup (3.1 y 1.4, por ejemplo, en Ubuntu 12.04; tenga cuidado, al momento de escribir este artículo, 12.04 todavía es beta).
Agregue el parámetro de descarte a las opciones del sistema de archivos de los volúmenes LVM cifrados en su archivo /etc/fstab. Esto hace que el sistema de archivos de su partición LVM sepa que desea utilizar TRIM.
/dev/mapper/volumegroup-root / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
Sin embargo, el último paso no es suficiente. Mientras LUKS no sepa que desea utilizar TRIM, bloqueará efectivamente todas las operaciones TRIM provenientes del sistema de archivos de la partición LVM, por razones de seguridad. Agregue el parámetro de descarte a las opciones de cryptdevice en /etc/crypttab para que LUKS acepte el comportamiento de descarte de la partición LVM.
sda5_crypt UUID=e364d03f-[...]6cd7e none luks,discard
Reconstruya sus initramfs. Las opciones de crypttab se almacenan allí y se utilizan en el arranque.
sudo update-initramfs -c -k all
Reiniciar.
Compruebe si TRIM ahora está activo.
sudo dmsetup table /dev/mapper/sda5_crypt --showkeys
Si el último comando muestra un resultado como este (
1 allow_discards at
el final), ya está todo listo.0 77656056 crypt aes-cbc-essiv:sha256 abc[...]c7a0c 0 8:5 2056 1 allow_discards