2

I'm setting up a server, and my predecessor had a habit of setting up multiple RAID 1s with only 2 disks, which eventually resulted in split-brain situations which were difficult to recover from.

Since I want the same speed of access, would adding a third disk to the RAID 1 reduce the likelihood of a split-brain situation?

Or, to put it another way, Do disks "vote" in a RAID 1 when one of the disks contains an error on read?

Is there a better way to reduce the chance of hosing the RAID when one of the disks has a non-obvious failure?

  • I recently used a 3-way mirror with ZFS to prevent such things. – xmas79 Feb 26 '18 at 08:43
  • Related: https://unix.stackexchange.com/questions/186222/how-mdadm-recognizes-which-device-is-right-one-to-sync-others-with – Lenniey Feb 26 '18 at 11:15
  • @Lenniey Yikes! That answer would suggest that there's no voting at all, and it's simply the first disk it finds it takes as gospel. Is that correct?? – tudor -Reinstate Monica- Feb 26 '18 at 23:27
  • Yes. You have no parity or other ways of checking the data on the member disks. This is what other RAID levels are for (or other techniques than RAID). – Lenniey Feb 27 '18 at 07:46

1 Answers1

2

No. Not at all.

As mentioned indirectly in this answer (pointed out by @Lenniey), RAID 1 reads have no parity check which means it accepts the first disk it reads from as gospel until it fails. If there has been an undetected or delayed error while writing and the disks spin up in a different order after a reboot, then split-brain scenarios will occur no matter how many disks there are.

Furthermore, the number of disks will increase the complexity of the split-brain problem by a factor of 2^N where N is the number of disks.