Comparación entre sistemas de archivos BTRFS y XFS

Comparación entre sistemas de archivos BTRFS y XFS
Hay muchos sistemas de archivos disponibles para su uso con Linux. Los sistemas de archivos de Linux más comunes incluyen Ext4, BTRFS, XFS y ZFS. Cada sistema de archivos tiene sus casos de uso, pros y contras únicos. Debido a la variedad de opciones disponibles, es posible que tenga dificultades para decidir qué sistema de archivos usar.Para ayudarlo con su elección, este artículo compara los sistemas de archivos XFS y BTRFS. Si tiene dificultades para decidir si usar el sistema de archivos XFS o el sistema de archivos BTRFS, entonces este artículo debería ayudar. Empecemos!

Introducción a los sistemas de archivos XFS y BTRFS

Sistema de archivos XFS: XFS es un sistema de archivos de diario de 64 bits de alto rendimiento. Originalmente fue desarrollado por Silicon Graphics, Inc. en 1993 para el sistema operativo IRIX y luego se portó al núcleo de Linux en 2001.

Sistema de archivos BTRFS: BTRFS o el sistema de archivos B-tree es un sistema de archivos moderno de copia en escritura (vaca). Es nuevo en comparación con el sistema de archivos EXT. BTRFS fue diseñado originalmente para los sistemas operativos de Linux por Oracle Corporation en 2007. En noviembre de 2013, el sistema de archivos BTRFS se declaró estable para el núcleo de Linux.

Comparación de características

Los sistemas de archivos XFS y BTRFS fueron diseñados para resolver diferentes tipos de problemas. Aunque el objetivo de diseño del sistema de archivos XFS era diferente al del sistema de archivos BTRFS, debido a que ambos son sistemas de archivos, podemos compararlos en profundidad.

  • Tamaño máximo de partición: El sistema de archivos XFS admite tamaños de partición de hasta 1 byte menos de 8 EIB (8 EIB - 1 byte).
  • El sistema de archivos BTRFS admite tamaños de partición de hasta 16 EIB.
  • Tamaño máximo de archivo: El sistema de archivos XFS admite tamaños de archivo de hasta 1 byte y menos de 8 EIB (8 EIB - 1 byte).
  • El sistema de archivos BTRFS admite tamaños de archivo de hasta 16 EIB.
  • Longitud máxima del nombre de archivo: El sistema de archivos XFS admite nombres de archivo de hasta 255 caracteres (255 bytes) de longitud.
  • El sistema de archivos BTRFS también admite nombres de archivo de hasta 255 caracteres (255 bytes) de longitud.
  • Permitidos caracteres en directorio y nombres de archivo: El sistema de archivos XFS permite cualquier caracteres excepto el / y NULO (\ 0) caracteres en el directorio y los nombres de archivo.
  • El sistema de archivos BTRFS también permite cualquier personaje, excepto el / y NULO (\ 0) caracteres en el directorio y los nombres de archivo.

NOTA: No puede crear un archivo o directorio con el nombre . y En cualquiera de los sistemas de archivos XFS o BTRFS.

  • Longitud máxima del camino: El sistema de archivos XFS no tiene ningún límite a la longitud de la ruta de un archivo o directorio. Por lo tanto, puede crear estructuras de directorio profundas y mantener sus archivos en estas estructuras.
  • Lo mismo es cierto para el sistema de archivos BTRFS.
  • Número máximo de archivos: Puedes crear un máximo de 264 (= 18,446,744,073,709,551,616 ~ = 18 quintillones) en un sistema de archivos XFS.
  • Lo mismo es cierto para el sistema de archivos BTRFS.
  • Método de asignación de inodo: Un inodo es una estructura de datos del sistema de archivos utilizada para describir un archivo o un directorio. Por lo tanto, un solo directorio o archivo requiere un inodo, dos directorios o archivos requerirán dos inodos, y así sucesivamente.
  • En el sistema de archivos ext4, define el número de inodos que el sistema de archivos puede admitir al crear el sistema de archivos. No puede cambiar esto después de que se haya creado el sistema de archivos. Si crea demasiados archivos pequeños, es posible que quede espacio de disco gratuito en su sistema de archivos, pero no podrá crear nuevos archivos/directorios a menos que tenga inodos gratuitos. Esta es una limitación importante para el sistema de archivos ext4.
  • A diferencia del sistema de archivos ext4, la asignación de inode es flexible en el sistema de archivos XFS. Entonces, el sistema de archivos puede agregar tantos inodos como sea necesario y nunca se quedará sin inodos.
  • Lo anterior también es cierto para el sistema de archivos BTRFS.
  • Soporte de suma de verificación/ECC: El sistema de archivos BTRFS mantiene la suma de verificación CRC32C de los datos y los metadatos almacenados en el sistema de archivos. Entonces, en el caso de la corrupción de datos, el sistema de archivos BTRFS puede detectar la corrupción y recuperar los archivos o metadatos corruptos.
  • El sistema de archivos XFS solo mantiene la suma de verificación CRC32 de los metadatos. No mantiene una suma de verificación de los datos almacenados en el sistema de archivos, a diferencia del sistema de archivos BTRFS.
  • Soporte de revista y copia en escritura: El sistema de archivos XFS es un sistema de archivos de diario. No tiene soporte de copia en escritura (vaca).
  • El sistema de archivos BTRFS es un sistema de archivos Copy-on-write (COW) y no tiene soporte de revista.
  • Forma del sistema de archivos: El sistema de archivos XFS no puede tomar instantáneas del sistema de archivos.
  • El sistema de archivos BTRFS puede tomar instantáneas del sistema de archivos. Con BTRFS, puede tomar instantáneas de solo lectura y instantáneas de escritura del sistema de archivos.

