Chapitre 8. 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. Il fut créé pour prendre en charge des systèmes de fichiers extrêmement grands (allant jusqu'à 16 exaoctets), ainsi que des fichiers (8 exaoctets) et des structures de répertoires (contenant des dizaines de millions d'entrées) extrêmement volumineux.
- 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 6 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()
après.Pour obtenir des informations supplémentaires sur les implications de l'allocation différée sur un système de fichiers, veuillez consulter les Fonctionnalités de l'allocation dans le Chapitre 6, Le système de fichiers Ext4. La solution de contournement pour s'assurer des écritures sur disque s'applique également à XFS. - 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.
- 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 (
8.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 8.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 8.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.
Pour spécifier la géométrie d'entrelacement, veuillez utiliser les sous-options
mkfs.xfs
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
.