Re: questions about softraid limitations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- 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

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux