Introducción al sistema de archivos XFS

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción

XFS es un sistema de archivos de 64 bits con registro por diario (journaling) de alto desempeño y altamente escalable, creado originalmente por SGI (antes Silicon Graphics Inc.) para su sistema operativo IRIX. En mayo del año 2000, SGI publicó XFS bajo una licencia de fuente abierta, permitiendo su inclusión en el núcleo de Linux a partir de la versión 2.4.25.

Desde entonces, se ha incorporado en la mayoría de las distribuciones GNU/Linux enfocadas al mercado de servidores, siendo el sistema de archivos predeterminado para Red Hat® Enterprise Linux y sus derivados como AlmaLinux y Rocky Linux.

Las principales funciones de XFS incluyen:

Sitio oficial del proyecto: https://xfs.org

⚡ Nota sobre confiabilidad: Aunque XFS es robusto, su diseño de registro por diario lo hace sensible a los cierres incorrectos del sistema, como los ocasionados por fallas en el suministro eléctrico. En estos casos, existe un riesgo elevado de corrupción y pérdida de datos. Se recomienda encarecidamente su uso únicamente en sistemas con una fuente de energía ininterrumpida (UPS) confiable o en entornos donde la integridad tras un apagón esté garantizada por otro medio. Para equipos de escritorio o entornos sin esta garantía, Ext4 constituye una alternativa más tolerante.

💾 Consideraciones para unidades de estado sólido (SSD): El registro por diario de XFS genera escrituras adicionales constantes. En SSD de gama de consumo o escritorio (por ejemplo, modelos como el Kingston A400), diseñados con memorias NAND y controladores básicos, esto puede acelerar el agotamiento de los ciclos de escritura y reducir su vida útil. Para despliegues profesionales o en servidores, es indispensable utilizar SSD clase empresa o para centros de datos, como los de las series Intel DC S4500 o Samsung PM883, que están específicamente diseñados con mayor resistencia a cargas de trabajo intensivas y escrituras constantes.

Equipamiento lógico necesario

XFS es el sistema de archivos predeterminado de Red Hat® Enterprise Linux y sus derivados, por lo que el paquete xfsprogs (que contiene todas las herramientas de gestión) se incluye de manera obligatoria en estas distribuciones.

En distribuciones que utilizan de modo predeterminado otros sistemas de archivos —como Btrfs o Ext4—, será necesario instalar el paquete manualmente:

dnf -y install xfsprogs

Procedimientos

Las siguientes secciones describen las operaciones comunes para la administración de un sistema de archivos XFS. Cada herramienta está especializada en una tarea concreta, ofreciendo un control preciso sobre el formato, mantenimiento y recuperación de datos.

Construir sistema de archivos XFS

La herramienta para dar formato es mkfs.xfs. Este proceso elimina de manera irreversible todos los datos existentes en la partición o dispositivo de bloques objetivo.

La sintaxis básica requiere únicamente la ruta del dispositivo:

mkfs.xfs /dev/sdf1

Para consultar todas las opciones disponibles, como el tamaño de bloque, atributos de metadatos o configuraciones para dispositivos de almacenamiento avanzado, consulte el manual:

man 8 mkfs.xfs

Montaje de particiones con formato XFS

El montaje se realiza mediante el mandato estándar mount. XFS emplea por defecto opciones optimizadas para el rendimiento, como relatime, que reduce las escrituras innecesarias al actualizar las marcas de tiempo de acceso a los archivos.

mount /dev/sdf1 /mnt/xfs

Se recomienda utilizar las opciones predeterminadas, ya que están ajustadas para la mayoría de los casos de uso. Modificarlas sin un conocimiento específico puede afectar el desempeño o la confiabilidad.

Agrandar el sistema de archivos

XFS incluye la herramienta xfs_growfs para expandir el sistema de archivos, de manera análoga a resize2fs en sistemas Ext. Esta operación puede realizarse con el sistema de archivos montado y en uso.

Para expandirlo al tamaño máximo disponible en el dispositivo subyacente:

xfs_growfs /dev/sdf1

Para especificar un tamaño exacto en bloques del sistema de archivos (por ejemplo, 1,048,576 bloques de 4 KiB, equivalente a 4 GiB):

xfs_growfs -D 1048576 /dev/sdf1

⚠️ Limitación importante: XFS carece de soporte nativo para reducir el tamaño del sistema de archivos. La única metodología para lograr una partición más pequeña implica respaldar todos los datos con xfsdump, crear un nuevo sistema de archivos con el tamaño deseado usando mkfs.xfs, y restaurar los datos con xfsrestore. Planifique el espacio inicial con esta restricción en mente.

