9 de septiembre de 2012

Un SSD con Kubuntu 12 para gobernarlos a todos

ACTUALIZACIÓN: en la actualidad tengo instalado Kubuntu 12 de 64 bits en un disco de 256GB Samsung.

Hace ya unos meses cuando se liberó la versión beta de Ubuntu Pagolin 12.04 LTS me planteé instalarla en mi ordenador de trabajo. La principal novedad de Ubuntu 12.04 es que es una versión estable que será soportada durante 5 años. Uno de los inconvenientes que a mi parecer tiene Ubuntu es su falta de estabilidad en la migración de una versión a otra (yo siempre hago copia de seguridad antes). Siempre tengo problemas al actualizar una determinada versión y me tengo que quedar con la antigua si no quiero reconfigurar todo el ordenador de cero, cosa que con mi Windows XP nunca me ha pasado. Así que con Ubuntu 12.04 puedo estar tranquilo al menos 5 años :)



A su vez, me planteé la posibilidad del teletrabajo, aunque más que teletrabajo suele ser llevarse trabajo extra a casa. Y debido a las restricciones de acceso que tengo a mi ordenador de trabajo desde el exterior de mi centro y a la necesidad de portabilidad cuando viajo al extranjero, me surgió una vieja idea que tenía en mi cabeza... llevar mi ordenador en un pendrive. Haciendo cuentas de espacio, necesitaba un mínimo de 50GB para montar un sistema linux con todos los programas y bases de datos que suelo utilizar.
Los actuales pendrives a precios razonables no llegan a dicha capacidad, además son muy lentos comparados con los discos duros tradicionales y los modernos SSDs. Encontré por casa un disco duro viejo de portátil que tenía en una carcasa externa para hacer copias de seguridad y decidí instalar la versión de 64 bits de Kubuntu 12.04 para probar como funcionaba en un disco externo conectado por USB.

