Discos SSD en Ubuntu y TRIM, lo que debes saber

No es por hacerle la pelota a Ubuntu, ni mucho menos, ni siquiera es mi distro primaria, pero si algo he de reconocerle es que es la mejor que va en mi hardware, la que mejor entiende mi microprocesador y sobre todo, y quiero recalcarlo, la más rápida en mi SSD, y con diferencia.

No se si Ubuntu tenga algo especial que la haga tan rápida en un SSD, la aplicaciones abren al instante y el rendimiento de la distro, a rasgos generales, es excelente en un SSD.

Todas estas alabanzas contando que lo tengo en un SSD normalito, un Kingston de 60 GB que ya tiene sus años y no es de los más rápidos. En un 850 EVO de Samsung sería una gozada, imagino. (aún tengo el mío dentro de la caja)

SSD-ubuntu

Ríos y ríos de tinta han corrido respecto a los SSD en Linux y el soporte de TRIM, inclusive en algunos nuevos SSD ya no es tan necesario pues vienen optimizados en el firmware para estas labores, todo depende de la marca. Si quieres saber más de TRIM pásate por aquí.

Muchas, o casi todas de las grandes distribuciones Linux en el proceso de instalación ya detectan si tienes un SSD y toman medias al respecto activando TRIM para que tu no tengas que preocuparte, pero aún algunas solo agregan un discard al /etc/fstab y nada más, algo que según los entendidos no es bueno a largo plazo, pues el rendimiento de ese SSD pude verse mermado. La idea es que el rendimiento de un SSD sea bueno durante toda su vida útil.

Nos centramos en Ubuntu para uso doméstico

Aquí estamos para hablar de Ubuntu SSD y TRIM, y eso es lo que vamos a hacer.

Desde hace ya algunas versiones Ubuntu soporta y activa TRIM de manera automática en instalaciones en discos SSD, en un principio solo hacía esto en SSD de las marcas Intel y Samsung pero en la actualidad ya está soportado en todas las marcas.

Si nos vamos al directorio: /etc/cron.weekly/ vemos un archivo llamado fstrim el cual contiene lo siguiente.

#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true

Esta orden comprueba semanalmente los discos SSD soportados y lanza fstrim en todas las particiones para de esta manera tener siempre optimizado el SSD. Si has instalado Ubuntu en un SSD deberías tener el archivo, si no lo tienes, o está vacío, puedes agregarlo.

Si en vez de semanalmente quieres que esta comprobación la haga a diario solo tienes que mover el archivo fstrim de la carpeta cron.weeky a cron.daily. Esto ya según tu veas el uso que te das a tu sistema, si es muy intenso alomejor te merece la pena, si es normal te bastará con una vez a la semana.

Montando las carpetas y archivos temporales en la memoria RAM

Esta es una excelente idea si, por ejemplo, cuentas con RAM de sobra, digamos de 4, 6 u 8 GB hacia arriba. Lo que hacemos con esto es que esas carpetas temporales no escriban en el SSD sino en la RAM, así preservamos la vida del SSD. Estos archivos temporales se borran en cada reinicio o apagado, de ahí que sean temporales.

Hace tiempo que yo ya usaba esto pero ahora he descubierto lo mismo pero más completo.

Con nuestro editor de texto favorito abrimos el /etc/fstab y agregamos, al final, las siguientes líneas.

tmpfs     /tmp      tmpfs   noatime,nodiratime,nodev,nosuid,mode=1777,defaults   0    0
tmpfs    /var/tmp   tmpfs    noatime,nodiratime,nodev,nosuid,mode=1777,defaults  0    0
tmpfs   /var/spool  tmpfs    noatime,nodiratime,nodev,nosuid,mode=1777,defaults  0    0

Os recomiendo encarecidamente este artículo de los amigos de SlimBook donde encontraréis esto y algunos trucos más.

No se si sabrán que SlimBook es un empresa española de ultraportátiles, los más bellos y finos del mercado y con materiales de primera calidad. Si lo deseas te envían tu ultraportátil a casa sin sistema operativo, con Linux preinstalado, tienen muchas distros a elegir, o con Windows preinstalado, que hay gente pa tó 😉

Además de esos trucos tienen una herramienta propia llamada Slimbook Essentials, una aplicación post-instalación para Ubuntu y Debian. Echénle un vistazo 😉

¿Cómo particiono teniendo un SSD?

Este es un tema peliagudo, cada cual tiene su propio método de particionado. Pasa como con los culos, que cada uno tiene el suyo.

Si nos orientamos a un uso doméstico de Ubuntu realmente no hay que comerse mucho la cabeza, un particionado simple basta.

Hace ya tiempo que hablé sobre mi sistema de particionado, y a día de hoy sigo casi igual con la salvedad de que ahora si hago partición de intercambio Swap.

Algunos consejos de particionado.

Esto no es la biblia en verso ni ninguna verdad absoluta, simplemente es como yo lo hago y siempre me ha ido bien

  • Diferenciemos si tenemos un SSD como único disco, si tenemos un segundo disco duro HDD para acompañarlo, y si vamos a hacer o no partición de intercambio Swap.

