FreeNAS ZFS Disk Layouts (RAID Levels)
BLUF: Eight 7,200 RPM SAS drives in RAID 10 is my recommendation. Second choice would be eight 7,200 RPM SAS drives in RAID 6.
Compare RAID levels according to their capabilities.
Compare RAID levels according to their capabilities.
Information below provided by Microsemi, IBM and Adaptec.
The following information provides data redundancy, usable disk capacity,
read performance, and write performance for each RAID level.
For the most part you have
two viable choices; RAID 10 OR RAID 6 (RAIDZ2).
As a very rough
estimate, plan on RAID 10 to overall perform 1.5 times faster than RAID 6. The ratio of read to write operations will
dramatically affect the comparison. RAID
6 performance has much lower write performance due to parity. See charts below.
RAID 10 (Striped RAID 1 sets):
RAID 10 (Striped RAID 1 sets):
Combines RAID 0 striping and RAID 1 mirroring. This level provides
the improved performance of striping while still providing the redundancy of mirroring. RAID 10 is the result of forming a RAID 0 array
from two or more RAID 1 arrays. This RAID level provides fault tolerance — up to
one disk of each sub-array may fail without causing loss of data.
What is the chance that I will experience a two disk failure in any sub-array resulting in loss of data when using RAID 10?
The answer depends on the number of disks. Increasing the number of disks, decreases the chance of data loss. See chart below.
Disks Chance Of Two Disks In Any Sub-Array Failing
4 33.3%
6 20.0%
8 14.3%
10 11.1%
12 9.1%
14 7.7%
16 6.7%
RAID 6 (Striping with dual parity):
What is the chance that I will experience a two disk failure in any sub-array resulting in loss of data when using RAID 10?
The answer depends on the number of disks. Increasing the number of disks, decreases the chance of data loss. See chart below.
Disks Chance Of Two Disks In Any Sub-Array Failing
4 33.3%
6 20.0%
8 14.3%
10 11.1%
12 9.1%
14 7.7%
16 6.7%
Data is striped across several physical drives and dual parity is
used to store and recover data. It tolerates the failure of two drives in an array,
providing better fault tolerance than RAID 5. It also enables the use of more cost-effective,
but less reliable, ATA and SATA disks for business critical data.
This RAID level is similar to RAID 5, but includes a second parity
scheme that is distributed across different drives and therefore offers extremely
high fault tolerance and drive-failure tolerance. RAID 6 can withstand a double
disk failure.
RAID 6 requires a minimum of four disks to be implemented. Usable
capacity is always 2 less than the number of available disk drives in the RAID set.
Features
|
RAID 0
|
RAID 1
|
RAID 1E
|
RAID 5 (RAIDZ1)
|
RAID 6 (RAIDZ2)
|
RAID 10
|
RAID 50
|
RAID 60
|
Minimum
# Drives
|
2
|
2
|
3
|
3
|
4
|
4
|
6
|
8
|
Data
Protection
|
None
|
Single-drive
failure
|
Single-drive
failure
|
Single-drive
failure
|
Two-drive
failure
|
Up
to one drive failure in each sub-array
|
Up
to one drive failure in each sub-array
|
Up to
two drive failure in each sub-array
|
Read
Performance
|
High
|
Medium
|
Medium
|
High
|
High
|
High
|
High
|
High
|
Write
Performance
|
High
|
Medium
|
Medium
|
Medium
(depends on data type)
|
Low
|
High
|
Medium
|
Medium
|
Read
Performance (degraded)
|
Low
|
High
|
Medium
|
Medium
|
Low
|
High
|
Medium
|
Low
|
Write
Performance (degraded)
|
N/A
|
Medium
|
Medium
|
Low
|
Low
|
High
|
Medium
|
Low
|
Capacity
Utilization
|
100%
|
50%
|
50%
|
67%
- 94%
|
50%
- 88%
|
50%
|
67%
- 94%
|
50%
- 88%
|
Typical
Usage
|
Non-mission-critical data, such as
video/audio postproduction, multimedia imaging, CAD, data logging, etc. where
it’s OK to lose a complete drive because the data can be quickly recopied
from the source. GENERALLY SPEAKING, RAID 0 IS NOT RECOMMENDED.
|
Cases where there is not a large
capacity requirement, but the user wants to make sure the data is 100%
recoverable in the case of a drive failure, such as accounting systems, video
editing, gaming etc.
|
Small servers, high-end
workstations, and other environments where no large capacity requirements,
but where the user wants to make sure the data is 100% recoverable in the
case of a drive failure.
|
Fileservers, general storage
servers, backup servers, streaming data, and other environments that call for
good performance but best value for the money. Not suited to database
applications due to poor random write performance.
|
Similar to RAID 5, including
fileservers, general storage servers, backup servers, etc. Poor random write
performance makes RAID 6 unsuitable for database applications.
|
Ideal for database servers and any
environment with many small random data writes.
|
Good configuration for cases where
many drives need to be in a single array but capacity is too large for RAID
10, such as in very large capacity servers.
|
RAID 60 is similar to RAID 50 but
offers more redundancy, making it good for very large capacity servers,
especially those that will not be backed up (i.e. video surveillance servers
handling large numbers of cameras).
|
Pros
|
Fast and inexpensive. All drive
capacity is usable. Quick to set up. Multiple HDDs sharing the data load make
it the fastest of all arrays.
|
Highly redundant – each drive is a
copy of the other. If one drive fails, the system continues as normal with no
data loss.
|
Redundant with better performance
and capacity than RAID 1. In effect, RAID 1E is a mirror of an odd number of
drives.
|
Good value and good all-around
performance.
|
Reasonable value for money with
good all-round performance. Can survive two drives failing at the same time,
or one drive failing and then a second drive failing during the data rebuild.
|
Fast and redundant.
|
Reasonable value for the expense.
Very good all-round performance, especially for streaming data, and very high
capacity capabilities.
|
Can sustain two drive failures per
RAID 6 array within the set, so it is very safe. Reasonable value for money,
considering this RAID level won’t be used unless there are a large number of
drives.
|
Cons
|
RAID 0 provides no data protection
at all. If one drive fails, all data will be lost with no chance of recovery.
|
Capacity is limited to 50% of the
available drives, and performance is not much better than a single drive.
|
Cost is high because only half the
capacity of the physical drives is available.
|
One drive capacity is lost to
parity. Can only survive a single drive failure at any one time. If two
drives fail at once, all data is lost.
|
More expensive than RAID 5 due to
the loss of two drive capacity to parity. Slightly slower than RAID 5 in most
applications.
|
Expensive as it requires four
drives to get the capacity of two. Not suited to large capacities due to cost
restrictions. Not as fast as RAID 5 in streaming environments.
|
Requires a lot of drives. Capacity
of one drive in each RAID 5 set is lost to parity. Slightly more expensive
than RAID 5 due to this lost capacity.
|
Requires a lot of drives. Slightly
more expensive than RAID 50 due to losing more drives to parity calculations.
|
Features
|
RAID 0
|
RAID 1
|
RAID 1E
|
RAID 5 (RAIDZ1)
|
RAID 5EE
|
RAID 6 (RAIDZ2)
|
RAID 10
|
RAID 50
|
RAID 60
|
Minimum # Drives
|
2
|
2
|
3
|
3
|
4
|
4
|
4
|
6
|
8
|
Data Protection
|
No Protection
|
Single-drive failure
|
Single-drive failure
|
Single-drive failure
|
Single-drive failure
|
Two-drive failure
|
Up to one disk failure in each sub-array
|
Up to one disk failure in each sub-array
|
Up to two disk failures in each sub-array
|
Read Performance
|
High
|
High
|
High
|
High
|
High
|
High
|
High
|
High
|
High
|
Write Performance
|
High
|
Medium
|
Medium
|
Low
|
Low
|
Low
|
Medium
|
Medium
|
Medium
|
Read Performance (degraded)
|
N/A
|
Medium
|
High
|
Low
|
Low
|
Low
|
High
|
Medium
|
Medium
|
Write Performance (degraded)
|
N/A
|
High
|
High
|
Low
|
Low
|
Low
|
High
|
Medium
|
Low
|
Capacity Utilization
|
100%
|
50%
|
50%
|
67% - 94%
|
50% - 88%
|
50% - 88%
|
50%
|
67% - 94%
|
50% - 88%
|
Typical Applications
|
High end workstations, data logging, real-time rendering, very
transitory data
|
Operating system, transaction databases
|
Operating system, transaction databases
|
Data warehousing, web serving, archiving
|
Data warehousing, web serving, archiving
|
Data archive, backup to disk, high availability solutions, servers
with large capacity requirements
|
Fast databases, application servers
|
Large databases, file servers, application servers
|
Data archive, backup to disk, high availability solutions, servers
with large capacity requirements
|
Features
|
RAID 0
|
RAID 5 (RAIDZ1)
|
RAID 6 (RAIDZ2)
|
RAID 10
|
Data redundancy
|
None
|
Very good
|
Excellent
|
Excellent
|
Usable disk capacity
|
100%
|
67% to 94%
|
50% to 89%
|
50%
|
Read performance
|
Very good
|
Very good
|
Very good
|
Excellent
|
Write performance
|
Excellent
|
Good
|
Fair to good
|
Very good
|
Min devices per array
|
1
|
3
|
4
|
4 (even numbers only)
|
Notes
|
Does not support data
redundancy, but provides a potentially higher I/O rate.
|
Creates array parity information so that the data can be reconstructed
if a disk in the array fails. Provides better capacity than RAID level 10 but
possibly lower performance.
|
Creates array "P" and "Q" parity information
so that the data can be reconstructed if one or two disks in the array fail. Provides
better data redundancy than RAID 5 but with slightly lower capacity and possibly
lower performance. Provides better capacity than RAID level 10 but possibly lower
performance.
|
Stores data redundantly on mirrored pairs to provide maximum protection
against disk failures. Provides generally better performance than RAID 5 or 6,
but has lower capacity.
|