Forum Linux.général Ne jamais utiliser defrag...

Posté par .
Tags : aucun
0
23
mai
2007
Poum tous,

Mon problème est simple. J'ai voulu defragmenter une SD Card en FAT à partir de Linux, et le seul programme disponible était un utilitaire appelé defrag. Après l'avoir installé, j'ai vu qu'en fait il ne défragmentait que de vrais FS (ext entre autres).

Comme ma curiosité n'a pas limite, je me suis dit que je vais le tester sur ma superbe partition /share de 70 Go, avec toutes mes données et des backups de ces données qui attendaient patiemment d'être copiées ailleurs.

J'ai donc lancé le bousin, tout marche à merveille : un bel écran "win 98 l33t-scandisk-style" (pour ceux qui s'en souviennent...), avec le petit curseur qui se déplace et les petits grésillements de mon disque chérie. Je l'ai laissé tourné comme ça, vu que je discutais irl en même temps, et j'ai voulu lancer une machine virtuelle pour travailler : mon disque ruminant, la machine virtuelle avait un peu de mal, je suis donc allé dans le term de defrag, et j'ai tenté un control+C, sans succès. Cela aurait du me paraitre suspect, mais dans la discussion, l'enchainement des clics, et ainsi de suite, par reflexe j'ai envoyé un signal méchant qui a tué sur le coup ce processus vampirisant. Rebelotte, je relance la machine virtuelle, et là je vois "File /share/.../ not found". Hmm, mon front a commencé à perler.

Après moult tests et constatations, voilà le défi :
* Les inodes sont complètement chamboulés. Tellements chamboulés que lorsque je fouille dans la partoche, je vois certains dossiers mais pratiquement aucun fichier.
* Un df -h me dit que ma partoche est bien remplie à 90% de données, comme "avant".
* Impossible de faire un "ls" dans certains dossiers sans avoir une erreur (parfois).
* Un fsck.ext3 -y /partoche est hors de propos, il m'effacerait tous les inodes (en tout cas, une grande partie), et adieu fichiers.
* je n'ai pas de disque de plus de 70 go pour dumper la partoche pour pouvoir jouer à l'apprenti sorcier. C'est un portable, donc ça serait sur un dd externe usb, que je n'ai pas (en tout cas, pas pour l'instant)
* je sais que photo_rec est bien gentil, mais il me récupérerait tout en bazar, et pas tous les fichiers qu'il y'a dessus (par exemple, mes machines virtuelles).
* Cet incident m'arrive alors que j'ai une soutenance très bientôt où j'ai besoin de ces machines virtuelles sous peine de note biaisée.

PS : ne me demandez surtout pas pourquoi j'ai testé ce truc sans ajouter l'option "read-only"... extrait du man que je n'ai lu que trop tardivement : "Remember, if defrag fails to complete for any reason (including power glitches, kernel bugs etc.), you will be left with a terminally sick, and possibly completely unreadable, filesystem, so backup any valuable data before you start."
  • # pourquoi je vais me faire traiter de boulet...

    Posté par . Évalué à 5.

    [mode bougon ON]
    1°) je suis en periode critique (exam, rendu de projet, fin de mois)

    2°) je lance une manip que je ne maitrise pas defrag

    3°) je lance cette manip sur une machine en production

    4°) je tente d'arreter la manip que j'ai pourtant lancé volontairement avec un basic < CTRL >+< C >

    5°) ca ne marche pas, je decide de bourriner avec un killall defrag

    si tu avec tout ca, tu n'as pas cumulé
    en tout cas tu l'as quand meme un peu cherché.
    [mode bougon OFF]

    tentative de consolation :
    un outil comme photorec te rendra certains (peut-etre pas tous) fichiers,
    et vu ce qu'il te reste je pense que les retrouver c'est deja pas mal

    les retrouver rangés comme avant, entier etc, il faut peut-etre pas rever.

    surtout que visiblement meme le dev de defrag n'est pas super confiant sur les chances de recuperer quelques choses
    "Remember, if defrag fails to complete for any reason (including power glitches, kernel bugs etc.), you will be left with a terminally sick, and possibly completely unreadable, filesystem, so backup any valuable data before you start."


    sinon google est aussi ton ami.
    • [^] # Re: pourquoi je vais me faire traiter de boulet...

      Posté par . Évalué à 1.

      Vi je sais, je suis tout à fait d'accord, je n'ai aucune excuse :( Le truc c'est que je savais dans mon inconscient que le kill était mauvais, mais comme je disais, je n'étais pas concentré dessus : c'est comme si par exemple tu lançais un updatedb, tu passes à autre chose ailleurs que devant l'écran, quand tu reviens tu veux lire un document dans openoffice, et "mécaniquement" tu coupes l'updatedb. Je sais pas comment l'expliquer autrement. Le pire c'est que je voulais même pas tester defrag, c'était juste pour voir à quoi il ressemblait !

      J'ai fait un tour sur Google vite fait, apparement y'a une option --rebuild-tree (qui remet les inodes tout bien comme il faut ?), mais c'est pour reiserfs. Après on tombe sur les solutions type, genre fsck (qui ne répare rien mais nettoie dans ce cas), test_disk (mais là c'est pas son boulot), photo_rec (il ne te récupère que certains types de fichiers, et c'est carrément pas classé du tout, c'est à la barbare dans un dossier) et des outils propriétaires qui s'avèrent la plupart du temps très dangereux vu que personne ne sait à quoi s'attendre avec.

      Et je sais que j'ai très peu voir pas de chance de récupérer les données. J'ai déjà fait plusieurs sauvetages pour des problèmes "normaux" comme des tables de partition corrompues, mais là c'est trop exotique. C'est pour ça que je tente ma chance ici, même avec le boulet d'or sous le bras :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.