Problemas con discos de estado sólido SSD y Ubuntu Linux

Tras unos días de felicidad con mi nuevo disco de estado sólido (un OCZ Octane), empecé a experimentar numerosos y graves problemas: elevados iowait en el procesador, comportamiento lento, semibloqueos del sistema, hasta llegar a un punto en que diversos linux recién instalados se negaban a arrancar.  Tras mucho leer sobre las unidades de estado sólido y demás, os comento todo lo que deberíamos saber antes de incorporar un SSD a nuestro Linux.

– Lo primero que debemos hacer es actualizar el firmware. Esto no sólo puede hacer que nuestro SSD vaya mucho más rápido, sino que puede evitar problemas con algunos filesystems, corregir bugs, etc.  Personalmente soy muy descuidado en temas de firmwares, pero en este caso ha sido imprescindible. Si tenéis un disco OCZ, existe una utilidad en su web para actualizar el firmware.  El procedimiento consiste en descargar unetbootin (se ejecuta sin instalar) para instalar la imagen ISO que descarguemos de OCZ en un pendrive.  Posteriormente arrancamos el ordenador con ese USB y procedemos a la actualización desde la utilidad gráfica.
– El siguiente paso consiste en entrar en la BIOS (F1, F12 o Supr al arrancar) y comprobar que la controladora está configurada como AHCI, y no como IDE (antiguo o Legacy).  De no ser que tengamos un núcleo de Linux anterior a 2.6.18 o algún disco duro muy viejo (anterior a 2008), no hay motivo para tener la controladora en modo Legacy o IDE: perderemos interesantes funcionalidades, algunas de ellas necesarias para los SSD (como el TRIM que os comento más adelante).  Si lo teníamos configurado como IDE, hay que instalar Linux de nuevo, de no ser que nos gusten los deportes de  riesgo y queramos andar cambiando archivos y configuraciones del boot de Linux.  Si no hacemos nada al respecto, Linux arrancará, pero nos encaminamos hacia los problemas graves, en especial cuando el disco se vaya llenando.
– Las unidades de estado sólido emulan el comportamiento de un disco duro, aunque evidentemente no son un disco duro, por eso no hay que formatearlas, sino hacerles un secure erase.  Esto se hace desde la utilidad de OCZ o directamente desde la línea de comandos de Linux:
Comprobamos cuál es nuestra unidad:
$ sudo fdisk -l
Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    24999935    12498944   83  Linux
/dev/sda2        24999936   250068991   112534528   83  Linux
$ sudo hdparm -I /dev/sda
Si la unidad está congelada (freeze) debemos desconectar y conectar los cables del disco en caliente (con Linux arrancado) hasta que nos muestre un estado de not frozen:
Security: 
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
                supported: enhanced erase
        2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

No hay problema con el formato que ofrece ubuntu en el proceso de instalación, pues en realidad es un borrado rápido de la partición en cuestión.

– Tras tener nuestro Linux instalado en nuestro nuevo SSD con AHCI mode y ext4. y dado que Linux no detecta automáticamente el tipo de disco instalado, debemos cambiar algunos parámetros a la hora de montar las particiones.  Editamos /etc/fstab:
$ vi /etc/fstab
UUID=f17eba03-d9c8-46e0-a975-1cbec11757b4 /               ext4    discard,errors=remount-ro,relatime  0       1
UUID=e1afbb18-3d42-4ca2-915d-b9cd62daf76a /home           ext4    discard,defaults,relatime        0       2
Con discard habilitamos el modo TRIM del disco, que lo que hace es indicarle al disco que puede borrar completamente los sectores que ya no están en uso.  Esto es diferente a las unidades convencionales, donde los datos se dejaban de referenciar, pero seguían físicamente en disco.  Sobra decir que los comandos tipo “undelete” que operaban buscando estos datos des-refenciados por el disco ya nunca más funcionarán.
Con relatime lo que hacemos es que no se actualice el día y hora de acceso en el sistema de ficheros de Linux.  Esto es opcional, y sirve sólo para alargar la vida de los discos, dado los discos SSD van perdiendo vida con las escrituras.  Si tenemos un disco convencional, podemos optar por ubicar algunos datos de escritura constante en este disco, que no repercutirá demasiado en el rendimiento y alargará la vida del diso SSD.  Esto es válido principalmente para las particiones swap y /var,  y las cachés de los navegadores.  
Por cierto, el benchmark que incorpora ubuntu en la utilidad “Disks” no me funciona con la unidad montada:
Error opening /dev/sdb2: Device or resource busy (udisks-error-quark, 0)
así que si os pasa lo mismo, podéis medir el rendimiento desde la línea de comandos con hdparm:
$ sudo hdparm -Tt /dev/sdb

Si tras todo esto, tu disco sigue dando problemas, te recomiendo que contactes con el soporte técnico de la marca con los datos S.M.A.R.T. de tu disco a mano, pues no sería la primera unidad que debe ser reemplazada en período de garantía.  Para leer los datos S.M.A.R.T.  puedes entrar en la utlidad “Disks” de ubuntu, o bien desde la línea de comandos:
$ sudo apt-get install smartmontools
$ smartctl -a /dev/sda

ACTUALIZACIÓN

Al parecer, relatime es la opción de montaje por defecto en Linux desde el kernel 2.6.30, así que no es necesario especificarlo en fstab.  De cualquier modo especificarlo no estropea nada.
Anuncios

1 Response to “Problemas con discos de estado sólido SSD y Ubuntu Linux”


  1. 1 AlBundy 3 Nov 2012 en 19:45

    Activar el TRIM en el fstab (opción “discard”) parece que puede producir alguna merma en el rendimiento global del sistema.

    Yo prefiero invocar a la utilidad “fstrim” una vez en cada arranque del sistema, y montar sin opción discard.

    Hay otros que prefieren invocar “fstrim” periódicamente desde cron.

    Como ves, hay varias opiniones de cuál es más efectiva.

    Un saludo, y felicidades por tu blog.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




La Máquina Diferencial en Twitter

Add to Technorati Favorites
Creative Commons License
Esta obra está bajo una licencia de Creative Commons

Archivos

Wikio – Top Blogs – Linux

Introduce tu dirección de email para suscribirte al blog y recibir notificaciones de nuevos posts en tu email.

Únete a otros 393 seguidores


A %d blogueros les gusta esto: