¿Es btrfs el sistema de archivos que estábamos esperando?

Digásmolo: btrfs es un sistema de archivos moderno para Linux.

Alguien leyendo esto seguramente va a pensar:

¿Qué está diciendo? ¿Cuál es la novedad? ¿Acaso no se puede rastrear los orígenes de btrfs por lo menos hasta el año 2007? ¿No es cierto que SUSE lo usa desde 2012?

Butter Ef Es

Photo by Nathan Dumlao on Unsplash

Sí, todo es cierto, sin embargo, veamos la siguiente tabla:

Año Filesystem
1993 XFS
1993 NTFS
1998 HFS+
1998 FAT32
2005 ZFS
2006 exFAT
2008 ext4
2009 btrfs
2016 APFS

La fecha de btrfs la situamos en 2009, ya que fue el año en que fue incorporado en Linux. En comparación a los demás sistemas de archivos de Linux es el más moderno (sí, ya se que existe stratis). Otro objetará diciendo que cronológicamente no hay mucho diferencia entre ext4 y btrfs. Sin embargo, leamos lo que dijo Theodore Ts'o:

Aunque ext4 tiene características mejoradas, no es un avance significativo, usa tecnología vieja y es una solución a corto plazo.

Y respecto a btrfs tuvo estos comentarios auspiciosos:

ofrece mejoras en escalabildad, confiabilidad, y facilidad de administración

Ah, ¿Ya dije que Ts'o es uno de los principales desarrolladores del sistema de archivos ext4?

Comparado con los demás sistemas operativos la ventaja es mucho más clara (HFS+ y NTFS). El sistema de archivos APFS es cierto es relativamente nuevo y apareció junto con macOS High Sierra. Es decir: Apple se tomó casi 20 años en crear un nuevo sistema de archivos. También hay que decir que en cuanto a funcionalidades, APFS y btrfs están prácticamente igualados.

Btrfs ofrece una buena cantidad de características, las que me parece importante resaltar son:

  • Subvolúmenes: Es un directorio que funciona como un volumen. Como tal, tiene su propia espacio de inodos. Por ejemplo:

Cada subvolumen tiene su propio espacio de inodos

Cada uno de estos archivos muestran un dispositivo diferente:

Cada volumen tiene un número de dispositivo distinto

No obstante, cabe aclarar que no son dispositivos de bloque distintos como podría ser un volumen lógico en LVM.

Cada subvolumen puede ser montado con diferentes opciones e incluso en un +arbol completamente independiente para el usuario o aplicaciones que accede al mismo.

  • CoW: Los usuarios de Linux estamos acostumbrados a usar enlaces duros y enlaces simbóicos. Cada uno tiene sus ventajas y limitaciones. Esta funcionalidad permite copiar un archivo usando otro inodo pero sin consumir más espacio, ya que referencia en realidad al archivo original. Si se hace una modificación en la copia, los metadatos comienzan a apuntar a los nuevos datos. Gracias esta característica podemos hacer subvolumenes que contengan una instantánea de otro subvolumen existente. Todo esto de una manera mucho más consistente que con LVM.

  • Compresión: Otra de las ventajas es la compresión transparente, la cual puede ser por el sistema de archivo entero, por directorio o por archivo (pero por ahora, no por subvolumen).

Hay muchas razones para creer que btrfs puede y/o debería reemplazar a ext4 o xfs. De paso recordemos que xfs no soporta achicar un sistema de archivos y si pensamos zfs como una buena opción, hay problemas tanto de licenciamiento como en rendimiento (ver el artículo de Valerie Aurora, creadora de relatime y autoridad en la materia). Las ediciones de Fedora 33 para estaciones de trabajo y SUSE/openSUSE usan btrfs como sistema de archivos predeterminado. De esta manera podríamos prescindir de LVM e incluso de mdadm para RAID (btrfs tiene su propio soporte para RAID - aunque hay que tener en cuenta que RAID[56] no se considera estable aun). El proyecto btrfs debería tener cuidado de sí mismo, tiene tantas funcionalidades que como dice el dicho "lo perfecto es enemigo de lo bueno" (Ah, por cierto el autor de la frase es de Voltaire, alguien que precisamente no se conformaba con poco). Es decir, el único riesgo que veo en el futuro es convertirse en algo tan complejo que sea difícil de administrar o mantener. Veremos en unos años si logra posicionarse como el sistema de archivos de código abierto más utilizado.

Fuentes y más recursos

Comentarios

Comments powered by Disqus

MentorCruise