Si tienes 8 GB o más de RAM física ya no es necesario crear la Swap, a no ser que tengas un portátil y la necesites para el tema de suspensión hibernación.

Si vas a instalar Ubuntu en un único SSD puedes hacer todas las particiones en el mismo SSD, incluso la Swap en caso de que la vayas a poner. Como Ubuntu ya activa el TRIM en todas las particiones no hay problema, estarán siempre trimeadas.

Si tienes una combinación de SSD + HDD bien puedes poner la partición de UEFI, en caso de que lo uses, y las particiones boot y raíz en el SSD, y en el caso de que hagas /home aparte puedes montarlo en el HDD más la partición de intercambio Swap y otra partición aparte de Datos para guardar esos datos duraderos (música, fotos, vídeos, pelis, etc…) si es que no los guardas en la /home, como es mi caso.

Y bueno, realmente no hay mucho más que contar, esto se puede resumir en, si vas a instalar Ubuntu en un SSD no tienes que hacer nada pues Ubuntu ya activa TRIM por ti, tu decides si lo quieres una vez a la semana o a diario. Lo demás, es acomodar las particiones a tu gusto, como a ti te vaya bien 😉

Para finalizar comentar que yo sigo teniendo mi SSD en Ubuntu en EXT4, sigo montando solamente la /raíz (y boot en caso de UEFI) en el SSD, y la Swap y Datos (/media/datos) en mi HDD. Pero este, amigos míos, este soy yo, cada cual se rasca el culo cuando le pica 😉

Que la fuerza del Kernel os acompañe y os guíe por el buen camino.