NOTA: La instantánea del sistema de archivos es una característica importante. Puede tomar una instantánea de su sistema de archivos utilizando esta función antes de intentar una acción arriesgada. Si las cosas no salen según lo planeado, una instantánea le permite volver a un estado anterior en el que todo en el sistema funcionó. Esta es una característica incorporada del sistema de archivos BTRFS. No necesita herramientas o software de terceros para generar una instantánea de un sistema de archivos BTRFS.

  • Cifrado de nivel de sistema de archivos: El sistema de archivos BTRFS no admite el cifrado a nivel de sistema de archivos.
  • Lo mismo es cierto para el sistema de archivos XFS.
  • Deduplicación a nivel de sistema de archivos: El sistema de archivos BTRFS admite la deduplicación a nivel del sistema de archivos. No necesita ninguna herramienta o software de terceros para usar esta función.
  • El sistema de archivos XFS también tiene soporte de deduplicación, pero la función de deduplicación del sistema de archivos XFS sigue experimental.

NOTA: La depulación es una técnica para eliminar copias duplicadas de datos del sistema de archivos y mantener solo una copia de los datos (datos únicos) en el sistema de archivos. Esta técnica se utiliza para ahorrar espacio en disco.

  • Soporte de múltiples dispositivos: El sistema de archivos BTRFS admite múltiples dispositivos e incluye soporte de RAID incorporado. El sistema de archivos BTRFS tiene un Administrador de volumen lógico incorporado (LVM) para agregar múltiples dispositivos o particiones de almacenamiento a un solo sistema de archivos BTRFS. Un solo sistema de archivos BTRFS puede abarcar en múltiples discos y particiones.
  • El sistema de archivos XFS no admite múltiples dispositivos, lo que significa que no puede abarcar un solo sistema de archivos XFS en múltiples discos o particiones. Para combinar múltiples dispositivos y particiones de almacenamiento en un sistema de archivos XFS, debe usar administradores de volumen lógicos de terceros, como LVM 2. Para configurar RAID, debe usar herramientas de terceros como aturdimiento o mada.
  • El sistema de archivos XFS fue diseñado para ejecutar operaciones de E/S (entrada/salida) en paralelo. Si abarca el sistema de archivos XFS a través de múltiples dispositivos utilizando LVM 2 o un administrador de volumen lógico diferente, el rendimiento del sistema de archivos se aumentará.
  • Compresión a nivel de sistema de archivos: El sistema de archivos XFS no incluye soporte de compresión a nivel de sistema de archivos incorporado.
  • El sistema de archivos BTRFS incluye soporte de compresión a nivel de sistema de archivos incorporado. Esta característica le permite comprimir un solo directorio, un solo archivo o todo el sistema de archivos para guardar el espacio de disco.
  • Capacidades de cambio de tamaño del sistema de archivos fuera de línea: No puede crecer (aumentar el tamaño del sistema de archivos) o encoger (disminuir el tamaño del sistema de archivos) un sistema de archivos XFS mientras el sistema de archivos no está montado.
  • Puede crecer (aumentar el tamaño del sistema de archivos) o encoger (disminuir el tamaño del sistema de archivos) un sistema de archivos BTRFS mientras el sistema de archivos no está montado.
  • Capacidades de cambio de tamaño del sistema de archivos en línea: Puede crecer (aumentar el tamaño del sistema de archivos) un sistema de archivos XFS mientras se monta el sistema de archivos, pero no puede encoger (disminuir el tamaño del sistema de archivos) un sistema de archivos XFS mientras el sistema de archivos está montado.
  • Puede crecer (aumentar el tamaño del sistema de archivos) o encoger (disminuir el tamaño del sistema de archivos) un sistema de archivos BTRFS mientras se monta el sistema de archivos.
  • Archivos dispersos: La función de archivo escasa guarda espacio en disco cuando los archivos pequeños (más pequeños que el tamaño del bloque) se almacenan en el sistema de archivos. El XFS y los sistemas de archivos BTRFS admiten archivos dispersos.
  • Bloque Subleación: El sistema de archivos BTRFS admite sub-asignación de bloque.
  • El sistema de archivos XFS no admite la sub-asignación de bloque.

