Recheche Gourou du ext2fs 0.5b ! [ Problème résolut ! ]

Recheche Gourou du ext2fs 0.5b ! [ Problème résolut ! ] - Débats - Linux et OS Alternatifs

Marsh Posté le 09-10-2002 à 10:42:55    

Bonjour,
 
J'ai fais un GROSSE connerie !
 
L'histoire (résumée):
J'ai un petit serveur sous linux (e-smith, 5.1.2) qui utilise 2 disques:
/dev/sda Disque principal de 18Go.
/dev/hda Disque de 9Go utilisé pour faire des sauvegardes (dump.gz).
 
Suite à changement de carte mère (KA7 cramée !) le système démarrait correctement, sauf que j'avais plus de réseaux (2 carte 3c90x).
 
Je décide de réinstaller / restaurer, ce qui est bien crado, j'en conviens, mais qui est normalement une solution super rapide avec la e-smith : 20 minutes environ.
 
Ca marche toujours pas, et en fait le problème vient d'une des carte rézo qui n'aime pas son port PCI. Après changement de port, tout va bien !
 
Sauf, que vous l'auvez deviné, j'ai plus rien sur /dev/hda, à part une petite partition /boot ! ! !
 
Pour le moment, le disque IDE de 9 Go est sorti du serveur, qui à été réinstallé avec le seul disque SCSI.
 
En fouillant dans le disque IDE, avec des vieux outils (Norton DisqueEdit) j'ai constaté ce qui suit:
 
 
Actuellement, il y a une seule partition /boot de 16 Mo sur le disque.
J'ai cherché des traces de superblocks de l'ancienne partition, et j'en ai trouvé !
Les anciens groupes font 128 Mo et je trouve donc le superbloc #1 à 128Mo + 1 cylindre du début du disque.
 
En revanche pas de trace de superbloc #2 !
 
En chechant plus loin, je trouve un superbloc #3, puis 5, 7...
 
Pas de trace de superbloc de numéro pair !
 
Pour le moment, je me contente de me renseigner sur la structure du système de fichier ext2 et de voir comment mon disque était structuré.
 
D'après ce que j'ai compris, je ne m'explique pas la disparition des superblocs pair !
( Ca vient peut-être de DisqueEdit qui ne comprend pas bien la géométrie de mon disque. Il ne m'en montre que 3 Go !)
 
Comme je l'ai dis au début, ce disque me servait à faire des sauvegarde. Tous les jours, le système entier était sauvegardé dans 2 fichiers du genre : boot_aammjj.dump.gz et root_aammjj.dump.gz.
 
Pour me sauver la mise, il me suffit donc de récupérer un des ficher root...
 
En suposant que les superblocs pairs soient toujours là, je me demande quelle serait la meilleur stratégie pour récupérer mes données.
 
1- Reconstruire une partition de 9Go et refaire une chaîne de répertoire bidon pour le début du disque.
En passant, j'ai beaucoup de mal à trouver de l'info précise sur tout ce qui concerne la gestions des répertoires.
A part leur structure interne, je ne sais pas où les trouver, comment ils s'enchainent...
 
2- Trouver l'inode d'un des fichiers à récupérer, et tirer le fils des blocks pour les écrires sur un autre disque.
Problème : Les fichiers sont assez gros, et donc il faut que j'arrive à écrire un prog (ou bien  en trouver un) pour m'aider à le faire.
Si je le fait à partir d'un environement MS-DOS, il faut que j'arrive à convertir les numéros de blocs en numéro de secteurs physiques.
Si je le fait à partir de linux ( ce qui serait plus logique ;) ), j'ai encore plus de trucs à apprendre !
 
Merci de vos éventuels avis (constructifs si possible, hein) sur la manière de s'y pendre.
 
Bien sûr, n'hésitez surtout pas à poser des questions.


Message édité par Mara's dad le 11-10-2002 à 15:53:46

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-10-2002 à 10:42:55   

Reply

Marsh Posté le 09-10-2002 à 14:17:04    

