6.9. Migration de ext4 à XFS

À partir de Red Hat Enterprise Linux 7.0, XFS sera le système de fichiers par défaut et non plus ext4. Cette section pointe les différences entre utiliser et administrer un système de fichiers XFS.
Le système de fichiers ext4 est toujours pris en charge par Red Hat Enterprise Linux 7 et peut être sélectionné au moment de l'installation. Non requis quand on peut migrer d'ext4 à XFS.

6.9.1. Commandes utilisées avec ext3 et ext4 comparé à XFS

Le tableau suivant dresse une comparaison des commandes utilisées avec ext3 et ext4 par rapport à leurs équivalents spécifiques à XFS.

Tableau 6.1. Commandes communes utilisées pour ext3 et ext4 comparé à XFS

Tâcheext3/4XFS
Créez un système de fichiersmkfs.ext4 or mkfs.ext3mkfs.xfs
Vérification du système de fichiers (fsck)e2fsckxfs_repair
Redimensionner un système de fichiersresize2fsxfs_growfs
Enregistre une image de système de fichierse2imagexfs_metadump et xfs_mdrestore
Libeller ou ajuster un système de fichierstune2fsxfs_admin
Sauvegarder un système de fichiersdump et restorexfsdump et xfsrestore
Le tableau suivant répertorie tous les outils standard qui fonctionnent pour les systèmes de fichiers XFS, mais les versions XFS ont un fonctionnalité particulière, et sont conseillés pour cette raison.

Tableau 6.2. Outils standards pour ext4 et XFS

Tâcheext4XFS
Quotaquotaxfs_quota
Mappage de fichiersfilefragxfs_bmap
Vous trouverez davantage d'informations sur les commandes XFS listées dans Chapitre 6, Le système de fichiers XFS. Vous pourrez également consulter les pages man des outils d'administration XFS listés pour obtenir plus d'informations.

6.9.2. Différences comportementales et administratives entre Ext3/4 et XFS

Réparation du système de fichiers
Ext3/4 exécute e2fsck dans l'espace utilisateur au démarrage pour récupérer le journal si besoin. XFS, en revanche, procède à la récupération du journal de l'espace noyau au montage. Un script shell fsck.xfs est fourni, mais il ne sert pas à grand chose sauf en tant que prérequis d'initscript.
Quand une réparation de système de fichier XFS ou qu'une vérification est requise, utiliser la commande xfs_repair. Utiliser l'option -n pour une vérification en lecture-seule.
La commande xfs_repair ne fonctionnera pas sur un système de fichiers qui a un journal endommagé. Pour réparer un tel fichier, les commandes mount et unmount doivent être exécutées pour commencer afin d'exécuter le journal à nouveau. Si le journal est corrompu ou ne peut pas être exécuté à nouveau, l'option -L pourra être utilisée pour neutraliser le journal.
Pour plus d'informations sur la réparation du système de fichiers des systèmes de fichiers XFS, consulter Section 11.2.2, « XFS »
Comportement des erreurs de métadonnées
Le système de fichiers ext2/3 a un comportement configurable quand des erreurs de métadonnées surviennent, et que le comportement par défaut est tout simplement de continuer. Quand XFS rencontre une erreur de métadonnnées non récupérable, il ferme le système de fichiers et renvoie comme message d'erreur EFSCORRUPTED. Les journaux système contiendront des détails sur les erreurs rencontrées et vous conseilleront d'exécuter xfs_repair si besoin est.
Quotas
Les quotas XFS n'ont pas d'option pour remonter. L'option -o quota doit être spécifiée sur le point de montage de départ pour que les quotas puissent prendre effet.
Bien que les outils standards du package des quotas puisse effectuer des tâches administratives de base (comme setquota et repquota), l'outil xfs_quota peut être utilisé pour des fonctions spécifiques XFS, comme l'administration des quotas d'un projet.
La commande quotacheck n'a aucun effet sur un système de fichiers XFS. La première fois que le compteur de quotas est activé, XFS procède à un quotacheck interne automatiquement. Comme les métadonnées de quota XFS représentent un objet de métadonnées journalisées de première classe, le système de fichiers sera toujours consistent jusqu'à ce que les quotas soient désactivés manuellement.
Redimensionnement du système de fichiers
Le système de fichiers XFS n'a pas de fonctionnalité qui puisse permettre de réduire un système de fichiers. Les systèmes de fichiers XFS peuvent être agrandis en ligne à l'aide de la commande xfs_growfs.
Les numéros d'inodes
Pour les systèmes de fichiers supérieurs à 1T avec des inodes de 256 octets, ou de plus de 2T avec des inodes de 512 octets, les numéros d'inode XFS pourraient dépasser 2^32. Ces numéros d'inode élevés peuvent amener les appels de 32-bit à échouer avec le message EOVERFLOW. En général, les applications doivent gérer des numéros d'inodes élevés, mais, si nécessaire, XFS devra être monté avec -o inode32 pour appliquer les numéros d'inode inférieurs à 2^32.

Note

Cela n'affectera pas les inodes déjà alloués avec des numéros de 64-bit.
L'option change le comportement d'allocation et mène rapidement à un ENOSPC si aucun espace n'est disponible pour allouer des inodes dans les blocs de disques inférieurs. L'option inode32 ne devra pas être utilisée à moins qu'elle ne soit requise pour un environnement particulier.
Pré-allocation spéculative
XFS utilise speculative preallocation pour allouer des blocs après EOF au fur et à mesure que les fichiers sont écrits. Cela permet d'éviter la fragmentation des fichiers liée aux charges de travail de flux d'écriture parallèles sur les serveurs NFS. Par défaut, cette pré-allocation augmente en fonction de la taille du fichier, et sera apparente dans la sorie "du". Si un fichier ayant une pré-allocation spéculative n'est pas modifié sous les 5 minutes, la pré-allocation sera abondonnée. Si l'inode est sortie du cache avant ce moment-là, la pré-allocation sera abandonnée quand l'inode sera récupérée.
Si des problèmes ENOSPC apparaissent suite à une pré-allocation spéculative, un montant de pré-allocation prédéterminé pourra être spécifié par l'option de montage -o allocsize=amount.
Outils de fragmentation
La fragmentation est rarement un problème pour les systèmes de fichiers XFS pour des raison heuristiques et de comportement, comme les retardements d'allocation ou les préallocations spéculatives. Cependant, il existe des outils pour mesurer la fragmentation des systèmes de fichiers, ainsi que pour défragmenter les systèmes de fichiers. Leur utilisation n'est pas conseillée.
Les tentatives de commande xfs_db frag servent à distiller toutes les allocations de système de fichier en un nombre unique de fragmentations, exprimée en pourcentage. La sortie de la comand requiert une grande compétence pour en comprendre la signification. Par exemple, un facteur de fragmentation de 75 % indique uniquement une moyenne de 4 degrés par fichier. Pour cette raison, la sortie de frag de xfs_db n’est pas jugée utile, et une analyse plus attentive de tout problème de fragmentation est recommandée.

Avertissement

La commande xfs_fsr peut être utilisée pour défragmenter des fichiers individuels, ou tous les fichiers d'un système de fichiers. Cette dernière est particulièrement déconseillée car elle peut détruire l'emplacement des fichiers et risque de fragmenter l'espace libre.