Re: Is Read speed faster when 1 disk is failed on raid5 ?

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

 



On Mon, Oct 28, 2002 at 01:37:34PM -0800, Yiqiang Ding wrote:
> Hi Jakob,
> 
> I don't follow your guesses. Why do you think it may be related to chunk
> size? Anyway, I'm using 32K.

Because in RAID-5, each disk will hold blocks like:

Disk 0:  [parity] [data]   [data]   [parity]
Disk 1:  [data]   [parity] [data]   [data]
Disk 2:  [data]   [data]   [parity] [data]

So when reading blocks 0, 1, 2, 3, 4, ... from the array, we will do:

Read disk 1 block 0
Read disk 2 block 0
Read disk 0 block 1
Read disk 2 block 1
Read disk 0 block 2
Read disk 1 block 2
Read disk 1 block 3
Read disk 2 block 3

We can do read-ahead, but the access pattern for disk 0 is:

Block 1, block 2, block 4, ...

For disk 1:

Block 0, block 2, block 3, ...

etc...

So we introduce seeks, because of the parity blocks.

Seeking ruins performance.

In a degraded array, the kernel cannot skip the parity blocks, it must
use them for calculating the lost data.

So my guess is, that this "penalty" actually turns out to be an
optimization (if the chunk size is small - eg. the number of seeks
introduced is large). We will do strictly sequential reads on all disks.

So tell me, have I been smoking something, or does this make sense?  :)

Even better - measure degraded vs. non-degraded read performance on a
RAID-5 array, first with chunk-size 4k, then 32k, then 128k, and post
the results here   ;)

-- 
................................................................
:   jakob@unthought.net   : And I see the elder races,         :
:.........................: putrid forms of man                :
:   Jakob Østergaard      : See him rise and claim the earth,  :
:        OZ9ABN           : his downfall is at hand.           :
:.........................:............{Konkhra}...............:
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
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