Para más detalles sobre las opciones de xfs_growfs, consulte:

man 8 xfs_growfs

Reparar sistema de archivos

La verificación y reparación requiere que el sistema de archivos esté desmontado. La herramienta principal es xfs_repair.

Para una reparación estándar:

xfs_repair /dev/sdf1

Si el sistema se inicia en modo de sólo lectura debido a inconsistencias graves, utilice la opción -d para forzar la reparación incluso en el dispositivo raíz:

xfs_repair -d /dev/sdf1

🔍 Nota sobre verificación de bloques: xfs_repair se especializa en garantizar la integridad de las estructuras internas del sistema de archivos (metadatos). Para una verificación exhaustiva a nivel de bloques físicos del dispositivo, complemente su mantenimiento con la herramienta badblocks, especialmente útil para diagnosticar fallos de hardware subyacentes:

badblocks -ns /dev/sdf1

La opción -n realiza una prueba no-destructiva de lectura/escritura, y -s muestra el progreso.

Desfragmentación del sistema de archivos

XFS incluye un desfragmentador en línea: xfs_fsr. Este reorganiza los archivos de manera individual, mejorando la contigüidad de sus extensiones de datos (extents) sin necesidad de desmontar la unidad.

Para iniciar la desfragmentación de un dispositivo:

xfs_fsr /dev/sdf1

El proceso puede ser extenso en sistemas de archivos muy grandes o fragmentados. Se recomienda ejecutarlo durante períodos de baja actividad.

Respaldo y restauración

XFS provee las herramientas xfsdump y xfsrestore, diseñadas para realizar respaldos consistentes y permitir restauraciones granulares. Son especialmente adecuadas para flujos de trabajo con cintas, pero funcionan con cualquier archivo.

Realizar un respaldo completo (nivel 0):

xfsdump -l 0 -f /ruta/al/respaldo_completo.xfsdump -L "Respaldo_Inicial" -M "Servidor_Principal" /carpeta/a/respaldar

Realizar un respaldo incremental (nivel 1, basado en el último respaldo):

xfsdump -l 1 -f /ruta/al/respaldo_incremental.xfsdump -L "Incremental_01" -M "Servidor_Principal" /carpeta/a/respaldar

Listar los respaldos disponibles en un medio:

xfsrestore -I

Restaurar un respaldo específico (por etiqueta de sesión):

xfsrestore -L "Respaldo_Inicial" -f /ruta/al/respaldo_completo.xfsdump /carpeta/destino

Restaurar una secuencia completa de respaldos (completo + incrementales):

xfsrestore -r -f /ruta/al/respaldo_completo.xfsdump /carpeta/destino

Tras esto, restaurar cada incremental en orden.

xfsrestore -r -f /ruta/al/incremental_01.xfsdump /carpeta/destino

Consulte los manuales para obtener detalles sobre filtros, estimaciones de tamaño y otras opciones:

man 8 xfsdump
man 8 xfsrestore

Cuotas de sistema de archivos en XFS

La configuración de cuotas por usuario (usrquota) o grupo (grpquota) es similar a la de Ext4, pero con una diferencia clave: las opciones de cuota sólo se pueden activar durante el montaje inicial.

  1. Editar /etc/fstab: Añada las opciones usrquota,grpquota (o sólo una de ellas) a las opciones de montaje de la partición deseada.
    /dev/mapper/vg-home /home xfs defaults,usrquota,grpquota 1 2
  2. Recargar la configuración y remontar: Tras editar fstab, recargue los demonios de systemd y remonte la partición. Un remonte simple (mount -o remount) es insuficiente; es necesario desmontar y volver a montar.
    systemctl daemon-reload
    umount /home && mount /home
  3. Activar el seguimiento de cuotas: Una vez montada con las opciones correctas, active el sistema:
    quotaon /home
  4. Gestionar cuotas: Utilice las herramientas estándar como edquota para asignar límites. A diferencia de Ext4, no es necesario ejecutar quotacheck, ya que XFS inicializa y mantiene la base de datos de cuotas internamente durante el montaje.
    edquota -u fulano

Siguiendo estos procedimientos podrá administrar de manera eficaz sistemas de archivos XFS, aprovechando su escalabilidad y desempeño en entornos adecuados, siempre con las precauciones de confiabilidad en mente.