Le système de fichiers XFS est reconnu pour sa robustesse et ses performances exceptionnelles, notamment dans les environnements où les volumes sont grands et les fichiers nombreux ou massifs. Conçu à l’origine par SGI pour les stations de travail IRIX, oh cela me rappelle des souvenirs, il est désormais intégré nativement à Linux et largement utilisé sur des systèmes critiques.
Dans ce guide, je vais t’expliquer comment créer, monter, tuner et maintenir un système XFS de manière efficace. Si tu débutes, je t’invite d’abord à consulter le guide d’introduction aux systèmes de fichiers Linux pour bien comprendre les bases techniques avant d’entrer dans les spécificités de XFS.
Kezako XFS ?
Section intitulée « Kezako XFS ? »Le système de fichiers XFS a été conçu dès le départ pour gérer des volumes très larges, avec un haut débit de lecture/écriture et une gestion fine des métadonnées. Il a été développé par Silicon Graphics (SGI) dans les années 1990 pour leur système IRIX, puis intégré dans le noyau Linux dès 2001. Aujourd’hui, il est largement utilisé dans les data centers, les environnements de calcul intensif et les serveurs de fichiers exigeants.
Caractéristiques principales
Section intitulée « Caractéristiques principales »- Journalisation des métadonnées : XFS enregistre toutes les modifications de structure (inodes, répertoires, allocation) dans un journal pour garantir la cohérence après un crash.
- Allocation différée (delayed allocation) : améliore les performances en différant les écritures physiques jusqu’à la dernière seconde.
- Évolutivité : peut gérer des fichiers jusqu’à 8 exaoctets et des systèmes de fichiers de plusieurs centaines de To.
- Multithreading natif : XFS gère très bien les accès concurrents grâce à une allocation par AG (allocation groups).
- Quota intégré : support natif des quotas utilisateur/groupe/projet.
- Réparation rapide :
xfs_repairpeut reconstruire une arborescence de manière efficace, même sur des systèmes très endommagés. - Croissance à chaud : possibilité d’agrandir un système de fichiers
monté sans interruption avec
xfs_growfs.
Avantages
Section intitulée « Avantages »- Très rapide sur les opérations séquentielles et les gros fichiers,
- Idéal pour les bases de données, les archives, ou le stockage multimédia,
- Parfait pour des systèmes à très haut débit ou à forte concurrence d’accès (par ex. NFS, clusters),
- Compatible avec TRIM pour les disques SSD.
- Pas de snapshots natifs (contrairement à Btrfs),
- Pas de compression intégrée,
- Le redimensionnement vers le bas n’est pas supporté (pas de
shrink), - Moins souple pour des environnements dynamiques ou containerisés.
Pour quels usages ?
Section intitulée « Pour quels usages ? »XFS brille quand il s’agit de gérer :
- des gros fichiers (vidéo, images ISO, backups),
- des volumes énormes (RAID, SAN, NAS),
- des systèmes fortement sollicités par plusieurs processus ou utilisateurs en parallèle.
En résumé, XFS est un système de fichiers ultra-efficace, taillé pour les hautes performances, la stabilité et le scalabilité. Voyons maintenant comment le créer sur un disque ou une partition.
Création d’un système de fichiers XFS
Section intitulée « Création d’un système de fichiers XFS »Pour profiter des performances de XFS, il faut commencer par formater le
bon périphérique (disque, partition, volume logique) avec l’outil adapté. Comme
pour ext4, la commande clé est mkfs, mais ici on utilise mkfs.xfs, avec
plusieurs options utiles selon le contexte.
Préparer le support de stockage
Section intitulée « Préparer le support de stockage »On peut formater en XFS :
- un disque entier (
/dev/sdb), - une partition (
/dev/sdb1), - un volume logique LVM (
/dev/mapper/vg_data-lv_home).
Pour identifier les périphériques disponibles :
lsblkEt pour préparer une partition :
sudo fdisk /dev/sdbCrée une partition de type Linux (83) et note son nom (/dev/sdb1 par
exemple).
Formater avec mkfs.xfs
Section intitulée « Formater avec mkfs.xfs »La commande de base :
sudo mkfs.xfs /dev/sdb1Options utiles :
-f: force l’écrasement si une signature existe déjà,-L nom: ajoute un label à la partition,-b size=4096: définit la taille de bloc (par défaut : 4K),-m crc=1: active les checksums sur les métadonnées (recommandé),-d su=64k,sw=4: paramètre d’alignement utile pour RAID (stripe unit/width).
Exemple pour un disque de données optimisé RAID :
sudo mkfs.xfs -L data_xfs -m crc=1 -d su=64k,sw=4 /dev/sdb1Vérification post-formatage
Section intitulée « Vérification post-formatage »Pour vérifier que le système a bien été créé :
sudo xfs_info /dev/sdb1Cette commande affiche les informations du système de fichiers, y compris les paramètres d’alignement, la taille de bloc, les groupes d’allocation, etc.
Créer un système XFS, c’est rapide, mais quelques options bien choisies peuvent vraiment faire la différence sur les performances globales. On passe maintenant à l’étape suivante : le montage du volume.
Montage d’un système de fichiers XFS
Section intitulée « Montage d’un système de fichiers XFS »Une fois le système de fichiers XFS créé, il faut le monter pour pouvoir l’utiliser dans l’arborescence du système Linux. XFS se comporte comme les autres systèmes POSIX, mais avec quelques particularités qu’il est bon de connaître.
Monter temporairement un système XFS
Section intitulée « Monter temporairement un système XFS »- Créer un point de montage :
sudo mkdir -p /mnt/data- Monter la partition XFS :
sudo mount /dev/sdb1 /mnt/data- Vérifier le résultat :
mount | grep /mnt/dataou :
df -Th /mnt/dataCe montage est temporaire : il disparaîtra au prochain redémarrage.
Monter avec un label ou un UUID
Section intitulée « Monter avec un label ou un UUID »Tu peux monter le système en utilisant :
- un label :
sudo mount -L data_xfs /mnt/data- ou un UUID :
sudo mount UUID=XXXX-XXXX /mnt/dataPour obtenir ces identifiants :
sudo blkidMontage automatique avec /etc/fstab
Section intitulée « Montage automatique avec /etc/fstab »Pour automatiser le montage au démarrage, ajoute une ligne dans /etc/fstab :
UUID=XXXX-XXXX /mnt/data xfs defaults 0 0Explication :
- UUID : identifiant unique du système de fichiers,
- /mnt/data : point de montage,
- xfs : type de FS,
- defaults : options classiques (
rw,relatime,attr2…), - 0 0 : pas de dump ni de vérification (XFS ne se vérifie pas au boot).
Tester la configuration sans redémarrer :
sudo mount -aParticularités de XFS
Section intitulée « Particularités de XFS »- Pas de sous-volumes comme avec Btrfs,
- Pas de journalisation des données, seulement des métadonnées,
- Nécessite un démontage propre pour éviter la reconstruction du journal au redémarrage.
XFS est simple à monter, mais il faut être rigoureux sur les options et bien noter l’absence de certaines fonctionnalités comme les snapshots. On passe maintenant aux options de montage spécifiques à XFS, pour adapter finement son comportement.
Options de montage spécifiques à XFS
Section intitulée « Options de montage spécifiques à XFS »Le système de fichiers XFS propose plusieurs options de montage
permettant d’optimiser les performances, la gestion des métadonnées et
la sécurité selon l’usage. Ces options peuvent être spécifiées dans la
commande mount ou dans le fichier
/etc/fstab.
Options de performance
Section intitulée « Options de performance »-
noatimeEmpêche la mise à jour du champ d’accès à chaque lecture. Cela réduit les écritures et améliore les performances, notamment sur des disques à forte charge en lecture.UUID=XXXX /mnt/data xfs defaults,noatime 0 0 -
logbsize=256k(ou64k,32k…) Définit la taille des blocs de journal. Des blocs plus gros augmentent la rapidité des écritures groupées, mais consomment plus de mémoire. À tester selon la charge I/O. -
inode64Permet de placer les inodes au-delà des 2 To du début du disque. Utile pour les très grands volumes. Option activée par défaut sur les versions récentes. -
allocsize=64k(ou128k,256k) Taille d’allocation maximale par opération. Peut améliorer les performances pour les gros fichiers.
Options de sécurité
Section intitulée « Options de sécurité »nodev: interdit la création de fichiers spéciaux (périphériques).nosuid: empêche l’exécution de fichiers avec le bit SUID/SGID.noexec: interdit l’exécution de tout fichier binaire.
Exemple pour /tmp :
UUID=XXXX /tmp xfs defaults,nodev,nosuid,noexec 0 0Options de journalisation
Section intitulée « Options de journalisation »-
nobarrierDésactive les barrières d’écriture. À éviter sauf cas très particuliers (contrôleurs RAID avec cache protégé). Sinon, cela peut compromettre l’intégrité du système de fichiers. -
logbufs=8Augmente le nombre de buffers de journal. Recommandé pour les systèmes à haut débit (bases de données, gros volumes de logs). -
lazy-count=1Défère la mise à jour de certains compteurs (nombre d’inodes utilisés, etc.) pour améliorer la scalabilité. Activé par défaut.
Résumé des options recommandées
Section intitulée « Résumé des options recommandées »| Option | Objectif | Cas d’usage recommandé |
|---|---|---|
noatime | Réduction des écritures | Systèmes fortement sollicités |
inode64 | Inodes au-delà de 2 To | Très gros volumes |
allocsize=64k | Optimisation gros fichiers | Vidéo, archives, backups |
logbsize=256k | Meilleure performance journal | Systèmes de logs, bases de données |
lazy-count=1 | Mise à jour différée des compteurs | Volumes multi-utilisateurs |
nodev, nosuid, noexec | Renforcement sécurité | /tmp, /var, partitions externes |
XFS offre peu d’options exotiques mais suffisamment de paramètres efficaces pour optimiser les performances dans des environnements exigeants. Passons maintenant à la vérification et réparation d’un système XFS en cas de problème.
Vérification et réparation avec xfs_repair
Section intitulée « Vérification et réparation avec xfs_repair »Même si XFS est un système de fichiers très fiable, il peut arriver qu’un
incident matériel ou une coupure brutale corrompe certaines métadonnées.
Contrairement à ext4 (avec fsck) ou btrfs (avec check), XFS utilise
une suite d’outils dédiée, avec en tête xfs_repair, pour détecter et
corriger les erreurs.
Quand utiliser xfs_repair ?
Section intitulée « Quand utiliser xfs_repair ? »- Si le système refuse de monter,
- Si des messages d’erreurs XFS apparaissent dans
dmesgoujournalctl, - Si des incohérences sont suspectées sur le FS (fichiers manquants, comportement anormal),
- Après un crash système ou une panne de courant violente.
Préparation : démonter le système
Section intitulée « Préparation : démonter le système »Important : on ne peut pas réparer un système monté. Il faut le démonter d’abord :
sudo umount /mnt/dataSi ce n’est pas possible, redémarre depuis un live CD ou en mode rescue.
Lancer une vérification avec xfs_repair
Section intitulée « Lancer une vérification avec xfs_repair »Commande de base :
sudo xfs_repair /dev/sdb1Cela analyse le système de fichiers et reconstruit les structures internes si besoin (inodes, extent trees, directories…).
Si le journal est propre, la commande rendra :
Phase 1 - find and verify superblock...Phase 2 - using internal logNo modifications necessarySi des erreurs sont détectées, elles seront corrigées automatiquement.
Cas où xfs_repair échoue
Section intitulée « Cas où xfs_repair échoue »Si le superbloc est corrompu ou illisible, tu peux tenter de le reconstruire à partir d’une copie :
sudo xfs_repair -L /dev/sdb1Attention : l’option -L force la suppression du journal. Cela peut
entraîner une perte de données récentes. À utiliser en dernier recours.
Outils complémentaires
Section intitulée « Outils complémentaires »-
xfs_metadump: exporte les métadonnées pour analyse ou bug report (non destructif).Fenêtre de terminal sudo xfs_metadump -o /dev/sdb1 sauvegarde.metadump -
xfs_check: ancien outil de diagnostic (déprécié, remplacé parxfs_repair -npour un test non destructif).
Lire les erreurs dans les logs
Section intitulée « Lire les erreurs dans les logs »Comme pour tout FS, XFS logge ses erreurs dans le noyau :
dmesg | grep XFSjournalctl -k | grep XFSGrâce à xfs_repair, la récupération d’un système XFS est rapide, même sur
des volumes très grands. Et comme il ne vérifie pas automatiquement au boot,
c’est à toi d’intervenir quand un souci se présente. On va maintenant voir
comment surveiller et ajuster dynamiquement un volume XFS avec les bons
outils.
Surveillance et tuning avec xfs_info et xfs_growfs
Section intitulée « Surveillance et tuning avec xfs_info et xfs_growfs »Une fois un système de fichiers XFS en production, il ne suffit pas de le monter et de l’oublier. Pour garantir sa performance et sa stabilité sur la durée, il faut savoir surveiller son état, ajuster ses paramètres, et l’agrandir si besoin. Voici les outils de base pour gérer cela proprement.
Afficher les informations du système de fichiers
Section intitulée « Afficher les informations du système de fichiers »La commande xfs_info donne un aperçu complet des paramètres du système de
fichiers monté :
sudo xfs_info /mnt/dataOn y voit :
- la taille des blocs,
- les groupes d’allocation (
agcount), - les options de journalisation,
- les paramètres d’alignement (important en RAID).
Exemple :
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blksdata = bsize=4096 blocks=2621440, imaxpct=25Agrandir un système XFS à chaud
Section intitulée « Agrandir un système XFS à chaud »XFS permet d’agrandir un système monté, sans redémarrage ni démontage. Très utile lorsqu’on ajoute de l’espace via LVM ou sur un RAID.
- Étendre la partition ou le volume logique (ex.
lvextend,growpart, etc.) - Étendre le système de fichiers :
sudo xfs_growfs /mnt/dataIl n’y a pas besoin de spécifier de taille : XFS utilisera toute la place disponible.
Gestion des quotas avec xfs_quota
Section intitulée « Gestion des quotas avec xfs_quota »XFS supporte les quotas utilisateur, groupe et projet. Pour les activer :
- Ajouter
uquota,gquotaoupquotaaux options de montage dans/etc/fstab:
UUID=xxxx /mnt/data xfs defaults,uquota 0 0- Remonter le système :
sudo mount -o remount /mnt/data- Gérer les quotas :
sudo xfs_quota -x -c 'report -h' /mnt/dataPour fixer une limite :
sudo xfs_quota -x -c 'limit bsoft=50g bhard=60g user1' /mnt/dataObserver l’espace disque et les inodes
Section intitulée « Observer l’espace disque et les inodes »- Pour l’espace :
df -hT /mnt/data- Pour les inodes :
df -i /mnt/dataJournal système et erreurs
Section intitulée « Journal système et erreurs »Comme toujours, vérifie régulièrement les logs système pour repérer d’éventuelles erreurs XFS :
journalctl -k | grep XFSAvec xfs_info, xfs_growfs et xfs_quota, tu disposes de tout le nécessaire pour suivre l’état du système de fichiers XFS et l’adapter aux besoins réels. Dans le chapitre suivant, je te propose les bonnes pratiques spécifiques à XFS à appliquer dès le déploiement.
Bonnes pratiques spécifiques à XFS
Section intitulée « Bonnes pratiques spécifiques à XFS »XFS est un système de fichiers performant et stable, mais pour en tirer le meilleur parti, il faut l’utiliser dans les conditions pour lesquelles il a été conçu. Voici les bonnes pratiques que je recommande pour exploiter au mieux ses capacités, éviter les pièges classiques et garantir une gestion efficace sur le long terme.
1. Bien aligner les partitions (RAID/SSD)
Section intitulée « 1. Bien aligner les partitions (RAID/SSD) »XFS est très sensible à l’alignement des blocs, surtout sur RAID ou SSD.
Lors de la création avec mkfs.xfs, utilise les options -d su=... sw=... pour
aligner les données selon les caractéristiques de ton matériel :
sudo mkfs.xfs -d su=64k,sw=4 /dev/sdb1Cela optimise l’écriture séquentielle et évite les ralentissements.
2. Ajuster les options de montage
Section intitulée « 2. Ajuster les options de montage »Adapte les options à ton usage réel :
noatime: réduit les écritures sur disque,inode64: recommandé pour les volumes > 2 To,allocsize=64k: améliore les performances sur les gros fichiers,nodev,nosuid: renforce la sécurité sur/tmp,/home, etc.
3. Activer et utiliser les quotas
Section intitulée « 3. Activer et utiliser les quotas »XFS intègre une gestion fine des quotas (utilisateur, groupe, projet). Active-les dès la création si tu prévois de partager le disque entre plusieurs utilisateurs ou services :
defaults,uquotaEnsuite, configure-les avec xfs_quota.
4. Préférer la croissance à chaud
Section intitulée « 4. Préférer la croissance à chaud »XFS ne supporte pas le rétrécissement (shrink). Si tu utilises LVM ou un
disque dynamique, pense à prévoir une marge dès la création, puis utilise
xfs_growfs pour étendre à chaud si besoin.
5. Surveiller les logs système
Section intitulée « 5. Surveiller les logs système »XFS logge ses événements critiques via le noyau. Vérifie régulièrement :
dmesg | grep XFSjournalctl -k | grep XFSCela te permet de repérer à temps un journal corrompu ou un disque défaillant.
6. Sauvegarder avec xfsdump/xfsrestore
Section intitulée « 6. Sauvegarder avec xfsdump/xfsrestore »Pour des sauvegardes complètes compatibles avec toutes les métadonnées XFS, utilise les outils natifs :
sudo xfsdump -f /backup/data.xfs /mnt/datasudo xfsrestore -f /backup/data.xfs /mnt/restore7. Éviter les snapshots sur XFS
Section intitulée « 7. Éviter les snapshots sur XFS »XFS ne propose pas de snapshots natifs. Si tu en as besoin, utilise LVM ou btrfs. Évite à tout prix de bricoler des solutions maison non supportées (montages overlay, etc.).
En appliquant ces bonnes pratiques, tu assures à ton système XFS une longévité, une efficacité et une stabilité maximale, même sous forte charge ou sur de très gros volumes. On termine le guide avec une section pour tester tes connaissances sur XFS.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Tu veux vérifier si tu as bien retenu l’essentiel sur XFS ? Ce petit quiz te permet de tester ta compréhension des concepts clés : création, montage, tuning, vérification et bonnes pratiques. Il peut aussi servir d’exercice de révision avant une mise en production.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
📋 Récapitulatif de vos réponses
Vérifiez vos réponses avant de soumettre. Cliquez sur une question pour la modifier.
Détail des réponses
- 10 questions aléatoires tirées de la banque de questions,
- 5 minutes pour répondre,
- 80 % requis pour valider.
Ce test est un excellent moyen de valider tes acquis ou de repérer les points à revoir. Une fois que tu maîtrises tout ça, XFS n’aura plus de secrets pour toi. Il ne reste plus qu’à conclure.
Conclusion
Section intitulée « Conclusion »Le système de fichiers XFS reste une valeur sûre pour les environnements Linux qui demandent performance, stabilité et grande capacité. Il est particulièrement adapté aux serveurs de fichiers, aux bases de données, et aux systèmes traitant de gros volumes ou de nombreux accès concurrents.
XFS ne propose pas autant de fonctionnalités modernes que Btrfs (pas de snapshots, pas de compression), mais il excelle là où la fiabilité et la vitesse sont prioritaires.