Btrfs. El nuevo sistema de ficheros para Linux

Transcripción

Btrfs. El nuevo sistema de ficheros para Linux
Btrfs. El nuevo sistema de
ficheros para Linux
Un nuevo chico en Linux
La historia de los sistemas de ficheros para el núcleo Linux comienza en 1992, cuando Rémi Card
diseña un sistema de ficheros adecuado para Linux y que sustituya al académico sistema Minix.
Este sistema de ficheros se denominó ext (de ext-endido), y la historia de este sistema de ficheros
está ligada al desarrollo del núcleo Linux.
Otros sistemas de ficheros aparecieron por el camino (XFS, ReiserFS,...), pero indudablemente ext
ha ido solucionando las limitaciones que se le han ido achacando.
Sin embargo en 2007 se produce una crisis en este área del núcleo. La cuarta versión de ext no es
todavía estable y el resto de sistemas adolece de algunas limitaciones que serían subsanadas en ext4.
Esto favorece la aparición de proyectos alternativos como btrfs que será pronto un lugar en el que
trabajar para ofrecer a Linux un sistema de ficheros de la talla de ZFS de Sun, un sistema de
ficheros de referencia entonces.
Btrfs aparece en la versión 2.6.29 de Linux (enero 2009), y a pesar de que en la versión actual de
Linux (2.6.32) aparece como un módulo altamente experimental y de la recomendación de no usarlo
para datos críticos, lo cierto es que cada día más proyectos y distribuciones lo ofrecen como una
alternativa viable y con futuro. En muchos foros se anuncia que btrfs es el camino a seguir. Como
usuario de btrfs, debo reconocer que estoy muy contento con este sistema de ficheros.
Algunas características de btrfs:
•
•
•
•
•
•
•
•
•
Adición y eliminación de dispositivos en línea.
Crecimiento y reducción de volúmenes en línea.
Compresión transparente.
Instantáneas y clonación.
Desfragmentación en línea.
Balanceo en línea.
RAID-0 y RAID-1.
Conversión instantánea de sistemas de ficheros ext3 y ext4.
Opciones especiales para dispositivos SSD (Discos de Estado Sólido).
Quizá esta última característica, sea interesante por el auge que se prevé de estos dispositivos en un
corto plazo.
Trabajando con btrfs
En este artículo se muestran los primeros pasos para trabajar con sistemas de ficheros btrfs usando
el intérprete de comandos. El trabajo con btrfs no es muy diferente al que se realiza con el resto de
sistemas de ficheros como se podrá comprobar.
Debemos en primer lugar asegurarnos que el sistema btrfs está soportado en el núcleo Linux y que
disponemos de las herramientas para trabajar con este sistema de ficheros. Si usamos una
distribución Linux actual, seguramente ya tengamos todo instalado y preparado, si no tendremos
que compilar el núcleo con soporte para btrfs e instalarlos las herrmientas que están disponibles en
la página de btrfs.
Comenzaremos creando el sistema de ficheros en un dispositivo, por ejemplo en /dev/sde.
# mkfs -t btrfs /dev/sde
Podemos a continuación montar el sistema de ficheros, por ejemplo en /mnt/btrfs:
# mount -t btrfs /dev/sde /mnt/btrfs
Ahora lo podemos usar con toda normalidad:
# cp /root/documento.odp /mnt/btrfs
Al montar cualquier sistema de ficheros, el núcleo Linux comprueba la integridad de éstos antes de
montarlos. Si deseamos hacerlo manualmente podemos usar el comando:
# btrfsck /dev/sde
Conviene recordar que el chequeo de los sistemas de ficheros deben realizarse cuando éstos no han
sido aún montados, podríamos perder datos si ignoramos ésta advertencia.
Un inconveniente del uso actual de btrfs es la poca integración que tiene con las herramientas de
gestión de discos que incorporan las distribuciones Linux actuales (por ejemplo df). Al trabajar con
estas herramientas debemos tener en cuenta que nos pueden indicar datos incorrectos, como el
espacio disponible en el sistema de ficheros. Para un sistema de 1GB, la herramienta df informará
que queda disponible un 25% del sistema de ficheros cuando realmente ya está lleno. Este 25% se
usa para los metadatos del sistema de ficheros y no puede ser usado por el usuario.
Por tanto, para conocer de forma precisa la cantidad de espacio disponible/usado en el sistema de
ficheros deberemos usar el comando:
# btrfs-show /dev/sde
Muchas de las operaciones que se pueden realizar con este sistema de ficheros (desfragmentación,
instantáneas, modificación del tamaño, etc.) se realizan usando el comando:
# btrfsctl
Opciones para SSDs
En un disco duro tradicional, la fragmentación afecta al rendimiento debido a
los movimientos de la cabeza en el disco. En los discos SSD (Discos de
Estado Sólido) la fragmentación no es un aspecto tan importante.
La opción de montaje ssd permite indicar al sistema btrfs que el acceso a
nuestro disco no se ve muy afectado por la desfragmentación y optimiza el
almacenamiento teniéndolo en cuenta.
Es conveniente por tanto usar esta opción si usamos estos discos de última
generación. Para ello, la indicaremos en el momento de montar nuestro
sistema de ficheros o indicarla en el fichero del sistema: /etc/fstab, por ejemplo.
# mount -t btrfs -o ssd /dev/sde /mnt/btrfs
Conclusiones
Btrfs ha venido para quedarse, es un sistema de ficheros que está cobrando importancia debido a su
rendimiento y escalabilidad. Además su características con discos SSD lo hacen una buena opción
de futuro
El proyecto btrfs necesita ayuda. Si te animas a usarlo y encuentras cualquier problema, puedes
crear una imagen usando el comando btrfs-image y enviarlo a los desarrolladores (Todos los datos
presentes en el disco serán eliminados, menos los necesarios para averiguar la causa del problema),
por ejemplo:
# btrfs-image -c 9 /dev/sde /tmp/btrfs_dump.z
Enlaces
•
•
•
Breve historia de btrfs (en inglés): http://lwn.net/Articles/342892/
Comparativa Ext4/btrfs (en inglés): http://tinyurl.com/ygzs6wp
Página de btrfs (en inglés): https://btrfs.wiki.kernel.org/
José María Alonso Josa
Profesor, autor y desarrollador
[email protected]
Junio 2010
Este artículo está licenciado bajo la licencia
Creative Commons Reconocimiento-No comercial-Compartir
http://creativecommons.org/licenses/by-nc-sa/3.0/es/

Documentos relacionados