Cómo habilitar TRIM para SSD en Ubuntu

Una fotografía de dos tarjetas SSD NVMe.

Si estás utilizando una unidad de estado sólido (SSD), debes saber que no se debe ejecutar ningún software de desfragmentación o consolidación de espacio libre en ella. Entonces, ¿cómo limpias tu SSD y liberas el espacio vacío? TRIM es el comando que utilizamos para informar al sistema operativo que realice el trabajo de limpieza. Windows 11 te permite ejecutar TRIM manualmente a través del comando fsutil. Pero, ¿qué pasa con Ubuntu? ¿Cómo puedes habilitar TRIM para SSD en Ubuntu?

Nota: Los siguientes pasos no funcionarán si has encriptado tu partición.

Tabla de Contenidos

  • Creando un trabajo Cron TRIM para tu SSD
  • Usando la opción Discard en fstab
  • Preguntas Frecuentes

Creando un trabajo Cron TRIM para tu SSD

  1. Para asegurarte de que el SSD en tu computadora admite TRIM, abre una terminal y escribe:
sudo hdparm -I/dev/sda

Una ventana de terminal mostrando la salida del comando hdparm.

Si Ubuntu no está instalado en la primera partición del SSD, cambia sda para reflejar la partición donde reside Ubuntu. Puedes hacer esto ejecutando lsblk.

Una ventana de terminal mostrando todos los discos conectados a la máquina.

  1. Desplázate hacia abajo en la lista hasta que veas la sección “Enabled Supported”. Desplázate un poco más, y si ves algo como “ Data Set Management TRIM supported (limit 8 blocks)”, entonces TRIM es compatible con tu SSD.

Una ventana de terminal mostrando la bandera TRIM disponible para el SSD de demostración.

  1. Prueba si la función TRIM está funcionando en Ubuntu. En la terminal, escribe:
sudo fstrim -v/

Esto limpiará la partición raíz del SSD. Si tiene éxito, deberías ver algo que se asemeje a la siguiente imagen.

Una ventana de terminal mostrando el primer comando fstrim para el SSD.

  1. Configura un trabajo cron para que el sistema operativo envíe el comando TRIM una vez al día.
sudonano/etc/cron.daily/trim
  1. Pega el siguiente código en el área en blanco:
#!/bin/sh  
fstrim -v/
  1. Si tu directorio HOME está ubicado en otra partición, puedes agregar una línea adicional al final del código anterior:
fstrim -v/home >>$LOG
  1. Si deseas guardar la salida en un archivo de registro, usa el siguiente código en su lugar:
#!/bin/sh  
LOG=/var/log/trim.log  
echo"* $(date -R) *">>$LOG  
fstrim -v/>>$LOG  
fstrim -v/home >>$LOG

Una ventana de terminal mostrando un script cron completo para fstrim.

  1. Guarda (Ctrl + O) y sale (Ctrl + X).

  2. Haz que el trabajo cron sea ejecutable:

sudochmod a+x /etc/cron.daily/trim

Una ventana de terminal mostrando el script de recorte con los permisos correctos.

Bueno saber: cron es una gran utilidad que puede ayudarte a automatizar tareas en Linux. Aprende cómo funciona y cómo puedes usarlo para tus propios programas.

Usando la opción Discard en fstab

Además de invocar manualmente fstrim, también puedes configurar tu sistema para “descartar” continuamente cualquier espacio vacío no utilizado en tu disco. Esto puede ser útil si estás utilizando un portátil y no deseas dejar tu computadora encendida todo el tiempo.

  1. Verifica el valor UUID de tu partición raíz:
ls-l/dev/disk/by-uuid

Una ventana de terminal mostrando el enlace simbólico entre UUID y las particiones del SSD.

  1. Abre el archivo “/etc/fstab” usando tu editor de texto favorito. En mi caso, estoy usando GNU Nano:
sudonano/etc/fstab
  1. Encuentra la entrada de tu partición raíz en “/etc/fstab” presionando Ctrl + W, luego escribiendo su valor UUID.

Una ventana de terminal mostrando el archivo /etc/fstab predeterminado para el sistema de demostración.

  1. Ve a la entrada de tu partición raíz y escribe discard,noatime, antes de la opción “errors=remount-ro”. Por ejemplo, mi archivo “/etc/fstab” tiene la siguiente entrada de partición raíz:
#   
UUID=xxx    /    ext4    discard,noatime,errors=remount-ro    01  
[...]

Una ventana de terminal mostrando el archivo /etc/fstab modificado.

  1. Guarda tu nuevo archivo “/etc/fstab” presionando Ctrl + O, luego Ctrl + X.

Una ventana de terminal mostrando el mensaje de guardado para GNU Nano.

  1. Por último, reinicia tu máquina para aplicar tus nuevas configuraciones.

Una ventana de terminal mostrando el comando de reinicio para el sistema de demostración.

FYI: mientras TRIM eliminará cualquier espacio libre en tu SSD, eso por sí solo no te protegerá contra programas de recuperación de datos. Aprende cómo puedes borrar de manera segura tus datos usando solo simples herramientas de línea de comandos.

Preguntas Frecuentes

¿Puedo usar tanto fstrim como discard en mi SSD al mismo tiempo?

Sí. Sin embargo, hacer eso no resultará en ninguna mejora notable ni extenderá la vida de tu SSD, ya que tanto fstrim como discard utilizan rutinas TRIM similares cuando eliminan bloques no utilizados y libres.

Sabiendo eso, fstrim y discard difieren en un punto clave: frecuencia. El primero acumula todos los bloques no utilizados antes de “liberarlos”, mientras que el segundo “libera” un bloque tan pronto como se vuelve innecesario. Esto significa que el discard siempre tomará más recursos del sistema y IO del disco en comparación con fstrim.

Mi archivo /etc/fstab no tiene un UUID para su partición raíz.

Esto es probablemente debido a que tu sistema utiliza ya sea una tarjeta RAID de hardware o una utilidad de gestión de volúmenes lógicos (LVM). Por defecto, TRIM solo funcionará en sistemas que utilizan particiones de disco tradicionales y sistemas de archivos como ext4.

Sin embargo, algunos programas de LVM ofrecen una opción conveniente para realizar TRIM. En Ubuntu, puedes agregar issue_discards = 1 a tu archivo “/etc/lvm/lvm.conf” para automáticamente TRIM cualquier bloque no utilizado y libre.

¿Es posible cambiar la frecuencia de mi comando fstrim?

Sí. Por defecto, Linux proporciona múltiples archivos de temporizador que te permiten ajustar finamente cuándo deseas usar fstrim. Por ejemplo, puedes ejecutar sudo mv /etc/cron.daily/trim /etc/cron.weekly/trim para cambiar tu frecuencia de TRIM de diario a semanal.

Créditos de imagen: Unsplash. Todas las modificaciones y capturas de pantalla por Ramces Red.