Thread (1 message) 1 message, 1 author, 2009-05-04

Re: Query regarding stripe management in linux md-raid

From: Goswin von Brederlow <hidden>
Date: 2009-05-04 17:04:04

Kunal Kushwaha [off-list ref] writes:
Hi Goswin,

My understanding of chunk size is that,  it is minimum unit of data
that is used for read/write.
Chunk size defines, amount of data written on one disk after breaking
it in equal no of chunks.
Chunk size = Stripe size /  (disks in array - parity disks)

so for raid 5, chunk_size = Stripe_Size / (total_disks -1)
and for raid 6, chunk_size = Stripe_Size / total_disks -2)

and parity is also written in terms of chunk size.

Now considering a case where IO request came for complete 1 stripe, we
need buffer, for 1 stripe, but since we allocated 1 page per chunk,
instead of 64k buffer we have only 4k buffer, So how this is handled?
No. read/write are generaly handled on a page size level, which almost
always means 4k. If you think about it you can easily split a chunk
into 4k bits and handle each one independently.

MfG
        Goswin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help