Gisteren is 1 van de 2 HD's in mijn linux software raid (striping) gaan haperen, en ik ben op zoek naar een mogelijkheid mijn data zoveel mogelijk terug te halen.
Omschrijving systeem (maakt volgens mij voor het probleem niet veel uit maar je weet maar nooit):
2x Maxtor 60 gb 7200 rpm liquid bearing schijven, beide master van 1 van de 2 kanalen op mijn Silicon Image 0680 kaartje. Schijven zijn hde en hdg.
Elke schijf heeft 4 partities, waarvan hde2 en hdg2, elk 50 Gb, mijn 100 Gb raid vornen, md0 genaamd. Op md0 staat een ext3 filesystem met 4k blocks en intern journal.
Omschrijving probleem: van de hdg schijf kan een (naar mijn inschatting) klein deel niet meer worden gelezen. Helaas valt dit net in de eerste 15 Mb van hdg2, zodat de eerste 30 Mb van md0 onleesbaar zijn. Dit is dus typisch het deel waar het ext3 journal staat. Het fs is niet clean ge-unmount.
Ik heb de volgende mount/fsck-pogingen ondernomen (alle als read-only)
Gewoon mounten/fscken als ext3 geeft het probleem dat de journal inode (waarschijnlijk net als het journal zelf) niet gelezen kan worden; wat het onmogelijk maakt te mounten.
Een reserve-superblock opgeven (nummers afgeleid uit mke2fs -n) geeft een "Magic mismatch". (zowel uitgaand van 1k als 4k blocks)
Mounten als ext2 kan in principe met ext3; maar de ext2 driver ziet het unclean zijn van ext3 als een unsupported feature en wil hem dus ook niet mounten. Zelfde probleem als ik een ander superblock opgeef.
Kort gezegd: ext2 wil niet mounten omdat ie ext3-unclean is; en omdat de ext3 jounal zo goed als weg is wil ie ook niet als ext3 mounten.
Op de HCC dagen wil ik een 120 gb schijf kopen zodat ik het leesbare fs-deel daarheen kan dd-en en ik wat kan prutsen en een eventueel gemount fs ook kan worden teruggeschreven.
Wie heeft er mogelijke oplossingen? Dus bijvoorbeeld:
- Een manier om het fs als clean te markeren zonder met een hexeditor over de superblock heen te gaan zodat ik hopelijk als ext2 kan mounten.
- Iets dat het journal op een semi-nette manier kan legen+opnieuw aanmaken (evt op andere lokatie of zelf externe file) zonder dat het eerst moet worden verwerkt.
- Als het echt niet anders kan: een programma dat me helpt om ext2/3 op een laag niveau door te werken zodat ik dat niet zelf hoef te schrijven.
alvast mijn eeuwige dank voor wie de oplossing heeft...
PS Voor mij offtopic-ness verweten wordt, naar mijn mening is dit meer linux-gerelateerd dan HD-gerelateerd en is veruit de meeste nuttige kennis erover hier aanwezig.
Omschrijving systeem (maakt volgens mij voor het probleem niet veel uit maar je weet maar nooit):
2x Maxtor 60 gb 7200 rpm liquid bearing schijven, beide master van 1 van de 2 kanalen op mijn Silicon Image 0680 kaartje. Schijven zijn hde en hdg.
Elke schijf heeft 4 partities, waarvan hde2 en hdg2, elk 50 Gb, mijn 100 Gb raid vornen, md0 genaamd. Op md0 staat een ext3 filesystem met 4k blocks en intern journal.
Omschrijving probleem: van de hdg schijf kan een (naar mijn inschatting) klein deel niet meer worden gelezen. Helaas valt dit net in de eerste 15 Mb van hdg2, zodat de eerste 30 Mb van md0 onleesbaar zijn. Dit is dus typisch het deel waar het ext3 journal staat. Het fs is niet clean ge-unmount.
Ik heb de volgende mount/fsck-pogingen ondernomen (alle als read-only)
Gewoon mounten/fscken als ext3 geeft het probleem dat de journal inode (waarschijnlijk net als het journal zelf) niet gelezen kan worden; wat het onmogelijk maakt te mounten.
Een reserve-superblock opgeven (nummers afgeleid uit mke2fs -n) geeft een "Magic mismatch". (zowel uitgaand van 1k als 4k blocks)
Mounten als ext2 kan in principe met ext3; maar de ext2 driver ziet het unclean zijn van ext3 als een unsupported feature en wil hem dus ook niet mounten. Zelfde probleem als ik een ander superblock opgeef.
Kort gezegd: ext2 wil niet mounten omdat ie ext3-unclean is; en omdat de ext3 jounal zo goed als weg is wil ie ook niet als ext3 mounten.
Op de HCC dagen wil ik een 120 gb schijf kopen zodat ik het leesbare fs-deel daarheen kan dd-en en ik wat kan prutsen en een eventueel gemount fs ook kan worden teruggeschreven.
Wie heeft er mogelijke oplossingen? Dus bijvoorbeeld:
- Een manier om het fs als clean te markeren zonder met een hexeditor over de superblock heen te gaan zodat ik hopelijk als ext2 kan mounten.
- Iets dat het journal op een semi-nette manier kan legen+opnieuw aanmaken (evt op andere lokatie of zelf externe file) zonder dat het eerst moet worden verwerkt.
- Als het echt niet anders kan: een programma dat me helpt om ext2/3 op een laag niveau door te werken zodat ik dat niet zelf hoef te schrijven.
alvast mijn eeuwige dank voor wie de oplossing heeft...
PS Voor mij offtopic-ness verweten wordt, naar mijn mening is dit meer linux-gerelateerd dan HD-gerelateerd en is veruit de meeste nuttige kennis erover hier aanwezig.
[ Voor 5% gewijzigd door Verwijderd op 27-11-2003 12:31 . Reden: kleine aanpassing+PS ]