Md raid1 reading from one disk only

mdraid1

I have two identical HDD in a linux software raid 1. I observed a mostly reading load on this raid device, with the process showing mostly iowait. iotop shows about 75% disk utilisation overall.

If I look now at the disk utilisations of the physical disks, one disk shows about 1M/s read, the other shows only 100K/s read. /proc/mdstat shows the array is in good health. What could be the issue that not both disks are used equally?

Regarding the comment: I tried both. Reading with two threads and with one. It doesn't change anything.

Best Answer

For sequential reads, there is no performance benefit from reading from both disks. Since the same data is on both disks, they would each have to seek over any data read by the other disk. But short seeks forward is not that much faster than reading all the intermediate data.

However if you have multiple processes reading different data from the disk in parallel, you should see major performance improvement compared to a single disk.

Two processes reading from the same disk will typically cause an expensive seek each time they alternate. With RAID1 the two processes could be reading from different disks, and the number of seeks would be reduced significantly.

Related Topic