On 04.05.2011 16:45, Florian Philipp wrote: > Am 04.05.2011 14:39, schrieb Florian Philipp: >> Am 04.05.2011 11:08, schrieb Evgeny Bushkov: >>> On 04.05.2011 11:54, Joost Roeleveld wrote: >>>> On Wednesday 04 May 2011 10:07:58 Evgeny Bushkov wrote: >>>>> On 04.05.2011 01:49, Florian Philipp wrote: >>>>>> Am 03.05.2011 19:54, schrieb Evgeny Bushkov: >>>>>>> Hi. >>>>>>> How can I find out which is the parity disk in a RAID-4 soft array? I >>>>>>> couldn't find that in the mdadm manual. I know that RAID-4 features a >>>>>>> dedicated parity disk that is usually the bottleneck of the array, so >>>>>>> that disk must be as fast as possible. It seems useful to employ a few >>>>>>> slow disks with a relatively fast disk in such a RAID-4 array. >>>>>>> >>>>>>> Best regards, >>>>>>> Bushkov E. >>>>>> You are seriously considering a RAID4? You know, there is a reason why >>>>>> it was superseded by RAID5. Given the way RAID4 operates, a first guess >>>>>> for finding the parity disk in a running array would be the one with the >>>>>> worst SMART data. It is the parity disk that dies the soonest. >>>>>> >>>>>> From looking at the source code it seems like the last specified disk is >>>>>> parity. Disclaimer: I'm no kernel hacker and I have only inspected the >>>>>> code, not tried to understand the whole MD subsystem. >>>>>> >>>>>> Regards, >>>>>> Florian Philipp >>>>> Thank you for answering... The reason I consider RAID-4 is a few >>>>> sata/150 drives and a pair of sata II drives I've got. Let's look at >>>>> the problem from the other side: I can create RAID-0(from sata II >>>>> drives) and then add it to RAID-4 as the parity disk. It doesn't bother >>>>> me if any disk from the RAID-0 fails, that wouldn't disrupt my RAID-4 >>>>> array. For example: >>>>> >>>>> mdadm --create /dev/md1 --level=4 -n 3 -c 128 /dev/sdb1 /dev/sdc1 missing >>>>> mdadm --create /dev/md2 --level=0 -n 2 -c 128 /dev/sda1 /dev/sdd1 >>>>> mdadm /dev/md1 --add /dev/md2 >>>>> >>>>> livecd ~ # cat /proc/mdstat >>>>> Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] >>>>> md2 : active raid0 sdd1[1] sda1[0] >>>>> 20969472 blocks super 1.2 128k chunks >>>>> >>>>> md1 : active raid4 md2[3] sdc1[1] sdb1[0] >>>>> 20969216 blocks super 1.2 level 4, 128k chunk, algorithm 0 [3/2] >>>>> [UU_] >>>>> [========>............] recovery = 43.7% (4590464/10484608) finish=1.4min >>>>> speed=69615K/sec >>>>> >>>>> That configuration works well, but I'm not sure if md1 is the parity >>>>> disk here, that's why I asked. May be I'm wrong and RAID-5 is the only >>>>> worth array, I'm just trying to consider all pros and cons here. >>>>> >>>>> Best regards, >>>>> Bushkov E. >>>> I only use RAID-0 (when I want performance and don't care about the data), >>>> RAID-1 (for data I can't afford to loose) and RAID-5 (data I would like to >>>> keep). I have never bothered with RAID-4. >>>> >> [...] >>> I've run some tests with different chunk sizes, the fastest was >>> raid-10(4 disks), raid-5(3 disks) was closely after. Raid-4(4 disks) was >>> almost as fast as raid-5 so I don't see any sense to use it. >>> >>> Best regards, >>> Bushkov E. >>> >>> >>> >> When you have an array with uneven disk speeds, you might consider using >> the --write-mostly option of mdadm: >> -W, --write-mostly >> subsequent devices lists in a --build, --create, or --add command >> will be flagged as 'write-mostly'. This is valid for RAID1 only and >> means that the 'md' driver will avoid reading from these devices if at >> all possible. This can be useful if mirroring over a slow link. >> >> This should help in concurrent read and write operations because the >> kernel will not dispatch read requests to a disk that is already having >> trouble managing the write operations. >> >> On another point: Are you sure your disks have different speeds? SATA150 >> and 300 are no reliable indicator because most HDDs cannot saturate the >> SATA port anyway. dd is still the most reliable way to measure >> sequential throughput. >> >> Regards, >> Florian Philipp >> > `man 4 md` also states that the "the last of the active devices in the > array" is the parity disk in a RAID4. > > Regards, > Florian Philipp > Thank you, that's what I was searching for. It seems I configured my RAID-4 right. Nonetheless that array wasn't better than RAID-5. Finally I created RAID-5 (two sataII drives and 1 sata/150) with lvm. >From a test "time dd if=/dev/zero of=/mnt/gentoo/bigfile bs=1M count=3000" I've got 163 MB/s. That in any way better than my 1-disk system(46.7 MB/s from the same test) that I've been using. As regard interfaces speeds I ran hdparm command and got: livecd src # hdparm -i /dev/sd[abd]|grep UDMA UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 So you are right, all the drives seem to utilize the same interface speed.
Best regards, Bushkov E.