Linux / ext4, XFS y Btrfs: diferencias y cómo elegir

Al elegir entre ext4, XFS y Btrfs, conviene comparar el soporte de la distribución, las funciones necesarias y los procedimientos de redimensionamiento y recuperación antes que su antigüedad. Considere ext4 si valora una administración conocida y la reducción sin montar, XFS para servidores con gran capacidad y operaciones de entrada/salida simultáneas, y Btrfs si necesita instantáneas, compresión y sumas de comprobación de datos integradas. Son puntos de partida: el rendimiento y la adecuación operativa deben comprobarse en el entorno real.

Este artículo compara tres sistemas de archivos para discos locales de PC con Linux y servidores de uso general. Un sistema de archivos organiza el contenido de los archivos y datos como nombres, ubicaciones y permisos para almacenarlos y recuperarlos. Si no tiene clara la relación entre discos, particiones y montajes, consulte primero las diferencias entre discos, particiones y sistemas de archivos.

ext4, XFS y Btrfs de un vistazo

Los metadatos son información de gestión, como la ubicación, el tamaño y los permisos de un archivo. El registro de cambios o journaling ayuda a recuperar la coherencia del sistema de archivos después de un apagado inesperado; no sustituye una copia de seguridad ni garantiza conservar todo el contenido de los archivos. La copia en escritura, Copy-on-Write (CoW), escribe el contenido modificado en otro espacio y actualiza las referencias que apuntan a él.

Criterio ext4 XFS Btrfs
Diseño básico Journaling Journaling de metadatos CoW
Instantáneas integradas No No Instantáneas de subvolúmenes
Sumas de comprobación No se proporcionan de forma predeterminada No se proporcionan de forma predeterminada Activadas de forma predeterminada, con excepciones como los archivos NOCOW
Compresión nativa No No Disponible; depende de la configuración y de los datos
Ampliación Posible con el sistema montado si se cumplen las condiciones de soporte Se realiza con el sistema montado Posible con el sistema montado
Reducción Posible con el sistema desmontado No debe darse por disponible para uso general en producción; compruebe por separado la vista previa tecnológica limitada Posible con el sistema montado; compruebe espacio libre y restricciones por dispositivo
Herramientas e2fsck y resize2fs de e2fsprogs xfs_repair y xfs_growfs de xfsprogs Comandos btrfs de btrfs-progs
Criterios principales Herramientas conocidas, administración sencilla y reducción sin montar Gran capacidad, entrada/salida simultánea y soporte de la distribución para servidores Instantáneas, compresión, verificación de integridad y un mantenimiento adecuado

«No» se refiere a las funciones del propio sistema de archivos. ext4 y XFS pueden utilizar instantáneas del gestor de volúmenes lógicos (Logical Volume Manager, LVM), del almacenamiento o de una plataforma de virtualización. Las copias de archivos que comparten bloques, como los reflinks de XFS, también difieren de una instantánea del sistema de archivos completo en un momento determinado. La fila de sumas de comprobación se refiere al contenido de archivos ordinarios; no significa que ext4 y XFS carezcan de protección de metadatos.

ext4: administración conocida y reducción sin montar

ext4 significa Fourth Extended Filesystem y continúa la familia de ext2 y ext3. La guía de instalación de Debian 13 indica que ext4 se selecciona de forma predeterminada en la mayoría de los casos. Es un candidato que puede evaluarse junto con las herramientas de instalación y recuperación de la distribución cuando no se necesitan funciones especiales. Ser la opción predeterminada no demuestra que siempre sea más rápido o seguro que las alternativas. Consulte las opciones de la distribución en la guía oficial de instalación de Debian 13.

El modo habitual data=ordered de ext4 registra los metadatos en el diario y controla el orden de las escrituras de datos relacionadas. No guarda una segunda copia de todo el contenido de los archivos en el diario. Por tanto, poder montar el sistema después de un corte eléctrico no equivale a conservar las últimas escrituras de una aplicación. La documentación de administración de ext4 del kernel Linux explica estos modos.

