----- Original Message -----
From: "David Greaves" <david@xxxxxxxxxxxx>
To: "Janos Haar" <janos.haar@xxxxxxxxxxxx>
Cc: <linux-raid@xxxxxxxxxxxxxxx>; "David Lethe" <david@xxxxxxxxxxxx>
Sent: Sunday, May 18, 2008 11:11 AM
Subject: Re: questions about softraid limitations
Janos Haar wrote:
At this time, i working in my data recovery company, and some times need
Ah - I missed this too.
to recover the broken hw raid arrays too.
(with md arrays, we have no problem at all. :-) )
Nice quote for "the benefits of software raid" somewhere :)
In your rows, we talking about 2 cases:
a, disk hw problem (only bad sectors, the completely failed disk is in
'b' case)
Yes, the ddrescue is the best way, to do the recovery, but:
The ddrescue is too agressive with default -e 0 setting!
This can be easily fail down the drive! (dependig the reason of the bad
sectors)
OK, worth knowing - what would you suggest?
The actually best way is this:
blockdev --setro /dev/SOURCE
blockdev --setra 0 /dev/SOURCE
ddrescue -v -b 4096 -B 1024 -e 1 -y 0 /dev/SOURCE /dev/TARGET (if you dont
use a real clean disk with full of zeros, you need the -A option too)
+ need some kernel patch to disable all retry on the source disk.
The best recovery history is in 3 steps:
1. read the drive with these settings, and after the error-stop, jump up
with x Kbyte, and continue reading...
2. jump only the start-kbytes, and read backward (with -e 1) to the first
error or until the end of x Kbyte.
3. read with -B 1024 -b 1204 -e 0 -y 0 only the holes. :-)
+ need to count the jump-start-errors! (if the drive gives read error after
3-5 jump continously, this means something wrong happening, and need to stop
the dirve immediately!)
The best step up x Kbyte for good heads and good platter is 16KByte - 8
MByte.
And for damaged head and/or damaged platters is 100MB - 1GB.
There is no easy solution. :-(
And with the images, we have another problem!
The 0x00 holes.
The hw or md have no deal about where we need recover from parity and
where we have real zero blocks....
Overall this is why data recovery companys learning and developing more
and more.... :-)
Hmm - I wonder if things like ddrescue could work with the md bitmaps to
improve
this situation?
Is this related to David Lethe's recent request?
I think ddrescue is for copy/rescue the data, not for processing it.
But can log the errors... ;-)
But we have another problem at this point:
The practical step is to copy the whole block device, not the partition
only.
(if something wrong happening with the damaged heads or platters, we dont
know the MBR (first sector) will be exists on the next reboot....)
Cheers,
Janos
I need no help at this time, i just want to share my ideas, to helping
upgrading/developing md, and helping for people....
OK - ta.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html