Disco duro IDE de portátil (2,5' 100GB) con carcasa USB.

Primero copié la imagen ISO de Kubuntu en un pendrive (así se evita desperdiciar 1 CD) con el programa LinuxLive USB. Entonces instalé Kubuntu tal y como se explica en los numerosos tutoriales que hay en internet, teniendo cuidado de elegir el disco correcto (en mi caso '/dev/sdc') y particionando el disco en una partición root ('/') de 20GB y una para el home ('/home') de 80GB. El espacio Swap no lo asigné a una partición sino a un archivo tras finalizar la instalación, ver más abajo.

Particionado de mi disco duro externo.
Al probar la instalación de Kubuntu en el disco externo USB quedé sorprendido que funcionaba con la misma fluided que mi anterior instalación en un disco fijo SATA. Para tareas ordinarias parece que la velocidad USB es suficientemente alta como para no notarlo en el rendimiento. Ahora llegaba la prueba de fuego... conectar el disco en otro ordenador por USB y ver si también funcionaba. La instalación de Kubuntu no arrancaba en mi portátil (un poco antiguo por cierto), la explicación es que mi portátil no soporta sistemas operativos de 64 bits.
NOTA: aunque sigo siendo partidario de los 32 bits, recomiendo instalar 64 bits a todo el que trabaje en NGS, si no programas como Bowtie o Trinity nunca funcionarán.

Volví a instalar Kubuntu, pero esta vez la versión de 32 bits en el disco y ahora sí que funcionaba, tanto en mi ordenador de sobremesa de 64 bits, en mi portátil de 32 e incluso en mi netbook Acer Aspire One, reconociendo tanto tarjetas de video, sonido y wifi en todos ellos. Con la sorpresa que en el netbook aparecía un escritorio diferente, el KDE Netbook Plasma. Dicho escritorio es algo raro al principio, pero según te acostumbras resulta más cómodo para trabajar con pantallas pequeñas. Haciendo una prueba sencilla de rendimiento, con la versión de 32 bits perdía un 10% de velocidad al ejecutar scripts de perl, una pérdida que no me importaba debido a su gran compatibilidad. Seguramente en programas optimizados de compresión de vídeo o retoque fotográfico el rendimiento será peor, pero en mi caso los programas científicos que requieren alto rendimiento están en servidores externos, y en mi ordenador simplemente pruebo scripts o tareas que más tarde puedo mandar a los servidores.

Aspecto del KDE Netbook Plasma.


Ahora tenía lo que quería... UN DISCO CON LINUX QUE PUEDO CONECTAR A CUALQUIER ORDENADOR Y TRABAJAR CON ÉL.

Tras probar "mi nuevo ordenador" durante varios meses en el trabajo, en casa, viajando... he tenido tan buenas experiencias que he decidido "ampliarlo". La ampliación ha consistido en migrar el sistema a un disco externo SSD. En teoría la mejora en rendimiento de un disco duro clásico a uno SSD es sustancial. El disco elegido ha sido un Samsung 830 de 128GB, tuve dudas entre éste y un Crucial M4, pero me decanté por el Samsung debido a la mínima diferencia de precio y la fiabilidad de la marca

Disco SSD y carcasa externa.
El primer paso de la migración fue usar un pendrive con Clonezilla (también creado con LinuxLive USB). Tras arrancar el ordenador con el pendrive y los 2 discos externos USB conectados, seleccionando la opción 'device-device' pude clonar mi antiguo disco externo en el nuevo SSD. Sin embargo, debido a las diferencias entre los discos, el nuevo disco no arrancaba. Para arreglarlo, retomé mi pendrive de Kubuntu y lo reinstalé en mi partición root ('/') copiada en el disco SSD. El instalador de Kubuntu es bastante inteligente y restaura el registro de arranque (MBR) y alguna cosa más sin alterar la partición root y los programas que ya teníamos instalados.

Pantalla ejemplo de Clonezilla.
Ya sólo quedaba comprobar que funcionaba en mis varios ordenadores...
(sólo se resiste a reconocerlo una placa base Gygabyte GA-965P-DS4 rev. 1.0)


Respecto a la mejora en el rendimiento, hasta el momento sólo puedo decir que el tiempo de arranque es menor y que LibreOffice se inicia en la mitad de tiempo usando el disco SSD.

Disco en la carcasa comparado en tamaño con un bolígrafo.
Y aún se puede optimizar más el discoy alargar su vida útil, básicamente minimizando las operaciones de lectura/escritura en disco, para ello podemos hacer las siguientes modificaciones en nuestro linux:
  • Añadir a '/etc/fstab' las opciones noatime,nodiratime y discard en todos los puntos de montaje del disco.
  • Crear y montar el archivo swap indicando que sólo se use cuando sea estrictamente necesario:
  1. Crear el archivo:
    • sudo dd if=/dev/zero of=/media/swapfile bs=1M count=4000 
  2. Activar el archivo swap:
    • sudo mkswap /media/swapfile
    • sudo swapon /media/swapfile
  3. Añadir en '/etc/fstab' la siguiente línea para que se active al arrancar:
    • /media/swapfile swap    swap    defaults        0       0  
  4. Añadir la siguiente línea en '/etc/sysctl.conf' para dar preferencia de uso a la memoria RAM:
    •  vm.swappiness = 0
  5.  Comprobar el funcionamiento:
    •  cat /proc/swaps
  • Montar en RAM el cache del sistema, para ello añadir a '/etc/fstab' la línea:
    • tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Más detalles sobre la optimización en:
http://askubuntu.com/questions/1400/how-do-i-optimize-the-os-for-ssds
http://www.howtogeek.com/62761/how-to-tweak-your-ssd-in-ubuntu-for-better-performance

Al instalar Kubuntu 12.04 de 64 bits el ordenador se volvió anormalmente lento y no funcionaba mi conexión a monitor externo, lo cual se solucionó actualizando los drivers de NVIDIA:
http://askubuntu.com/questions/133181/ubuntu-12-04-x64-very-slow-response-and-sluggishness

3 comentarios:

  1. Pues mira qué apañao! Tan sólo me queda la duda de lo que pones de los drivers y los escritorios. Se supone que detecta el hardware de cada uno de los ordenadores y entonces usa unos drivers y escritorios, u otros?

    ResponderEliminar
  2. Debería detectarlo, sí

    Una posible mejora sería cifrar las particiones, de modo que si alguien te manga el disco no pueda acceder a los datos personales o de trabajo que contiene.

    Y hay que tener en cuenta que un pendrive es un material frágil, así que probablemente desearemos añadir un sistema de copia de seguridad automatizado, por si las moscas.

    pvaldes

    ResponderEliminar
  3. Gracias por las sugerencias, de hecho Ubuntu permite cifrar particiones, aunque puede darnos problemas a la hora de conectar nuestro disco en otros sistemas, realizar nuestras copias de seguridad o recuperar información.

    Y respecto a la resistencia de los SSDs... https://www.youtube.com/watch?v=Iamd24zSl2I

    Ojo un SSD no es un pendrive!!! Una instalación de Ubuntu en pendrive va muy muy lenta...

    ResponderEliminar