¿Has comprado un disco duro SSD y quieres sacarle el máximo partido? ¿Ya tienes uno y no sabías que puede ir aún más rápido? ¿Quieres prolongar la vida de estos bichos de la velocidad de almacenamiento? No te preocupes, aquí te enseñamos cómo hacerlo en nuestra plataforma favorita: Linux.

Ajustes destacados

Hay un montón de ajustes y optimizaciones que la gente recomienda cuando se actualiza a un SSD (Solid State Disk). Después de filtrar todos los comentarios, algunos antiguos y/o inservibles, hemos hecho una pequeña lista de ajustes a realizar ya que algunas distribuciones Linux no tienen optimización por defecto para SSds. Tres de ellas implican editar el fichero fstab, así que será mejor que respaldes dicho fichero antes de continuar con el siguiente comando:

sudo cp /etc/fstab /etc/fstab.bak

Si algo fuera mal, siempre puedes borrar el nuevo fichero fstab y reemplazarlo con la copia que hiciste con el paso anterior. Si no sabes lo que es o quieres repasar cómo funciona, echa un vistazo a HTG Explains: What is the Linux fstab and How Does It Work?

Evitando los tiempos de acceso

Puedes incrementar la vida de tu SSD reduciendo las escrituras que hace el Sistema Operativo en disco.  Si necesitas saber cuándo fue la última vez que se accedió a un directorio o fichero, añade estas dos opciones a tu /etc/fstab:

noatime,nodiratime

Añádelos junto con el resto de opciones y asegúrate que todos están separados por comas y no espacios.

Activando TRIM

Puedes activar TRIM para ayudar a gestionar el rendimiento del disco a largo plazo. Añade la siguiente opción al fstab:

discard

Esto funciona bien con los sistemas de ficheros ext4, incluso con los discos duros normales. Se debe tener una versión de kernel 2.6.33 o superior, aunque estarías cubierto si usas Maverick o Natty, o has habilitado backports en Lucid. Si bien esto no mejora específicamente el rendimiento al principio, debería hacer que el sistema funcionara mejor en el largo plazo y por eso se ha introducido en esta lista.

Tmpfs

La caché del sistema se guarda en /tmp. Se le puede decir a fstab que monte la caché en la RAM como un fichero temporal del sistema para que tu sistema operativo toque lo menos posible tu disco duro. Añade la siguiente línea al final de tu /etc/fstab en una nueva línea:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Guarda tu fstab para proceder con estos cambios.

Cambiando los IO Schedulers

Tu sistema no escribe todos los cambios inmediatamente en el disco, sino que se encolan las peticiones múltiples. El planificador de entrada salida (input-output scheduler) por defecto cfq maneja esto adecuadamente, pero podemos cambiar éste por uno que trabaje mejor con nuestro nuevo hardware.

Primero, lista qué opciones tenemos disponibles con el siguiente comando, reemplazando "X" con la letra de tu unidad raíz:

cat /sys/block/sdX/queue/scheduler

En mi instalación está en sda. Podrías ver unas cuantas opciones distintas.

Si tienes la opción de deadline deberías usarla, ya que esto permite un ajuste extra más adelante. Si no, podrías utilizar noop sin problemas. Ahora tenemos que decirle al sistema operativo que utilice estas opciones en cada arranque por lo que tendremos que editar el fichero rc.local:

Hemos utilizado el editor nano porque  trabajamos mucho con la línea de comandos, pero puedes usar cualquier otro editor de texto que te guste (gedit, vim, etc.).

sudo nano /etc/rc.local

Sobre la línea "exit 0", añade estas dos líneas si estás usando deadline:

echo deadline > /sys/block/sdX/queue/scheduler
echo 1 > /sys/block/sdX/queue/iosched/fifo_batch

Si estás usando noop, añade esta línea:

echo noop > /sys/block/sdX/queue/scheduler

Otra vez más, reemplaza "X" con la letra de la unidad correspondiente de tu instalación. 

Once again, replace “X” with the appropriate drive letter for your installation. Mira por encima todo para asegurarte de que está correcto.

Luego, presiona CTRL+O para guardar y después CTRL+X para salir de nano.

Reiniciando

Para que todos estos cambios entren en vigor, es necesario reiniciar. Después del reinicio, debe estar todo listo. Si algo sale mal y no puedes arrancar, puedes deshacer de forma sistemática cada uno de los pasos anteriores hasta que puedas arrancar de nuevo. Puedes utilizar incluso un liveCD o liveUSB para recuperar el sistema si lo deseas.

Los cambios en tu fstab se mantendrán en tu instalación indefinidamente, incluso suportando actualizaciones, pero tu rc.local deberá ser restituitdo tras cada actualización (entre versiones de la distro, no de kernels).

Resumen

Con estos sencillos pasos, podemos optimizar nuestro SSD en más de un 100% con respecto a nuestro anterior disco mecánico de platos, lo que se traduce en una infinita mejora de los tiempos de arranque, carga, escritura, transferencia... Una gozada, ya verás.