La reducción es una diferencia operativa importante. resize2fs puede ampliar un ext4 compatible mientras está montado, pero para reducirlo hay que desmontarlo. Reducir el sistema de archivos raíz suele requerir otro entorno de arranque y una interrupción del servicio. La herramienta no cambia el tamaño de las particiones: el sistema de archivos y el almacenamiento subyacente se gestionan por separado. Compruebe las condiciones de su entorno en el manual de resize2fs.

Por ejemplo, si prevé redistribuir espacio entre el sistema operativo y los datos, compare antes la posibilidad de reducir y el tiempo de parada necesario. Si el requisito principal son las instantáneas para volver a un estado anterior, elegir ext4 por sí solo no las proporciona: también debe diseñar una capa de LVM u otro mecanismo de copias de seguridad e instantáneas.

XFS: servidores con gran capacidad y entrada/salida simultánea

XFS organiza el almacenamiento en grupos de asignación y merece evaluarse para archivos grandes y operaciones de entrada/salida concurrentes. Red Hat Enterprise Linux (RHEL) 10 utiliza XFS como sistema de archivos local predeterminado. Si la distribución, las herramientas de almacenamiento y los procedimientos de recuperación de su organización ya se basan en XFS, ese soporte operativo también es un criterio importante. La guía de comparación y administración de sistemas de archivos de RHEL 10 documenta el soporte y las condiciones de uso.

XFS se amplía con xfs_growfs mientras está montado. El dispositivo subyacente debe proporcionar primero el espacio adicional; ampliar un disco o un volumen lógico no implica necesariamente que el sistema de archivos crezca automáticamente. El plan debe distinguir entre las capas de disco, partición, volumen lógico y sistema de archivos.

Evite describir la reducción de XFS como algo absolutamente imposible o disponible de forma general. Las notas de RHEL 10.0 describen una reducción limitada dentro del último grupo de asignación como vista previa tecnológica (Technology Preview), siempre que el intervalo eliminado no contenga datos ni metadatos asignados. No equivale a un procedimiento general para reducir a cualquier tamaño. Si la reducción es importante, no elija basándose en esta función limitada: confirme el soporte para producción de su distribución o planifique una copia y restauración en un sistema de archivos nuevo más pequeño. Consulte las notas de RHEL 10.0 sobre la reducción limitada de XFS y el manual de xfs_growfs.

Incluya XFS entre las opciones para un servidor de archivos o de datos de gran tamaño, pero no decida solo por el tamaño de los archivos. Compruebe la frecuencia de creación y eliminación de archivos pequeños, la concurrencia, las escrituras síncronas y los requisitos de latencia con condiciones similares a las del servicio real.

Btrfs: instantáneas, compresión y sumas de comprobación

Btrfs se basa en CoW y ofrece subvolúmenes, instantáneas, compresión transparente y sumas de comprobación de datos y metadatos. Una suma de comprobación es un valor calculado a partir del contenido almacenado que permite detectar cambios al volver a leerlo. Fedora utiliza Btrfs de forma predeterminada en sus ediciones de escritorio y variantes o spins, pero esto no implica soporte para cualquier servidor o configuración de discos. Consulte la introducción oficial a las funciones de Btrfs y la información de Fedora sobre Btrfs.

Un subvolumen es un árbol de directorios que puede administrarse de forma independiente dentro del sistema de archivos. Una instantánea comparte inicialmente los bloques de datos con su origen y utiliza espacio adicional a medida que se producen cambios. Puede conservar un estado anterior a una actualización, pero elegir Btrfs no configura automáticamente las instantáneas, su retención ni un menú de recuperación al arrancar. Revise conjuntamente las herramientas de la distribución y la organización de los subvolúmenes.

Las instantáneas en el mismo disco no sustituyen una copia de seguridad independiente. El origen y la instantánea dependen del mismo almacenamiento y de bloques compartidos; un fallo del dispositivo o la corrupción de un bloque compartido pueden afectar a ambos. Los subvolúmenes anidados tampoco se incluyen de forma recursiva en la instantánea del padre. Las aplicaciones que están escribiendo, como las bases de datos, necesitan además su propio mecanismo de copia o una pausa controlada de las escrituras para obtener un estado coherente. La documentación de subvolúmenes e instantáneas de Btrfs explica su alcance y sus límites.

