Posts Tagged "xfs"

Défragmenter le système de fichiers XFS

Uti­li­sa­teur heu­reux du sys­tème de fichier XFS, je suis au fait qu'il faille le défrag­men­ter de temps en temps, selon l'utilisation que l'on fait de ses disques durs.

En effet, contrai­re­ment à la croyance trop répan­due qu'un sys­tème de fichier sous GNU/Linux ne se défrag­mente pas, il faut rap­pe­ler que XFS et Rei­serFS échappent à cette règle. Sur un sys­tème de fichier en XFS de 250Go dans lequel tran­sitent à un rythme effréné les films de vacance de ma grand-mère en MKV de 10Go cha­cun, j'en arrive en quelques mois à des taux de frag­men­ta­tion qui laissent baba devant son écran : 70, 80 et même 99% de frag­men­ta­tion ! Il va de soi que les per­for­mances en lec­ture deviennent déplorables…

La solu­tion ? Défrag­men­ter, évidemment…

Il faut com­men­cer par s'assurer que l'on dis­pose des outils néces­saires : xfsprogs, qui est un ensemble d'utilitaires de ges­tion du sys­tème de fichiers XFS.
Sous Ubuntu, il suf­fit de cli­quer sur le lien ci-dessus, ou de pas­ser par Synap­tic ou encore par le terminal :

$ sudo apt-get install xfsprogs

À adap­ter, bien sûr, selon votre distribution…

Pas­sons main­te­nant aux choses sérieuses :
On par­tira du prin­cipe, pour la suite, que la par­ti­tion visée est /dev/sdb2.

Dans un ter­mi­nal, on lance :

$ sudo xfs_db -c frag -r /dev/sdb2
actual 622, ideal 497, fragmentation factor 20,10%

L'option –c per­met de pas­ser la com­mande frag direc­te­ment à xfs_db. La com­mande frag nous indique le taux de frag­men­ta­tion du sys­tème.
L'option –r ouvre le sys­tème de fichier en lec­ture seule, ce qui est tou­jours préférable.

Main­te­nant que nous savons à quel point le sys­tème est frag­menté, pas­sons à la défrag­men­ta­tion pro­pre­ment dite. Pour cela, xfsprogs contient un uti­li­taire nommé xfs_fsr qui se charge de tout le boulot :

$ sudo xfs_fsr /dev/sdb2

Selon la taille du disque et son degré de frag­men­ta­tion, vous pou­vez aller vous entraî­ner à la cor­ne­muse, faire du jog­ging ou vous occu­per de votre copine (ou copain), ça risque de prendre un peu de temps.

Une fois l'opération ter­mi­née, on peut consta­ter l'efficacité du procédé :

$ sudo xfs_db -c frag -r /dev/sdb2
actual 517, ideal 497, fragmentation factor 1,92%
Read More