Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 1 de julio de 2011

btrfs (Butter FS) en Ubuntu 11.04


Btrfs (B-tree FS o normalmente pronunciado "Butter FS") es un sistema de archivos copy-on-write anunciado por Oracle Corporation paraGNU/Linux.
Su objetivo es sustituir al actual sistema de archivos ext3, eliminando el mayor número de sus limitaciones, en especial con el tamaño máximo de los ficheros; además de la adopción de nuevas tecnologías no soportadas por ext3. Se afirma también que se "centrará en la tolerancia a fallos, reparación y fácil administración".
Theodore Ts'o, desarrollador de los sistemas ext3 y ext4, dice que Btrfs "tiene algunas de las ideas de diseño de Reiser4"[cita requerida] y que"el sistema de archivos tiene soporte para algunas características avanzadas que están diseñadas para incorporarse en ZFS".[cita requerida]
La versión 2.6.29 del núcleo Linux ya soporta de manera experimental este sistema de archivos.

CARACTERÍSTICAS:
Btrfs está siendo desarrollado intensivamente y muchas de las características finales, como por ejemplo detectar si un volumen está lleno, no han sido incorporadas a la versión de pruebas. Las características finales presentadas son:
  • Empaquetado eficiente en espacio de archivos pequeños y directorios indexados
  • Asignación dinámica de inodos (no se fija un número máximo de archivos al crear el sistema de archivos)
  • Snapshots escribibles y snapshots de snapshots
  • Subvolúmenes (raíces del sistema de archivos internas separadas)
  • Mirroring y Stripping a nivel de objeto
  • Comprobación de datos y metadatos (alta seguridad de integridad)
  • Compresión
  • Copy-on-write del registro de todos los datos y metadatos
  • Gran integración con device-mapper para soportar múltiples dispositivos, con varios algoritmos de RAID incluidos
  • Comprobación del sistema de archivos sin desmontar y comprobación muy rápida del sistema de archivos desmontado
  • Copias de seguridad incrementales eficaces y mirroring del sistema de archivos
  • Actualización desde ext3 a Btrfs, y reconversión a ext3 al momento de la actualización
  • Modo optimizado para SSD (activado a través de una opción de montaje)
  • Defragmentación sin desmontar

(Fuente Wikipedia)

(Fuente phoronix)


Si comparamos EXT4 con Btrfs podemos ver que las mayores ventajas las podemos encontrar cuando usamos la compresión (o también se podia extender a la encriptación), ya que sinó usamos estas ventajas, el EXT4 és más rápido en condiciones normales. Así pues, nos debemos plantear cuando es conveniente usar un sistema de archivos o otro dependiendo de para que lo vayamos a usar.

En mi caso particular, necesitaba montar un servidor de respaldo (backup) en donde la velocidad de acceso a los datos no es crítica, pero si en cambio el espacio. Así pues, Btrfs me ofrecía la compresión transparente de datos que necesitaba. A la hora de montar un sistema btrfs, podemos indicarle como opciones de montaje si queremos que la unidad comprima transparentemente o no. También podemos usar otra opción que fuerza aún más a la compresión aunque los archivos a comprimir no lo necesiten. Es decir, podemos comprimir 'inteligentemente' o 'sin discriminar' ningún archivo. Los resultados de mis pruebas fueron estos:

/dev/sdb1             1,8T  1,7T   54G  97% /root/Respaldo/disc1
/dev/sde1             1,8T  1,7T   35G  99% /root/Respaldo/disc4
/dev/sdc1             1,9T  1,3T  553G  71% /root/Respaldo/disc2


En donde el disc2 es el disco con la opción -o compress. Los demás estan en ext4 y contienen casi la misma información.

INSTALACIÓN:

sudo apt-get install btrfs-tools

Este paquete contiene las utilidades (mkfs, fsck, btrfsctl) usadas para trabajar con btrfs y una utilidad (btrfs-convert) para crear un sistema de archivos btrfs desde uno ext3.

Como el kernel de Ubuntu 11.04 ya está preparado para este sistema de archivos (no como reiser4 o reiserfs), simplemente tendremos que formatear la unidad como solemos hacer habitualmente, pero con la nueva utilidad:

sudo mkfs.btrfs /dev/sda1

Nos dirá algo como esto:

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/sdd1
nodesize 4096 leafsize 4096 sectorsize 4096 size 1.82TB
Btrfs Btrfs v0.19

Como es un sistema de archivos en desarrollo, nos avisa de que seamos prudente con el uso que le demos.

Ahora podemos montarlo con diversas opciones. Voy a exponer las que probé en referencia a la compresión transparente:

Compresión de los archivos que comprensiblemente son susceptibles de ser comprimidos:

mount -o compress /dev/sdd1 /root/Respaldo/disc3

Compresión de todos los archivos:
mount -o compress-force /dev/sdd1 /root/Respaldo/disc3

Una cosa que tenemos que tener en cuenta es que el comando du no muestra lo que ocupa en el disco, sino la información del tamaño de los archivos y lo que ocuparía sino estuviera comprimido. Esto es:


root@XXXXX:/root/Respaldo/disc2# du -sch *
1,7T total

root@XXXXX:/root/Respaldo/disc2# df -h
S.ficheros            Tam.  Usado Disp. % Uso Montado en
/dev/sdc1             1,9T  1,3T  553G  71% /root/Respaldo/disc2

(Prueba realizada en una partición montada con la opcion -o compress)

Enlaces de interés:





That u don't know what you've got 'til it's gone