Defragmenter ext3

Bonjour,
avec 14% de fragmentation, il est temps de faire quelque chose. Mais rien n’est vraiment prévu sur du ext3. Après quelques recherches, j’ai quelques options:

  • e2defrag, mais prévu pour du ext2, il y a des risques à l’utiliser sur du ext3
  • shake et defrag semblent convenir, mais avec un disque plein à 95 % , j’ai des doutes avec Shake
  • passer en ext4 et utiliser e4defrag

Que me conseillez vous ?

Je ne savais pas qu’une défragmentation était possible avec de l’ext. La seule solution que je connais(sais): copier les données du disque fragmenté sur un autre disque.

Ah ? Pourquoi ?
Je ne suis jamais parvenu à me faire une idée claire de ce que représente un pourcentage de fragmentation. Par rapport à quoi ? Que signifierait 100% de fragmentation ? Comment la fragmentation de l’espace libre est-elle prise en compte ?

Pour moi, un indice de la fragmentation serait plutôt basé sur le rapport entre la taille des fichiers et le nombre de fragments, mais ce rapport n’est pas un pourcentage (nombre sans dimension). En combinant cet indice avec les performances du disque telles que la vitesse séquentielle et le temps d’accès moyens, on pourrait évaluer l’impact de la fragmentation sur les performances du système de fichiers.

A mon avis le problème se situe là. Avec un taux de remplissage pareil, la fragmentation d’un système de fichiers qui “vit” est inévitable.

Avant de faire un “dd” sur un disque plus grand, il faudrait que je défragmente quand même un peu, sinon, je ne vais rien gagner. Le systéme est de plus en plus lent.
Les partitions / et /home sont dans le meme état (sauf que j’ai fait le ménage et /home est maintenant à 78% de remplissage.

S’agissant de la partition systeme, difficile de copier ailleurs et de remettre les fichiers sans passer par un liveCD, et je n’en ai pas sous la main (sauf une clef USB de 128 Mo, mais c’est un peu juste).

Si le but est de transférer le système sur un autre disque, c’est peut-être justement l’occasion de faire une copie des fichiers au lieu d’une copie brute de la partition. Et initialiser la nouvelle partition en ext4 par la même occasion.

Et en passant par l’initramfs ?

C’est effectivement une possibilité. Et je réinstalle ensuite GRUB

en grattant mes vieux souvenirs d’unixien (1985: UNIX Système III sur micromega), il me revient que la procédure, en l’absence d’outil dédié, était:
-) sauvegarde sur un support amovible par CPIO (DD est une copie bit à bit et n’apporte rien)
-) mkfs sur la partition pour avoir un File System propre (liste chaînée des inodes)
-) CPIO de l’archive vers la partition à restaurer.

Il me semble que le FS ext repose toujours sur ce concept de liste chaînée d’inodes avec 1, 2 et 3 niveau de redirection (selon la taille du fichier). Au passage, soulignons la clairvoyance des concepteurs d’UNIX qui ont été capables d’imaginer un FS cap)able de gérer des disques durs d’une capacité inconnue à l’époque. A comparer à la bouse qu’était (est encore) FAT 16.

C’est exactement ce que propose Pascal.

Ma proposition n’impliquait pas forcément de passer par une archive intermédiaire, mais le résultat est le même.

Bonjour,

Les partitions de type ext3 et ext4 ( avec journalisation ) sont-elles réellement fragmentées ?

Il me semble que les déplacements des fichiers se font en démarrage du système ?

Est-ce exact ?

En 2006, il existait un logiciel de défragmentation : Shake :
linuxfr.org/news/shake-un-d%C3% … r-gnulinux

D’avance merci.

Que veux-tu dire ?

Bonsoir,

Comme tout système UNIX les inodes contiennent des informations sur les fichiers et se repositionnent à chaque redémarre et un system check s’effectue.

Inodes : pour aller plus loin :wink: :
linux-france.org/article/dalox/unix02.htm

Bon week-end

Ah ? Jamais entendu parler. La page que tu cites n’en parle pas non plus.

Si tu veux parler de la vérification du système de fichiers (fsck), elle n’a pas pour objet de défragmenter mais de détecter les erreurs et incohérences. Le démarrage serait beaucoup trop long s’il fallait défragmenter à chaque fois. Tout ce que peut faire [mono]e2fsck[/mono] à ma connaissance, c’est compacter les répertoires (option [mono]-D[/mono] qui n’est pas utilisée au démarrage).

[quote=“PascalHambourg”]
Si tu veux parler de la vérification du système de fichiers (fsck), elle n’a pas pour objet de défragmenter mais de détecter les erreurs et incohérences…[/quote]

fsck peut avoir des effets pervers, surtout invoqué avec l’option -y:
Il procède à une vérification de la liste chaînée des inodes. Si un inode se retrouve orphelin, il est transformé en fichier, mis dans le répertoire lost+found qui n’existe que si tu l’as créé par la commande mklost+found (du moins pour ext2). Tu peux éxaminer ces fichiers avec la commande file pour en déterminer le format (texte, binaire…) et cat pour en visualiser le contenu.
Il ne répare pas le fichier original.