Chapitre 6. Le système de fichiers XFS
XFS est un système de fichiers hautement modulable et de haute performance, qui fut conçu à l'origine par Silicon Graphics, Inc. XFS est le système de fichiers par défaut de Red Hat Enterprise Linux 7.
- Fonctionnalités principales
- XFS prend en charge la journalisation de métadonnées, ce qui facilite une récupération après incident plus rapide. Le système de fichiers XFS peut aussi être défragmenté et élargi alors qu'il est monté et actif. En outre, Red Hat Enterprise Linux 7 prend en charge les utilitaires de sauvegarde et de restauration spécifiques à XFS.
- Fonctionnalités d'allocation
- XFS offre les schémas d'allocation suivants :
- Allocation basée sur extensions
- Politiques d'allocation par entrelacement
- L'allocation différée
- Pré-allocation de l'espace
L'allocation différée et les autres optimisations des performances affectent XFS de la même manière qu'ext4. Autrement dit, les écritures d'un programme sur un système de fichiers XFS ne garantissent pas d'être sur disque à moins que le programme n'effectue un appelfsync()
par la suite.Pour obtenir des informations supplémentaires sur les implications de l'allocation différée sur un système de fichiers (ext4 et XFS), veuillez consulter les Fonctionnalités de l'allocation dans le Chapitre 5, Le système de fichiers Ext4.Note
Créer ou étendre des fichiers échoue occasionnellement avec un échec d'écriture ENOSPC inattendu même si le disque semble insuffisant. Cela s'explique par le design de XFS qui est basé sur la performance. Dans la pratique, ce n'est pas un problème car cela ne survient que si l'espace restant n'est que dans quelques blocs. - Autres fonctionnalités XFS
- Le système de fichiers XFS prend également en charge ce qui suit :
- Attributs étendus (
xattr
) - Ceci permet au système d'associer plusieurs paires nom/valeur supplémentaires par fichiers. Activé par défaut.
- Journalisation de quotas
- Ceci permet d'éviter le besoin de longues vérifications de cohérence des quotas après une panne.
- Quotas de projets/répertoires
- Ceci permet les restrictions de quotas sur une arborescence de répertoires.
- Horodatage subsecond
- Ceci permet à l'horodatage de donner la deuxième décimale des secondes.
- Attributs étendus (
- Le comportement par défaut
atime
estrelatime
Relatime
est pour XFS par défaut. N'a presque pas de temps de latence par rapport ànoatime
tout en conservant des valeursatime
saines.
6.1. Créer un système de fichiers XFS
Pour créer un système de fichiers XFS, veuillez utiliser la commande
mkfs.xfs /dev/device
. En général, les options par défaut sont optimales pour un usage commun.
Lors de l'utilisation de
mkfs.xfs
sur un périphérique bloc contenant un système de fichiers, veuillez utiliser l'option -f
pour forcer le remplacement de ce système de fichiers.
Exemple 6.1. Sortie de la commande mkfs.xfs
Ci-dessous figure un exemple de sortie de la commande
mkfs.xfs
:
meta-data=/dev/device isize=256 agcount=4, agsize=3277258 blks = sectsz=512 attr=2 data = bsize=4096 blocks=13109032, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Note
Une fois qu'un système de fichiers XFS a été créé, sa taille ne peut pas être réduite. Cependant, il peut toujours être agrandi par la commande
xfs_growfs
(veuillez consulter Section 6.4, « Augmenter la taille d'un système de fichiers XFS »).
Pour les périphériques blocs à entrelacement (par exemple les matrices RAID5), la géométrie de l'entrelacement peut être indiquée pendant la création du système de fichiers. L'utilisation d'une géométrie d'entrelacement correcte améliore fortement les performances d'un système de fichiers XFS.
Lors de la création de systèmes de fichiers sur des volumes LVM ou MD,
mkfs.xfs
choisit une géométrie optimale. Ceci peut également s'appliquer à certains types de matériel RAID qui exportent des informations sur la géométrie au système d'exploitation.
Si le périphérique exporte des informations de géométrie de tranches,
mkfs
(pour ext3, ext4, et xfs) utilisera cette géométrie automatiquement. Si la géométrie de tranches n'est pas détectée, il sera possible de la spécifier automatiquement à un moment mkfs par les options suivantes :
- su=value
- Spécifie une unité d'entrelacement ou une taille de morceau RAID. La valeur
value
doit être indiquée en octets, avec un suffixe optionnelk
,m
, oug
. - sw=value
- Spécifie le nombre de disques de données dans un périphérique RAID, ou le nombre d'unités d'entrelacement dans l'entrelacement.
L'exemple suivant indique une taille de morceau de 64k sur un périphérique RAID contenant 4 unités d'entrelacement :
# mkfs.xfs -d su=64k,sw=4 /dev/device
Pour obtenir davantage d'informations sur la création de systèmes de fichiers XFS, veuillez consulter
man mkfs.xfs
et Red Hat Enterprise Linux Performance Tuning Guide, chapitre Basic Tuning for XFS.