I'm trying to understand RAID levels. I wonder if the notion of a stripe size would make sense for a RAID 1.

The drives are more or less byte for byte mirrors of each other. Therefore, the RAID controller can simply read any range of data at will without regard to any notion of a stripe. Is this correct?

Searching for this issue I never see a stripe size mentioned with regard to RAID 1 but I could not confirm that there is no stripe size.


Sort of. The chunk, stripe, or stride size is the logical data size for a single IO when it is scattered over multiple physical disks [wikipedia: data striping]. This is also the optimal minimum read/write size, much like the maximum IO size on a single disk.

By definition, stripe size is the segment size times (number of disks minus parity disks). So for RAID1, this is just stripe size = segment size because N disks with N-1 parity disks = 1.

In RAID1, for writes, it doesn't really matter since the data is always replicated to every disk, but for reads which are often striped for speed, it can be the size to serially read from any given disk (since segment size = stripe size).

It is sometimes configurable for RAID1. I know the Linux mdraid subsystem allows configuration of chunk size for RAID1.

  • So you are saying that it does not affect physical layout but is sometimes used as a config parameter for the IO strategy of the controller. – boot4life Feb 1 '18 at 18:59
  • That's correct. In other RAID configs, stripe size also influences the number of disks that are optimal because you really want stripe size to be a power of 2. It has much less meaning in RAID1. – Andrew Domaszek Feb 1 '18 at 19:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.