NOTA: Cuando un sistema de archivos almacena archivos grandes en un sistema de archivos, el archivo grande se divide en bloques y los bloques se almacenan en el sistema de archivos. El último bloque del archivo, llamado bloque de cola, no ocupa todo el bloque. Cuando se almacenan muchos archivos pequeños, no ocupan todo el bloque, y se desperdicia mucho espacio en disco. El bloque sublealización del bloque le permite almacenar partes de otro bloque de archivo en el bloque de cola (el último bloque de otro archivo que no ocupó todo el bloque) para guardar espacio en disco.

  • Embalaje de la cola: El sistema de archivos BTRFS admite el empaque de la cola.
  • El sistema de archivos XFS no admite el empaque de la cola.

NOTA: El embalaje de la cola es parte de la subashocación de bloques. Como se discutió anteriormente, los archivos pequeños no ocupan un bloque de archivo completo. Para almacenar eficientemente archivos pequeños (e.gramo., Códigos de origen del programa) En el sistema de archivos, el bloque de cola de un archivo pequeño se usa para almacenar otros archivos pequeños. El embalaje de la cola mejora el rendimiento del sistema de archivos y guarda espacio en disco en sistemas de archivos en los que muchos archivos pequeños (e.gramo., Los códigos de origen del programa) se almacenan.

  • Sistema de archivos basado en extensiones: Los sistemas de archivos XFS y BTRFS son sistemas de archivos basados ​​en la extensión.

NOTA: Una extensión es un área contigua del dispositivo de almacenamiento reservado para un archivo en un sistema de archivos. Los sistemas de archivos basados ​​en extensiones almacenan archivos grandes en un área de almacenamiento contigua. Esto mejora el rendimiento del sistema de archivos y aumenta la eficiencia de almacenamiento.

  • Tamaño de bloque de archivo variable: El tamaño del bloque se establece antes de que se cree el sistema de archivos. Una vez que se crea el sistema de archivos, no puede cambiar el tamaño del bloque.
  • El sistema de archivos XFS admite un tamaño de bloque fijo.
  • El sistema de archivos BTRFS admite el tamaño del bloque variable. El sistema de archivos puede determinar el mejor tamaño de bloque posible para almacenar un archivo en el sistema de archivos basado en el tamaño del archivo. Esta característica puede ahorrar mucho espacio en disco.
  • Asignar sobre flujo: Los sistemas de archivos XFS y BTRFS admiten asignación de asignación.

NOTA: El sistema de archivos asigna algún espacio de búfer en la memoria del sistema. Cuando hay solicitudes de escritura de disco, el sistema de archivos no escribe los bloques de datos directamente en el dispositivo de almacenamiento. En su lugar, el sistema de archivos almacena los bloqueos de datos en la memoria del búfer. Cuando la memoria del búfer está llena, el sistema de archivos escribe todos los bloques de datos pendientes en el dispositivo de almacenamiento a la vez. Esto reduce el uso de la CPU, acelera el disco y reduce la fragmentación del disco.

  • Soporte de recorte: Tanto el TRIM de soporte de sistemas de archivos XFS como BTRFS, que es una característica muy importante para los dispositivos de almacenamiento SSD.

NOTA: Cuando elimina un archivo de un SSD, el comando TRIM notifica el dispositivo de almacenamiento SSD de las páginas (bloques de archivos) que ya no son necesarios. El SSD borra las páginas innecesarias (bloques de archivos) del almacenamiento flash y prepara las páginas (bloques de archivos) para almacenar nuevos datos. Sin soporte de TRIM, la velocidad de escritura SSD se volvería progresivamente más lenta a medida que el SSD se llene de nuevos datos.

Ventajas de XFS sobre BTRFS

XFS es un sistema de archivos de diario de 64 bits estable para dispositivos de almacenamiento de alta capacidad.

