large RAID volume partition strategy
tom at samplonius.org
Fri Aug 17 17:45:48 PDT 2007
----- "Clayton Milos" <clay at milos.co.za> wrote:
> If you goal is speed and obviously as little possibility of a fail
> (RAID6+spare) then RAID6 is the wrong way to go...
> RAID6's read speeds are great but the write speeds are not.
> If you want awesome performance and reliability the real way to go is
> (or more correctly RAID 0+1).
RAID6 has better reliability than RAID10, because in RAID6, you can survive the failure of _any_ two disks. In RAID10, double disks failures are only survivable if specific disks fail (alternates). In RAID10 sets this is a problem. So:
* Reliability and space: RAID6
* Performance: RAID10
And the performance issues on RAID5/6 on writing is directly proportional to the quality of your controller. Good controllers can do partial stripe updates, and other optimizations to avoid having to read data back before writing anything. A simple minded RAID controller which has to read the entire strip back, writes are 1/3 slower than reads. Any good controller should be about 75% of read the speed. And RAID5+0 and RAID6+1 are also good options.
And make sure your controller can do RAID scrubbing. The chances of a fatal failure on an array can be greatly minimized with RAID scrubing. None of the cheap controllers can do this. ZFS can do it though. ZFS software RAID is almost always better than a cheaper hardware RAID, though maybe not fully mature in FreeBSD 7. RAID6 also minimizes the risk of double disk failures.
Big huge disks are almost always the wrong choice for databases though. You will never be able to fill the disk up before you hit the IOPS limit per each spindle. A 15K SAS disk has at least twice the IOPS of a 7K SATA disk. And while adding another bank to your RAID0 array doubles your IOPS in theory, it isn't exactly a linear increase. You need the IOPS, it is better to start with faster disks.
More information about the freebsd-stable