Recoverdisk

Nu hvor alle mulige andre bloggere har skamrost deres yndlingsprogram, så vil jeg også melde mig i rækken: recoverdisk

I al beskedenhed har jeg selv skrevet recoverdisk og det findes pt. kun som kildetekst på nyere FreeBSD systemer (/usr/src/tools/tools/recoverdisk).

Recoverdisk kopierer en disk, men under antagelsen af at den har bad spots og andre dårligdomme. Den starter med at læse i klumper på 1MB og hvis en klump fejler, bliver den lagt bag i køen.

Når hele disken er forsøgt læst en gang, blive de stumper der fejlede første gang prøvet igen, men denne gang i klumper af 64KB. Igen bliver de klumper der fejler lagt bag i køen.

Til sidst bliver alt hvad der stadig mangler at blive læst, prøvet sektor (512 bytes) for sektor, indtil det hele er læst eller nogen stopper programmet. Recoverdisk bliver måskel KILL-9'et, men den giver ikke op :-)

Grunden til at recoverdisks strategi virker så godt som det gør, er at moderne diske har enorme mængder ECC bits for hver sektor og derfor betaler det sig faktisk at blive ved med at prøve, igen og igen og igen.

Den lidt uintuitive 3-trins strategi blev valgt fordi når jeg står med en syg disk vil jeg gerne have så mange data af så hurtigt som muligt og ved samme lejlighed kunne jeg godt tænke mig et overblik over hvor galt det står til med disken.

Recoverdisk er naturligvis ikke noget værd hvis kernen exploderer ved første udsigt til problemer med en disk, men sålænge en disk ikke er mountet har FreeBSD ingen problemer i den retning.

Jeg kom i tanke om recoverdisk fordi her til morgen mistede jeg et par diske.

Det er et spejlet par Hitachi 2.5" E7K100 SATA med meget tætte serienumre så der er bestilt nye diske.

Recoverdisk har fundet alt pånær 3 sektorer på den første disk og den er igang med disk 2.

Heldigvis ser det ud til at det ikke er samme steder der er bad sectors på de to diske, så om nogen timer skulle jeg have mine data igen...

Og mon så ikke det er på tide at jeg flytter recoverdisk ned i /bin...

phk

Kommentarer (9)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Peter Makholm

Jeg har ingen ide om hvordan GNU ddrescue virker, men jeg brugte det til noget tilsvarende i går. Tilsyneladende har jeg kunne rede mine data-volumes, så mine hjemmehostede websteder inkl. min øl-dagbog virker igen.

(Joda, jeg tager backup. Krydser med min bærbare, men dens disk blev så træt for en måned siden)

GNU ddrescue: http://www.gnu.org/software/ddrescue/ddrescue.html

  • 0
  • 0
Martin R. Ehmsen

Ideen er rigtig god og jeg har brugt den et par gange til at få vigtig data tilbage (hvorefter jeg begyndte at lave backup :-).
Jeg synes dog måske det er lidt over-kill at skrive sådan et program selv når det allerede findes:

http://www.garloff.de/kurt/linux/ddrescue/
http://www.kalysto.org/utilities/dd_rhelp/index.en.html

Ud fra din beskrivelse gør ovenstående kombination omtrent det samme.
Jeg har som sagt brugt ovenstående med held.

  • 0
  • 0
Jacob Volstrup

Hej Poul,

Surt med dine diske som er crashet. Men hvad pokker får dog to diske til at crashe samtidig? Når man kører spejling er det jo netop for ikke at skulle miste data hvis den ene disk fejler, men det går jo galt hvis de begge fejler.

Har der været fejlstrøm i dit system, en defekt controller eller bare en lille pudseløjerlighed? I det sidste tilfælde ville jeg nok rette mit skarpe blik mod controlleren for at sikre mig at den ikke blot er en ulv i fåreklæder .-D

  • 0
  • 0
Troels Arvin

Jeg synes, at RAID mister noget af sin værdi, hvis det består af diske fra samme produktionsbatch.

Jeg prøver derfor at bygge RAIDs bestående af diske fra forskellige leverandører - selvfølgelig stadig med nogenlunde éns egenskaber såsom størrelse og omløbstid. Hvis det ikke lader sig gøre at finde passende diske fra forskellige producenter, prøver jeg om jeg kan købe dem fra forskellige forhandlere, i håb om at de så vil være fra forskellige batches.

Endelig er det selvfølgelig vigtigt at overvåge RAID'ets helbred. Ellers reduceres redundansen til spild af penge.

  • 0
  • 0
Henrik Kramshøj Blogger

PHK ved det og mange andre ved det, men husk aligevel at RAID ikke er en undskyldning for at undvære backup.

RAID sikrer i mange tilfælde at du kører videre, selvom en disk dør - availability

backup sikrer at du kan komme igang igen, hvis du mister det hele - på grund af diskfejl eller administratorfejl.

Da backup sjældent er foretaget online og hele tiden vil det dog stadig give god mening at prøve med recoverdisk. PHK jeg glæder mig ikke til at stå i den situation, men glæder mig til at se om det virker en dag :-)

  • 0
  • 0
Log ind eller Opret konto for at kommentere