28 respuestas a “Discos SSD en Ubuntu y TRIM, lo que debes saber

      1. Que bueno, usar XFS o ext4 no hay mucha diferencia para el usuario domestico.

        Yo migre a XFS porque note cierta rapidez en Gnome Shell y las animaciones no eran tan lentas como en ext4. Pero luego entendi que lo que influye es el Hardware y no el sistema de archivos. Sin mencionar que Gnome Shell cada vez pesa mas y mas y traga memoria como ninguno. xD

        A nivel de almacenamiento entendi que XFS es ideal para gestionar particiones grandes de informacion como en las empresas, que el tamaño de las particiones en los servers son en Terabytes, cosa que no creo que un usuario domestico logre gestionar en su hogar ajaja.

        Todos tenemos discos duros normales de 320, 500 y algunos dichosos hasta de 1 Terabyte xD

        Regresare a ext4muy pronto, pero lo hare con la llegada de Solus 1.2

        Un super saludo 🙂

        Me gusta

      2. Yo voy y vengo, hoy puedo estar en EXT4 y mañana en XFS, aunque para un user doméstico como yo, EXT4 le basta y sobre, no va a notar diferencias respecto a XFS o cualquier otro sistema de archivos.

        En openSUSE si uso BTRFS para la raíz, pero es por que el instalador de openSUSE no quería EXT4 en esa partición, daba error el instalador si lo elegía y por coones tuvo que ser BTRFS

        Me gusta

  1. Hombre, más claro ni el agua, muy bueno y esclarecedor.
    Muchas gracias sr Yoyo ¿o friki?
    Saludos.

    Me gusta

    1. Aquí, Yoyo, en Facebook, Friki Fernández, no me deja ponerme Yoyo el Facebook ioputa, dice que no es un nombre real cuando ya lo he tenido antes en esa misma red.

      Un saludo, Miguel.

      Me gusta

  2. Muy buen articulo, que comparto en lo que se refiere a Ubuntu, mi ssd tiene casi el mismo tiempo que el tuyo, y lleva su trote, actualmente ocupa en un cady el lugar del dvd del portátil y gestiona el equipo como sda ( los ssd deben de arrancar los primeros ) con un particionado normal pero con un añadido, es de 120 Gb y le he dejado 30 Gb ( se recomienda un 20% ) sin usar para prevenir futuros daños.

    salu2

    Me gusta

      1. sin formato… es probable que no sea necesario, pero dado el sobre coste, en caso de un apuro, salvas el disco, sin embargo, si lo has particionado entero, no tienes opción, aunque con un 5% en casos de que sea escaso, (40gb) sería
        suficiente, lo que se dice en gparted, espacio sin asignar, es la garantía, ahora con los SSD internos en microSATA, que cuestan un ef, jode…
        salu2

        Me gusta

  3. Sr. Yoyo, si me evacúa esta consulta le pongo 10. ¿Cuál es la ventaja de usar UEFI en lugar de legacy para un usuario doméstico, como es mi caso? ¿Para hacer una tabla de particiones gpt sí o sí hay que usar UEFI?

    Me gusta

    1. Bueno, yo no entiendo mucho del tema, solo se que UEFI es el reemplazo de la BIOS tradicional, y que al parecer es más rápido y seguro.

      Te dejo este link http://blog.elhacker.net/2013/03/diferencias-entre-efi-vs-bios-mbr-vs-gpt-windows-linux-arranque-dual-grub.html

      En un user doméstico poca diferencia vas a notar.

      En mi caso, en el equipo Desktop Lenovo uso LEGACY y en la Laptop Acer uso UEFI

      Sobre si para GPT hace falta UEFI no estoy seguro, yo diría que si pero revisa el link que te he dejado 😉

      Me gusta

      1. Gracias! El post está muy bueno, de lo más claro que he leído sobre el asunto. El 10 es merecido.

        Me gusta

  4. Muy buena la información, has llamado mi atención sobre un asunto del que nunca me he preocupado mucho. Utilizo un ssd kingston de 60 GB exactamente igual que el tuyo y nunca he hecho nada especial para optimizarlo porque no me quedaba muy claro si era realmente necesario. Noto que va algo más rápido que el antiguo hdd que tenía, por lo demás ningún problema en aproximadamente dos años. Con esto que explicas ya me ha quedado más clara la cuestión. Muy bueno también el dato de slimbook, no lo conocía.
    Gracias y un saludo.

    Me gusta

  5. Gracias, YoYo.

    Acabo de adquirir un disco SSD Samsung 850 EVO de 250GB, me da la impresión que el actual kernel ignora los comandos TRIM, pues según el contenido del fichero https://github.com/torvalds/linux/blob/master/drivers/ata/libata-core.c en la línea 4407 ->

    /* devices that don’t properly handle queued TRIM commands */

    { «Samsung SSD 8*», NULL, ATA_HORKAGE_NO_NCQ_TRIM |
    ATA_HORKAGE_ZERO_AFTER_TRIM, },

    parece que todos los SAMSUNG serie 8* están en la blacklist.

    ¿ Quiere decir esto que si ejecuto las orden » sudo fstrim /» sobre el disco, es ignorado dicho comando ( la ejecuto y me da impresión de que es ignorada, no devuelve información alguna, simplemente sale inmediatamente)

    ¿ Significa esto que el proceso TRIM nunca se va a realizar sobre el disco y el mismo va a ir perdiendo eficiencia con el paso del tiempo ?

    Gracias.

    Me gusta

  6. Buenas! como estas? Muy bueno el articulo, el otro día estaba buscando información por que me compre un SSD para la notebook y me vino genial!
    Te hago unas consultas nada mas
    Es mejor BTRFS o EXT4? en mi caso instale BTRFS en «/».
    Como todavía tengo el Hdd en la notebook (Saque la grabadora de dvd y con un caddy puse el otro disco) puse el directorio Home ahí. Pero me surge una duda, tengo DualBoot en la maquina Ubuntu 14.04 y Windows 10, el tema es que el home no me dejaba ponerlo en NTFS para que comparta los datos con windows, me recomendás que lo ponga como /media/datos y el home lo deje en el ssd?
    Por ultimo, que me recomendás para cifrar el Hdd?
    Muchas Gracias!!

    Me gusta

    1. Hola, Juan Cruz

      Sobre BTRFS o EXT4 hay opiniones y gustos, para un user doméstico EXT4 va bien.

      Puedes instalas el sistema en el SSD y el HDD para Datos como /media/datos en exFAT que es compatible con Windows y Linux

      Mira esto https://salmorejogeek.com/2016/06/08/como-compartir-y-auto-montar-una-particion-exfat-entre-windows-y-linux-ubuntu/

      Respecto a cifrar el HDD nunca lo he hecho y no tengo experiencia, si se que al instalar una distro, o las mas populares, te dan la opción de cifrar las particiones donde se instalan, revisa esa parte.

      Un saludo.

      Me gusta

      1. Claro, pero quedaría como /media/Datos, mi idea era que sea /home el disco. Como para que me quede algo asi
        SSD(480Gb):
        Windows 292Gb
        Linux 160Gb

        Hdd(650Gb)
        /Home (Y mis documentos en windows)
        /Swap 8Gb
        /Var 30Gb

        el /var lo tengo separado por que leí que es mejor que este en un hdd ya que escribe constantemente.

        Me gusta

      2. Bueno, el caso es que yo no hago /home separada, no guardo nada ahí que quiera conservar, ni configuraciones de programas.

        Todo lo guardo en Datos /media/datos partición que nunca formateo.

        Si haces /home aparte puedes ponerla en el HDD, una home mas pequeña y la mas grande la de /media/datos

        Así lo hago yo https://deblinux.wordpress.com/2012/10/21/tomando-un-nuevo-esquema-de-particionado-del-disco-duro-para-instalar-linux/

        Me gusta

  7. Muy bien redactado el artículo, me encana.
    Muy bueno el truco de montar rutas temporales, lo voy a probar.
    De casualidad he visto, por lo que mencionabas en el cron, que hay un cron.daily cron.weekly.. la hostia, llevo casi toda la vida con linux, y no tenía conocimiento de esto. Y de casualidad he visto que en el cron.d hay un fichero que se encarga de limpiar todas las sesiones de PHP cada media hora.
    Llevo un montón de distros sufriendo esto de que cada media hora me cierra las sesiones locales de todo, prestashop, phpmyadmin, y no sabía porque… mira tu por donde…
    Lo dicho, felicidades por el artículo.

    Me gusta

Los comentarios están cerrados.

Blog de WordPress.com.

Subir ↑