Btrfs vs Ext4: funcionalidades, fortalezas y debilidades

Un sistema de archivos controla dónde, cómo y cuándo se almacenan y recuperan los datos de un dispositivo de almacenamiento. Un sistema de archivos eficiente es necesario para los procesos cotidianos del sistema. El kernel de Linux admite una variedad de sistemas de archivos. Los más utilizados son Ext4, Btrfs, XFS y ZFS, que es el sistema de archivos más reciente lanzado en 2018. Cada uno de estos sistemas de archivos tiene su propia forma de organizar datos, méritos y deméritos.

En este tutorial, comprobaremos Btrfs contra Ext4 sistema de archivos y tratar de comprender sus funcionalidades, fortalezas y debilidades.

Sistema de archivos Ext4

Ext4 es el sistema de archivos predeterminado para muchas distribuciones de Linux. Fue lanzado en octubre de 2008 con el kernel de Linux 2.6.28. Ext4 es la cuarta versión del sistema de archivos extendido y sucesora de Ext3.

Ext4 es un sistema de archivos robusto que se ha utilizado durante mucho tiempo. Es un sistema de archivos con diario, lo que significa que mantiene un “diario” de la ubicación de los archivos en el disco y realiza un seguimiento de cualquier otro cambio en el disco.

Sistema de archivos Btrfs

Btrfs o la Árbol B El sistema de archivos es un sistema de archivos de código abierto más nuevo y moderno. Es un sistema de archivos de copia en escritura (CoW) diseñado para sistemas Linux y su nombre se deriva del uso de árboles B para almacenar estructuras de archivos internas. En la configuración del sistema de archivos CoW, cuando se modifican los datos, el sistema de archivos copia, modifica y escribe los datos en una ubicación disponible en el sistema de archivos.

Dado que los datos se copian y modifican en una ubicación diferente en el sistema de archivos, esto elimina el riesgo de corrupción de datos en caso de un corte de energía, solo para dar una example. Es importante señalar que durante la modificación, los datos originales se conservan y permanecen sin cambios.

El mayor inconveniente del sistema de archivos Btrfs es la tendencia de los archivos grandes a fragmentarse fácilmente y, por lo tanto, se requiere una desfragmentación periódica.

El desarrollo de Btrfs comenzó en 2007 en Oracle, pero otras empresas importantes, como SUSE, Facebook, Redhat están contribuyendo a su desarrollo. Btrfs existe porque los desarrolladores querían expandir la funcionalidad de un sistema de archivos para incluir características como instantáneas, suma de comprobación, etc.

Funciones de BTRFS

Algunas de las características interesantes que ofrece btrfs incluyen:

1) Soporte para archivos grandes

El sistema de archivos Btrfs puede admitir hasta 264 bytes, que es el equivalente a 16EiB o exbibytes! ¡Eso es un tamaño de almacenamiento masivo!

2) Almacenamiento de archivos eficiente

Btrfs proporciona almacenamiento de archivos basado en extensiones. Esto se describe como un área contigua reservada para el almacenamiento de archivos. La sobrecarga en los metadatos de archivos se reduce en gran medida y los metadatos pequeños contribuyen directamente a una mayor eficiencia y rendimiento del almacenamiento.

Aún con un almacenamiento de archivos eficiente, Btrfs proporciona un almacenamiento eficiente para archivos más pequeños al empaquetarlos como metadatos.

3) Soporte RAD incorporado

El sistema de archivos Btrfs incluye soporte para RAID 0 (eliminación de datos), 1 (duplicación de datos) y RAID 10 (eliminación y duplicación de datos)

4) Desfragmentación y cambio de tamaño en línea

Con Btrfs, es posible realizar desfragmentación y cambio de tamaño incluso cuando el sistema de archivos está en línea.

5) Asignación dinámica de inodos

Btrfs proporciona una asignación dinámica de inodos. Asigna inodos a los archivos cuando sea necesario y esto ayuda a prevenir el agotamiento de los inodos en caso de que tenga muchos archivos pequeños en el sistema de archivos.

6) Instantáneas grabables y de solo lectura

Otra característica maravillosa que ofrece Btrfs es la compatibilidad con instantáneas. Puede crear fácilmente una instantánea de su sistema de archivos y aprovecharla para restaurar datos en otro lugar en caso de eliminación accidental o corrupción de datos.

7) Soporte para sumas de verificación

Otra característica importante es la compatibilidad con sumas de comprobación. Las sumas de comprobación son pequeños bloques de datos que evitan la posibilidad de corrupción silenciosa de archivos o datos, algo que otros sistemas de archivos no proporcionan. Las sumas de comprobación se almacenan en los sistemas de archivos y vigilan continuamente los signos de errores del sistema de archivos y la corrupción de los datos.

8) Soporte optimizado para unidades SSD

Las unidades SSD (unidades de estado sólido) brindan un grado decente de velocidad, confiabilidad y estabilidad en una PC. El sistema de archivos Btrfs mejora aún más su rendimiento al optimizar su rendimiento de lectura y escritura y, por lo tanto, mejora la vida útil del SSD.

