FreeNAS ZFS Disk Layouts (RAID Levels)



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):
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):
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.

Popular Posts