From what I understand you created 3 raid arrays, each with a mirror attached.
You can mount each "half" of the pairs as normal disks but it's not advised while the array is running and both "halves" are active as that will desyncronize the copies and breaking the array. But in case of a failure they are there separately, and also if you use it for directories like
/boot any processes that don't understand raid natively will just see them as identical copies, I use a small partition with raid-1 with many drives to ensure that the machine stays bootable no matter which OS drive dies.
Though this besides the basic hardware redundancy this has no benefit, and requires extra maintenance (3 arrays to take care of), and the drives are isolated.
If you're doing this for performance reasons and you want the most IOPS (e.g. for a database server) you're better off with a
raid 1+0. This would be basically a stripe of 3 drives (roughly 3 times the read/write speed of a single disk) and a mirror of this array with another 3 drives. Current
MD drivers support this natively and you don't need to manage the raid-1 and raid-0 arrays separately, but create a single raid device:
mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
This means you get a total array size of the sum of 3 disks. The problem with this setup is that the failure of 2 drives can destroy all your data if it is the same drive mirror "halves" in the 2 copies. The drives are probably of the same age which means they start to fail around the same time. And the stress of a rebuild on the other "half" increases the chance of failure significantly:
With your setup the data loss survival probability looks like this with raid-1+0:
1 drive fail = 100%
2 drives fail = 80%
3 drives fail = 40%
4 drives fail = 0%
If you're ok with balanced IOPS/speeds and storage capacity with 6 disks you get way better resilience if you create a raid-6 of all the devices:
Probability of data loss in a 3 year span:
RAID5 - 0.0125 % (1 in 80)
RAID6 - 0.0005 % (1 in 1982)
But since you need a boot partition (the boot loader cannot be striped across the disks) you need 2 arrays, one small one lets say 256Mb and the rest together, you should create this scheme with fdisk or cfdisk and make sure that the
bootable flags are set for the small array. You can copy the partition table from one disk to the other with sfdisk if the drives are exactly the same size:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Then create the 2 arrays:
mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6
The OS installers can take care of this for you though just make sure to mark the first array to be used for
With this you win back 1 drive worth of storage (total capacity = drive capacity * 4)
The array can survive the failure of 2 drives, and if they are not at the same time, you have more than enough time and mathematical chance to rebuild this array.
One thing to keep in mind is with current consumer quality (read error rates of ~10^14/error) and drive sizes (>=2Tb) you should never use
raid-5 for critical data, as the chance of rebuilding this array in case of a failure is less than 50%.