Comparación entre los sistemas de archivos Ext4 y Btrfs

Háganos saber hacer una comparación entre los dos sistemas de archivos en varias características clave.

1. Soporte de diario y copia en escritura

Ésta es la primera gran diferencia que surge entre los dos sistemas de archivos. El sistema de archivos Ext4 es un sistema de archivos de diario, mientras que Btrfs es un sistema de archivos de copia en escritura (CoW).

2. Soporte para múltiples dispositivos

La distribución de un único sistema de archivos en varios dispositivos ofrece ciertas ventajas, como una mayor capacidad y una mayor fiabilidad. Btrfs tiene soporte RAID incorporado que facilita la administración de múltiples dispositivos a nivel del sistema de archivos.

El sistema de archivos Ext4 no tiene soporte integrado para múltiples dispositivos. Tendrá que utilizar administradores de volumen lógico de terceros como LVM 2 para abarcar su sistema de archivos en varios dispositivos y discos.

3. Desduplicación a nivel de sistema de archivos:

La deduplicación es una función que elimina automáticamente copias duplicadas de datos de un sistema de archivos para ahorrar espacio en el disco. El sistema de archivos Btrfs admite la deduplicación reemplazando bloques idénticos en el sistema de archivos con enlaces lógicos a una sola copia del bloque. Esta función ahorra una gran cantidad de espacio en disco.

El sistema de archivos Ext4 no admite la deduplicación.

4. Compresión a nivel de sistema de archivos

El Btrfs utiliza algoritmos de compresión para admitir la compresión de datos a nivel del sistema de archivos. Esto significa que los datos se comprimirán automáticamente a medida que se escriban en el sistema de archivos.

El sistema de archivos Ext4 no tiene soporte de compresión incorporado.

5. Tamaño máximo de partición y archivo

La partición más grande que puede hacer con ext4 es 1 exbibyte, el equivalente a alrededor de 1.152.921,5 terabytes. El tamaño máximo de archivo es de 16 TiB, que es mucho más grande que cualquier disco duro que un consumidor habitual pueda comprar actualmente.

Btrfs admite una partición máxima y un tamaño de archivo de hasta 16Eib.

Ext4 le permite crear un máximo de 232 (= 4,294,967,296 ~ = 4 mil millones) archivos. Btrfs le permite crear un máximo de 264 (= 18,446,744,073,709,551,616 ~ = 18 quintillones) archivos.

6. Soporte de suma de comprobación / ECC

El sistema de archivos Btrfs utiliza la suma de comprobación CRC32C para garantizar la integridad de los datos y evitar la corrupción de los mismos. El sistema de archivos Ext4 no garantiza la integridad de sus datos.

7. Soporte de instantáneas

El sistema de archivos Btrfs admite solo lectura y escritura instantáneas del archivo. Una instantánea es un subvolumen que comparte sus datos y metadatos con otro subvolumen, utilizando capacidades COW.

El sistema de archivos Ext4 no admite la creación de instantáneas del sistema de archivos.

8. Subasignación de bloques y empaque de cola

La subasignación de bloques es una función en la que los archivos grandes se almacenan en bloques mientras se hace un uso eficiente del espacio de cola al final del último bloque. La subasignación de bloques es un método para almacenar partes de otro bloque de archivos en el bloque de cola y ahorrar espacio en el disco.

Btrfs ha sido diseñado para aprovechar este espacio disponible y puede empaquetar las colas de varios bloques con otros archivos. Esto mejora el rendimiento del sistema de archivos y aumenta la eficiencia del almacenamiento.

Ext4 no es compatible con el empaque de la cola.

Conclusión

El sistema de archivos Ext4 es la última versión del sistema de archivos extendido. Ext4 ha existido durante mucho tiempo y ha demostrado ser confiable y estable. Se recomienda para uso diario. En caso de que se produzca un corte de energía, es probable que ext4 haya mantenido sus datos guardados a salvo.

Ext4 se centra en el alto rendimiento y la escalabilidad. Es una opción sólida como una roca, ya que ha existido durante mucho tiempo, trayendo consigo todos los años de pruebas del sistema y correcciones de errores. Independientemente de todas sus funciones, no admite la deduplicación, la compresión ni el cifrado de datos.

Btrfs, por otro lado, es un sistema de archivos moderno que puede manejar hasta dieciséis veces los datos de Ext4. Esta mejora es especialmente importante ya que Linux ahora se usa dentro de las entidades empresariales. Btrfs tiene muchas características buenas mencionadas anteriormente, como copia en escritura, instantáneas, sumas de verificación y duplicación. Btrfs está creciendo a un ritmo rápido, pero todavía no se considera estable.

Hasta ahora, ext4 parece ser una opción mucho mejor en el sistema de escritorio, ya que es el sistema de archivos predeterminado y es más rápido que el btrfs al transferir archivos. Vale la pena investigar el sistema de archivos btrfs, pero reemplazar completamente el ext4 en Linux de escritorio podría ser varios años más tarde.