I'm testing some RAID setups built with mdadm
. This is about parallel reads on a 2-disks array.
RAID1 seems to balance the reads by process, some sort of coarse-grained balancing, so reading the whole raid array with a simple dd if=/dev/md0 of=/dev/null bs=1M
, according to nmon
, basically directs all the read to /dev/sda
. When multiple dd
commands run in parallel, some read from sda
some from sdb
.
Curiously, I tested with RAID5, same two disks, same redundancy and 50% disk utilization. One single low-level read with dd
is spread across sda
and sdb
evenly, so every read operation seems to be better parallelized.
Effects on the CPU load seem to be negligible. I also haven't checked write operations.
Does using RAID5 for a 2-disks array make any sense?
By the way, going back and forth between 1 and 5 is as easy as mdadm --grow /dev/md0 --level 1
or 5
, no data is moved, only the parallel read pattern changes.