[clug] raid question
steve jenkin
sjenkin at canb.auug.org.au
Wed Feb 19 23:13:47 MST 2014
On 20/02/2014, at 1:08 PM, Eyal Lebedinsky wrote:
> sdi sector 261696 is sdi1 sector 259648 and in a 7 part raid6 it is 259648*5=1298240
> sectors into the fs, or 162280 4k blocks. The blocks in this area are my focus.
If the read-error is on a parity block, it won't be read, so a read error event won't be triggered..
Would you be better computing this in full 'chunks' and testing reads of them on the raw device?
Are chunks 64Kb or 512Kb or larger on your md device?
My assumption is that mdadm does its first parity block as RAID-5, for chunk-N data = {disk[0,N], disk[1,N], ..., disk[4,N]} + parity ={disk[5,N]} (with parity drive rotating) and a more complex algorithm for second parity block, potentially including blocks from other chunks (quick search didn't show the algorithm).
The drive talks about sectors and 'logical blocks' (0.5Kb and 4Kb), I'd test the drive at 4Kb level, not 512b sectors.
I understood that drive vendors moved to native 4Kb sectors some time back...
> [768141.748586] end_request: I/O error, dev sdi, sector 261696
> [768141.816217] Buffer I/O error on device sdi, logical block 32712
32712 * 8 = 261696
If you hadn't seen it already, 'md' has 'check' and 'repair' options:
<http://www.thomas-krenn.com/en/wiki/Mdadm_checkarray>
--
Steve Jenkin, IT Systems and Design
0412 786 915 (+61 412 786 915)
PO Box 48, Kippax ACT 2615, AUSTRALIA
mailto:sjenkin at canb.auug.org.au http://members.tip.net.au/~sjenkin
More information about the linux
mailing list