Detectar un error y repararlo son capacidades distintas. btrfs scrub verifica las sumas de comprobación y otra información, pero reparar contenido dañado requiere una copia redundante verificada del bloque afectado. Si una configuración de un solo disco guarda una única copia de los datos, puede detectar daños sin disponer de una copia desde la que recuperarlos. Los archivos configurados con NOCOW son también una excepción a las sumas de comprobación de datos. La documentación oficial de Btrfs scrub detalla las condiciones de verificación y reparación.

La compresión puede reducir el espacio ocupado y la entrada/salida según los datos, pero los vídeos o archivos ya comprimidos pueden beneficiarse poco. En imágenes de máquinas virtuales (VM) y bases de datos con sobrescrituras frecuentes, evalúe conjuntamente CoW, fragmentación y retención de instantáneas. Aplicar NOCOW indiscriminadamente por rendimiento también afecta a las sumas de comprobación y a la compresión. Consulte las interacciones en la documentación de opciones de montaje de Btrfs.

Al combinar discos, compruebe por separado el estado de cada perfil RAID (Redundant Array of Independent Disks, agrupación de discos independientes). La introducción oficial describe RAID5/6 como experimental y no preparado para producción. No trate estos perfiles como equivalentes a los demás; revise las versiones del kernel y de las herramientas junto con el estado de las funciones de Btrfs.

¿Qué sistema de archivos conviene según el entorno?

Estos criterios relacionan las funciones con necesidades prácticas. No son una clasificación de calidad ni una configuración recomendada para todos los entornos.

Situación Primeros candidatos Qué comprobar
PC general o de desarrollo La opción predeterminada y soportada por la distribución Integración con instalación, cifrado, actualizaciones y recuperación. No es necesario cambiar Btrfs solo porque su nombre resulte poco conocido
Posible reducción ext4 Si se puede desmontar y asumir la parada, y si también puede modificarse de forma segura la partición o el volumen lógico subyacente
Datos y concurrencia Incluir XFS entre los candidatos Soporte de la distribución, rendimiento con la carga real, ampliación y restauración para migrar a un volumen menor
Instantáneas e integridad Btrfs Creación, limpieza y recuperación de instantáneas; vigilancia del espacio libre; copias en otro almacenamiento
Bases de datos o VM Configuraciones soportadas por el proveedor y la distribución Escrituras síncronas, latencia, ajustes de CoW, copias coherentes y pruebas con la carga real

Por ejemplo, si el objetivo principal es volver al sistema operativo anterior después de una actualización fallida, compruebe qué subvolúmenes restaura la herramienta, además de las funciones de Btrfs. El diseño cambia si se desea mantener actualizados los datos del usuario o devolverlos al mismo momento que el sistema operativo. En un servidor cuyo almacenamiento de datos solo aumenta, el soporte y los procedimientos de ampliación y copia pueden importar más que la reducción.

Condiciones que deben coincidir al comparar rendimiento

El nombre del sistema de archivos no permite predecir por sí solo la velocidad. Incluso con el mismo SSD, crear muchos archivos pequeños, leer uno grande secuencialmente y realizar escrituras síncronas de una base de datos pueden producir resultados distintos. Las copias breves también pueden depender mucho de la caché de memoria.

  • Almacenamiento: Utilice el mismo SSD o HDD, conexión, ocupación y espacio libre.
  • Carga de trabajo: Iguale tamaños y cantidades de archivos, proporción de lecturas y escrituras, acceso secuencial o aleatorio y concurrencia.
  • Funciones y ajustes: Registre compresión, CoW, instantáneas, cifrado y opciones de montaje. No compare funciones activadas y desactivadas como si las condiciones fueran idénticas.
  • Durabilidad de los datos: Iguale las escrituras síncronas de las aplicaciones y las políticas de caché del dispositivo. Reducir las garantías de conservación no es simplemente mejorar el rendimiento.
  • Versiones y métricas: Registre las versiones del kernel y de las herramientas, y examine la latencia y la variación entre ejecuciones además de la tasa de transferencia.

Para un servidor de registros, por ejemplo, pruebe la escritura al final de archivos, rotación, compresión y copias de seguridad simultáneas, en lugar de limitarse a copiar un archivo grande. Valore el ahorro de espacio por compresión junto con el coste de CPU. Si la diferencia medida es pequeña, considere también el coste y el riesgo de migrar desde el sistema de archivos existente.

