Hi,
I have a RocketRaid PCIe controller powering 2x4TB RAID 5 array for a total of 6TB. It runs in my Mac Pro server through externally routed SATA cables and a legacy Mountain Lion kext because Apple dropped support for it starting with Mavericks. Despite that it works fantastically, complete with email notifications.
But it's always a risk running things without backup. I've been interested in providing a redundancy solution for the server, and for a seamless transition in case of failure, RAID seems like the best solution, but not quite. It's quite convoluted.
RocketRaid cards present the RAID array as an external SCSI device consisting of one "virtual" hard drive of the desired capacity. While the card sees 4x2TB hard drives and 1 6TB array, OS X only sees 1 "hard drive" of 6TB.
The RAID solution in mind is a 2x3TB RAID 0 array. I also considered a single 6TB hard drive and 3 2TB JBOD, but both cost more and offer less reliability and performance than a 2x3TB RAID 0. For RAID 0 and 1, softRAID is not a big deal since there are no parity calculations to account for, and using a hardware card for it is a waste of money.
Then this RAID 0 "fallback" array is to be combined with the RR2300 array in RAID 1, in essence creating a RAID (0/5)+1 configuration, with RAID 5 being hardware assisted but RAID 0 and 1 done by software. Would this be possible? And what would it do for performance (i.e. would RAID 5 be the bottleneck or the RAID 0 act as a buffer for RAID 5)?
And this brings up another point. This being a networked file server, most of the file access is done through gigabit Ethernet, and max achieved throughput is around 110 MB/s, slightly under the performance of a single hard drive. RAID 5 write performance is around 25-30 MB/s on its best day. RAID 0 is obviously much faster and has less latency than RAID 5. In terms of raw performance, RAID 0 being a write buffer for the RAID 5 is a worthwhile consideration. On the other hand, the same risk that comes with write buffers also applies: in the case of RAID 0 failure, whatever data that is being written to the RAID 5 will be lost.
There are also two things to consider. There are two types of external docking devices: one which present the 2 hard drives as separate, and one that does RAID 0/1 in-house and present it as one disk (like the RocketRaid). I guess the latter would make things easier because OS X would only see two "disks" and be able to create a simple RAID 1 array from that, but the former would result in the weird RAID (0/5)+1 setup. In either case, it is very likely that this second array will have a different capacity than my RocketRaid array by a few MB or so. From what I read, the RAID 1 will take the smallest capacity of the two, which isn't a big deal, but if it cannot then RAID just won't cut it.
In case the aforementioned complex RAID array isn't possible, is there a software solution that can act in lieu of RAID to create a similar setup? I've tried unison and rsync so far, but they're not instantaneous like RAID 1 (this means CCC is out of the question).
Another solution I have in mind is a 2x3TB or 2x4TB RAID 0 Time Machine backup. I would like to avoid this at all costs because of 2 reasons: if I'm using the 2x* array as the backup destination, the restore would be done at 25 MB/s to the RAID 5, and in either case it would need to restore 4-6TB of data (with RAID 5 needing 4x more time) which results in a tremendous amount of downtime.
All solutions would have a practical fault tolerance of 2 drives and a maximum of 4 (complete RAID 5 failure). At least it's better than my current tolerance of 1.
Thanks for reading this wall of text. It's a complicated situation and I'd really appreciate your advice.
I have a RocketRaid PCIe controller powering 2x4TB RAID 5 array for a total of 6TB. It runs in my Mac Pro server through externally routed SATA cables and a legacy Mountain Lion kext because Apple dropped support for it starting with Mavericks. Despite that it works fantastically, complete with email notifications.
But it's always a risk running things without backup. I've been interested in providing a redundancy solution for the server, and for a seamless transition in case of failure, RAID seems like the best solution, but not quite. It's quite convoluted.
RocketRaid cards present the RAID array as an external SCSI device consisting of one "virtual" hard drive of the desired capacity. While the card sees 4x2TB hard drives and 1 6TB array, OS X only sees 1 "hard drive" of 6TB.
The RAID solution in mind is a 2x3TB RAID 0 array. I also considered a single 6TB hard drive and 3 2TB JBOD, but both cost more and offer less reliability and performance than a 2x3TB RAID 0. For RAID 0 and 1, softRAID is not a big deal since there are no parity calculations to account for, and using a hardware card for it is a waste of money.
Then this RAID 0 "fallback" array is to be combined with the RR2300 array in RAID 1, in essence creating a RAID (0/5)+1 configuration, with RAID 5 being hardware assisted but RAID 0 and 1 done by software. Would this be possible? And what would it do for performance (i.e. would RAID 5 be the bottleneck or the RAID 0 act as a buffer for RAID 5)?
And this brings up another point. This being a networked file server, most of the file access is done through gigabit Ethernet, and max achieved throughput is around 110 MB/s, slightly under the performance of a single hard drive. RAID 5 write performance is around 25-30 MB/s on its best day. RAID 0 is obviously much faster and has less latency than RAID 5. In terms of raw performance, RAID 0 being a write buffer for the RAID 5 is a worthwhile consideration. On the other hand, the same risk that comes with write buffers also applies: in the case of RAID 0 failure, whatever data that is being written to the RAID 5 will be lost.
There are also two things to consider. There are two types of external docking devices: one which present the 2 hard drives as separate, and one that does RAID 0/1 in-house and present it as one disk (like the RocketRaid). I guess the latter would make things easier because OS X would only see two "disks" and be able to create a simple RAID 1 array from that, but the former would result in the weird RAID (0/5)+1 setup. In either case, it is very likely that this second array will have a different capacity than my RocketRaid array by a few MB or so. From what I read, the RAID 1 will take the smallest capacity of the two, which isn't a big deal, but if it cannot then RAID just won't cut it.
In case the aforementioned complex RAID array isn't possible, is there a software solution that can act in lieu of RAID to create a similar setup? I've tried unison and rsync so far, but they're not instantaneous like RAID 1 (this means CCC is out of the question).
Another solution I have in mind is a 2x3TB or 2x4TB RAID 0 Time Machine backup. I would like to avoid this at all costs because of 2 reasons: if I'm using the 2x* array as the backup destination, the restore would be done at 25 MB/s to the RAID 5, and in either case it would need to restore 4-6TB of data (with RAID 5 needing 4x more time) which results in a tremendous amount of downtime.
All solutions would have a practical fault tolerance of 2 drives and a maximum of 4 (complete RAID 5 failure). At least it's better than my current tolerance of 1.
Thanks for reading this wall of text. It's a complicated situation and I'd really appreciate your advice.