Puede usar el sistema de archivos XFS por las siguientes razones:

  • Soporte de E/S paralelo (entrada/salida)

El sistema de archivos XFS admite E/S paralelo y puede proporcionar múltiples flujos de datos para archivos debido a su diseño.

  • Soporte de gran partición

El sistema de archivos XFS admite tamaños de partición de hasta 8 EIB (hasta 8 EIB - 1 byte).

  • Soporte de archivo grande

El sistema de archivos XFS admite tamaños de archivo de hasta 8 EIB (hasta 8 EIB - 1 byte).

  • Soporte de diario

El diario garantiza la consistencia de los datos en el sistema de archivos en caso de un apagón o bloqueo del sistema. En el caso de un corte de energía o bloqueo del sistema, los datos almacenados en el diario se recuperarán y aplicarán al sistema de archivos.

  • E/S directa

Esta es una característica importante del sistema de archivos XFS. Es esencial para aplicaciones que requieren una alta velocidad de lectura/escritura a los dispositivos de almacenamiento. La E/S directa permite el acceso directo de los dispositivos de almacenamiento al búfer de datos utilizando DMA (acceso de memoria directa) para que se pueda utilizar el ancho de banda de E/S completo del dispositivo de almacenamiento.

  • E/S de tasa garantizada

El sistema de archivos XFS puede reservar el ancho de banda del dispositivo de almacenamiento para ciertas aplicaciones. Esta característica es ideal para aplicaciones en tiempo real (e.gramo., vídeo transmitido en vivo).

Desventajas del sistema de archivos XFS

Hay algunas desventajas en el sistema de archivos XFS.

Las desventajas del sistema de archivos XFS incluyen lo siguiente:

  • Sin soporte LVM incorporado

En comparación con el sistema de archivos BTRFS, el sistema de archivos XFS no tiene un administrador de volumen lógico incorporado. Entonces, tendrás que usar LVM 2 Para la gestión de volumen lógico.

  • No hay soporte de incursión incorporado

En comparación con el sistema de archivos BTRFS, el sistema de archivos XFS no tiene soporte RAID incorporado. Entonces, tendrás que usar aturdimiento o mada Para configurar RAID.

  • Sin soporte de instantáneas

El sistema de archivos XFS no tiene una función de instantánea del sistema de archivos, a diferencia del sistema de archivos BTRFS.

  • El diario no se puede deshabilitar

Al igual que con otros sistemas de archivos de diario, no puede deshabilitar la función de diario del sistema de archivos XFS. El diario no es bueno para las unidades flash USB. Si usa el sistema de archivos XFS en una unidad flash USB, la vida útil del disco flash USB se reducirá debido a la sobrecarga de diario.

Ventajas de BTRFS sobre XFS

El sistema de archivos BTRFS es un sistema de archivos moderno de copia en escritura (COW) diseñado para servidores de almacenamiento de alta capacidad y alto rendimiento. XFS también es un sistema de archivos de diario de 64 bits de alto rendimiento que también es capaz de operaciones de E/S paralelas. El sistema de archivos XFS contiene muchas características importantes, que incluyen E/S directa, E/S de tasa garantizada y más. En comparación con el sistema de archivos XFS, sin embargo, el sistema de archivos BTRFS tiene muchas ventajas.

Las ventajas del sistema de archivos BTRFS a través del sistema de archivos XFS incluyen lo siguiente:

i) Instantáneas de nivel de sistema de archivos incorporados.

ii) Soporte de dispositivos múltiples.

iii) Soporte de incursión incorporado.

iv) Asignación de inodo flexible.

v) Optimizaciones para almacenar archivos más pequeños (Archivos escasos, subalocación de bloque, embalaje de cola, tamaño de bloque variable).

vi) Soporte de compresión a nivel de sistema de archivos incorporado.

Estas son las características del sistema de archivos que pueden hacer que elija el sistema de archivos BTRFS a través del sistema de archivos XFS.

Conclusión

Este artículo comparó los sistemas de archivos BTRFS y XFS, incluida una comparación de las características más importantes de cada sistema de archivos. Este artículo debería ayudarlo a decidir entre los sistemas de archivos BTRFS y XFS. Elija el sistema que funcione mejor para usted, de acuerdo con sus necesidades y preferencias únicas.

Referencias:

  1. XFS - Wikipedia - https: // en.Wikipedia.org/wiki/xfs
  2. Comparación de sistemas de archivos - Wikipedia - https: // EN.Wikipedia.org/wiki/comparación_of_file_systems
  3. XFS - Archwiki - https: // wiki.archinux.org/índice.Php/XFS