Comprobar el formato actual y planificar cambios

Consultar el sistema sin modificarlo

En un entorno Linux habitual, estos comandos consultan dispositivos, montajes y capacidad. lsblk y findmnt pertenecen a util-linux; en GNU/Linux, df suele pertenecer a coreutils. No crean sistemas de archivos ni cambian su formato.

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
findmnt -T / -o TARGET,SOURCE,FSTYPE,OPTIONS
df -hT /

Utilice lsblk para ver la jerarquía de dispositivos y FSTYPE, y findmnt para consultar el tipo y las opciones de montaje activas del sistema que contiene la ruta raíz. df -hT / muestra su tipo y capacidad. Sustituya / por el directorio real de datos para consultar esa ubicación.

Por ejemplo, si findmnt muestra xfs en FSTYPE, esa ruta está sobre XFS. El FSTYPE del disco puede estar vacío aunque la partición o el volumen lógico sí indique el formato. En un contenedor puede aparecer overlay; no lo interprete necesariamente como el formato del disco del host. Si una versión antigua de lsblk no admite MOUNTPOINTS, utilice MOUNTPOINT. Consulte el manual de lsblk y el manual de findmnt para conocer las opciones.

Si el espacio de Btrfs no coincide con lo esperado, btrfs filesystem usage permite consultar conjuntamente datos, metadatos y asignación por dispositivo. Eliminar archivos no siempre libera su espacio inmediatamente si las instantáneas siguen referenciando los datos. No se base únicamente en la suma de tamaños de directorios: aplique las explicaciones de la documentación de uso del espacio y redimensionamiento de Btrfs.

Secuencia para migrar a otro sistema de archivos

Ejecutar el mkfs de otro formato sobre un sistema de archivos existente no es una conversión que conserve los datos. Un plan general resulta más claro si se organiza alrededor de un destino nuevo y una restauración verificada.

  1. Identifique el dispositivo, formato y punto de montaje de origen, compruebe el soporte de las aplicaciones y haga una copia en almacenamiento independiente. Verifique que puede restaurarla.
  2. Prepare el sistema de archivos de destino en un disco nuevo o en un área disponible por separado. Antes de formatear, confirme de nuevo que es el destino vacío previsto.
  3. Obtenga datos coherentes mediante una parada del servicio o el mecanismo de copia de la aplicación. Copie o restaure conservando propietarios, permisos, listas de control de acceso (ACL), atributos extendidos y enlaces duros que necesite. No suponga que una herramienta que copia contenido conserva toda esa información.
  4. Verifique archivos y aplicaciones en la nueva ruta y actualice /etc/fstab y los servicios con el nuevo identificador del sistema de archivos, o UUID. Migrar la raíz del sistema operativo requiere otro procedimiento que incluya el cargador y el entorno de arranque inicial.
  5. Después de reiniciar, compruebe montajes, servicios y permisos. Conserve el origen y la copia hasta verificar el cambio, para poder detener las escrituras al destino nuevo y volver al original y a la configuración comprobados si surge un problema. Incluya en el plan de reversión los datos creados después del cambio.

El orden de las capas también importa al cambiar el tamaño sin cambiar el formato. Normalmente se amplía primero el almacenamiento subyacente y después el sistema de archivos; si la reducción está soportada, se reduce primero el sistema de archivos y luego el almacenamiento subyacente. El redimensionamiento de Btrfs tampoco actualiza automáticamente la tabla de particiones. Este principio no sustituye un procedimiento completo: el cifrado, LVM y RAID requieren sus propios pasos soportados.

Utilice herramientas adecuadas al sistema de archivos para investigar errores. e2fsck de ext4, xfs_repair de XFS y las herramientas de comprobación y recuperación de Btrfs no son intercambiables. En particular, no utilice btrfs check --repair como primera solución habitual. La documentación oficial desaconseja hacerlo sin la orientación de un desarrollador o usuario experimentado. Consulte fsck y las precauciones de comprobación según el sistema de archivos y la advertencia de la herramienta de comprobación de Btrfs, y prepare copias y un plan de recuperación antes de realizar cambios.