Bon, ben UP alors :(


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-10-2002 à 17:33:29    

si j'ai bien compris, le dd que tu cherches a reparer te sert de sauvegarde c'est ca??
 
si c'est le cas,
 
mke2fs /dev/hda1
 
et tu refais ta sauvegarde, c'est pas long


Message édité par apolon34 le 09-10-2002 à 17:33:42
Reply

Marsh Posté le 09-10-2002 à 17:52:12    

Oui, c'est sûr je pensais que c'était évident :
 
Quand j'ai réinstallé le système, le contenu du disque /dev/sda (SCSI 18 Go) à été perdu. Contenu, que je pensais pouvoir restaurer à partir du /dev/hda (IDE 9 Go)
 
C'est pour çà que je tiens beaucoup à récupérer ce qui n'est pour l'instant que du charabia  :cry:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-10-2002 à 17:53:18    

Au fait, merci quand même d'avoir répondu.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-10-2002 à 19:42:22    

tu as bien specifie le type du fs pour monter ton dd de sauvegarde ?
 
moi si je fais mount /dev/hda1 /mnt sans specifier le fs, il me le monte en vfat et forcement ya que du charabia dedans....
 
 
essaie mount /dev/hda1 /mnt -t ext2( ou 3)
 
ca change quelque chose?

Reply

Marsh Posté le 10-10-2002 à 09:21:36    

Bon, je suis toujours pas clair !
 
Avant mon problème de carte mère, le disque IDE de 9Go avait une (et une seule) partition de 9Go qui me servait de sauvegarde.
 
Après remplacement de la carte mère, j'ai réinstallé la distrib, qui a pris ses aises sur les diques dispo. C'est à dire que sur le disque IDE de 9Go, elle à créé une partition de 16 Mo pour y mettre le /boot, et tout le reste sur le disque SCSI de 18 Go.
 
Donc, j'avais un disque de 9Go avec des sauvegardes SUPER importantes dessus, et maintenant, j'ai un disque avec juste une (et une seule) partition de 16 Mo !
 
Mes données de sauvegarde sont toujours sur le disque, après les 16Mo, mais elles sont innaccesible pour le système.
 
Je me fout royalement des 16Mo, ce que je veux, c'est soit :
 
1- Bricoler la table de partirion de manière à avoir de nouveau un disque de 9Go (disque logique je veux dire) et reconstruire le reste (Premier groupe, répertoire...) pour que la structure soit correcte SANS perturber le reste du disque.
 
2- Lire les blocks d'au moins un de mes fichiers de sauvegarde.
 
 
DONC:
 
J'ai fais hier soir une copie du disque de 9Go sur un autre disque avec dd.
Bien sûr comme il n'est pas possible de créer un fichier de 9Go, je l'ai fait en plusieurs morceaux.
 
Le disque de 9Go est /dev/hdb
Le disque ou j'ai copié est un nouveau disque (/dev/hda) monté en /svg. J'ai donc fait un truc du genre :
 
dd if=/dev/hdb count=1024 iof=1048576 of=/svg/svg_01.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=1024 of=/svg/svg_02.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=2048 of=/svg/svg_03.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=3072 of=/svg/svg_04.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=4096 of=/svg/svg_05.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=5120 of=/svg/svg_06.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=6144 of=/svg/svg_07.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=7168 of=/svg/svg_08.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=8192 of=/svg/svg_09.dump
dd if=/dev/hdb count=1024 iof=1048576 skip=9216 of=/svg/svg_10.dump
 
J'ai donc 9 fichiers de 1Go et un fichier d'environ 500Mo.
 
 
Maintenant que j'ai une sauvegarde (Nouveau disque débranché, et conservé au chaud ;) )
Je pense que je dois pouvoir faire un truc du genre:
1- Avec fdisk, supprimer la partition de 16Mo.
2- Toujours avec fdisk, créer une partition de la totalité du disque, donc 9Go.
3- Enfin utiliser e2fsck pour répérer la structure de début du disque.
 
Après çà, je pense qu'il suffira de remonter le disque et que je devrais y trouver quelque-chose de lisible !
 
Bon, mais tout çà c'est pour ce soir, donc si d'içi là vous avez des commentaires...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-10-2002 à 15:52:31    

Ben, c'est bon !
 
Après le e2fsck, j'ai retrouvé tout ce que je vaoulais dans "lost+found".
 
Me reste plus qu'à tout remettre à sa place...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed