Disminuyendo el espacio en disco con Btrfs

Btrfs es un sistema de ficheros que entre otras características posee la compresión de archivos de forma automática.

¿Esto que significa? Que al guardar un archivo, es el propio sistema el que lo comprime antes de almacenarlo en disco. El usuario no nota nada en especial. Cuando pide leer el archivo, el sistema lo descomprime por sí solo.

Esto tiene una ventaja y un problema evidentes. La ventaja es el ahorro de espacio en disco (he llegado a meter un Lubuntu con 3Gb de aplicaciones instaladas en 1Gb). Esto lo hace ideal para Netbooks o tabletas con poco espacio en disco (por ejemplo el Eeepc con sólo 4Gb de disco).

El problema es que se tiene la CPU más ocupada de lo que es habitual comprimiendo y descomprimiendo datos. Paradójicamente esto no tiene porqué suponer una bajada de rendimiento. En el caso de archivos con una tasa de compresión  alta (que ocupan muchas megas pero al comprimirlos ocupan muy poco) el rendimiento se incrementa pues los accesos a disco disminuyen. Habitualmente leer o escribir de un disco duro es un proceso muy lento.

He hecho la prueba de activar la compresión en un Lubuntu 14.04 instalado en un Acer Travelmate 240. Estamos hablando de un ordenador portátil comprado en el año 2003. ¡Hace más de 10 años! No he notado bajada de rendimiento ninguna para tareas habituales como edición de texto con Libreoffice, navegar por el sistema de ficheros, programar o ver algún vídeo con VLC. El equipo es viejo y falla en lo que fallan los equipos viejos, como intentar abrir algunas páginas web con javascript muy pesado, pero eso me temo que no es culpa de Btrfs.

En teoría debería dar problemas con archivos de gran tamaño, en los que se escribe de forma aleatoria, como pueden ser máquinas virtuales y bases de datos. ¿Qué es un archivo de gran tamaño? Dependerá de la potencia de tu ordenador.

Vamos al lío…

Voy a explicar la instalación de Lubuntu 14.04 con Btrfs y compresión activada.

En la wiki de Arch Linux se puede encontrar más información sobre las opciones de Btrfs.

Preparamos el equipo

Se va a hacer una instalación completa de Lubuntu, por lo que los datos guardados en el equipo se borrarán, ergo, hay que hacer copia de seguridad.

El equipo debe tener conexión a Internet.

El instalador

Se descarga desde la página oficial de Lubuntu el CD de instalación, descargaremos la versión normal, la que no pone ‘alternate’.

Creamos nuestro CD o pendrive de instalación y arrancamos con éste el ordenador.

Antes de iniciar la instalación

El CD nos preguntará en qué modo lo queremos arrancar, le diremos “Probar Lubuntu”:

01-probar-Lubuntu

Cuando Lubuntu esté ya arrancado abrimos un terminal y tecleamos:
sudo apt-get install btrfs-tools

Captura de pantalla de 2014-04-22 08:51:36

El instalador de Lubuntu tiene un error, no instala las herramientas de btrfs. Con lo anterior lo solucionamos.

Después iniciamos el instalador:

Captura de pantalla de 2014-04-22 08:52:10

La partición

Cuando llegamos al apartado de la partición en la que instalar Lubuntu, seleccionamos ‘Otras opciones’:

Captura de pantalla de 2014-04-22 08:53:35

Marcamos o creamos la partición en la que realizar la instalación y seleccionamos el sistema de ficheros Btrfs:

Captura de pantalla de 2014-04-22 08:54:09

Después continuamos normalmente la instalación, pero cuando nos pregunte por reiniciar, le diremos que deseamos seguir probando:

Captura de pantalla de 2014-04-22 08:59:45

Compriendo el disco

Abrimos el navegador de archivos y montamos la partición Btrfs. En dicha partición habrá dos directorios:

@
@home

Captura de pantalla de 2014-04-22 09:00:58

Debemos entrar en cada uno de ellos con un terminal (la tecla F4 abre uno en el directorio donde estemos) y tecleamos:

sudo btrfs filesystem defragment -r -v -czlib .

Captura de pantalla de 2014-04-22 09:03:03

Con este comando realizamos la compresión del sistema de archivos. Lleva su tiempo.

Una vez comprimidos los directorios @ y @home, debemos ir al directorio @ y editar el archivo etc/fstab. Es decir, suponiendo que estamos en ya en @:

sudo leafpad @/etc/fstab

Captura de pantalla de 2014-04-22 09:05:08

Y se cambian las opciones de las líneas btrfs de defaults a (se borra defaults y se pone lo siguiente):

rw,noatime,compress=zlib,discard,space_cache,autodefrag,inode_cache

Captura de pantalla de 2014-04-22 09:49:55

Sólo queda reiniciar y a disfrutar.

El espacio en disco

Después de reiniciar un df -h muestra el espacio ocupado de disco:

Captura de pantalla de 2014-04-22 09:59:19

Se puede ver que el espacio ocupado en disco es 971Mb. Aproximadamente 1Gb. Pero cuando se le pregunta al navegador de archivos por el espacio en disco nos responde que es de 2’8Gb, ¡casi 3Gb! Es decir, que los archivos se han comprimido para ocupar de 3Gb a sólo 1Gb 😀

Captura de pantalla de 2014-04-22 09:59:57

De momento lo estoy usando con cautela, es algo nuevo y suele tener fallos, pero hasta la fecha no he encontrado ningún problema.

Anuncios
Esta entrada fue publicada en Software. Guarda el enlace permanente.

5 respuestas a Disminuyendo el espacio en disco con Btrfs

  1. Pingback: Disminuyendo el espacio en disco con Btrfs | PlanetaLibre

  2. Muy bueno, no conocia casi nada el formato BTRFS, muchas gracias

  3. Yoyo dijo:

    Una pregunta ¿Por qué hay que quitar la opción defaults en el fstab?

    Yo uso SSD + BTRFS y además de todas las demás opciones que vienen en la wiki de Arch le tengo dejado defaults en la línea del fstab.

    Un saludo.

    • acisif dijo:

      Básicamente por mi inexperiencia en el uso de btrfs. No sé que opciones introduce defaults, y las opciones que dan en la Wiki de Arch Linux te permiten acelerar mucho el disco.

      La lista de opciones se pueden ver aquí: https://btrfs.wiki.kernel.org/index.php/Mount_options

      Curiosamente si tecleas “man mount”. La ayuda del comando te muestra las opciones de cada sistema de ficheros pero para btrfs no hay nada.

      • Yoyo dijo:

        Ok, gracias por responder.

        Ye me había leído la wiki de btrfs, por ahora y según he visto en más wikis y sitios web, creo que voy a mantener la opción defaults.

        Un saludo

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