Planning your Instances - Software RAID Considerations

SoftNAS® provides a robust set of software RAID capabilities for non-durable disk drives when there is no hardware protection. Software RAID is best used in scenarios where raw disk devices are attached directly to SoftNAS. Software RAID is recommended for block devices, on all of the supported platforms, and disks behind hardware RAID controllers. There are use cases in which RAID 0 (and nothing beyond RAID 0) can provide some redundancy and performance benefits. Consult with Buurst support before deciding to leverage software RAID 0. 

Software RAID options include RAID 1 and RAID 10 mirrors, RAID 5 (single parity), RAID 6 (dual parity) and even RAID 7 (triple parity) support. It also includes hot spare drive capabilities and the ability to hot-swap spares into operation to replace a failed drive. RAID 10 (striped mirrors) and RAID 6 (dual-parity) are generally recommended for the best balance of read/write I/O performance and fault tolerance. Use RAID 10 for the most performance-sensitive storage pools (e.g., SQL Server, Virtual Desktop Server) and RAID 6 for high-capacity, high-performance applications (e.g., Exchange Server) as it provides the highest write IOPS. 

SoftNAS® is built atop the ZFS filesystem. Please take a few moments to become familiar with ZFS Best Practices for more details on storage pool, RAID and other performance, data integrity and reliability considerations. 

The following key points should be considered for RAID Level 10:

  1. Minimum 4 disks.
  2. This is also called a “stripe of mirrors”
  3. Excellent redundancy ( as blocks are mirrored )
  4. Excellent performance ( as blocks are striped )
  5. For higher operating budgets, RAID 10 is the BEST option for any mission critical applications (especially databases).

RAIDz Level

Allowed # of Disks in Each vdev

Minimum

Maximum

RAIDz1*

3

7

RAIDz2

5

10

RAIDz3

7

15

Best Practices for ZFS RAIDz

Do not use RAIDz1 for disks 1TB or greater in size (use RAIDz2/3 or mirroring instead for better protection).
  • Mirrors trump RAIDz every time. Far higher IOPS result from a RAID10 mirror pool than any RAIDz pool, given equal number of drives. This is especially true when using raw disks in situations requiring high write IOPS (typical of VM workloads).
  • For 3TB+ size disks, 3-way mirrors begin to become more and more compelling.
  • Never mix disk sizes (within a few %) or speeds (RPM) within a single vdev.
  • Never mix disk sizes (within a few %) or speeds (RPM) within a zpool, except for L2ARC & ZIL devices.
  • Never mix redundancy types for data vdevs in a zpool (use all RAID10 mirrors, RAIDz2, etc. instead of mixing redundancy types).
  • Never mix disk counts on data vdevs within a zpool (if the first data vdev is 6 disks, all data vdevs should be 6 disks).
  • With multiple JBODs, try to spread each vdev out so that the minimum number of disks are in each JBOD. Given enough JBODs for the chosen redundancy level, it is possible to end up with no SPOF (Single Point of Failure) in the form of JBOD, and if the JBODs themselves are spread out amongst sufficient HBAs, it becomes possible to even remove HBAs as a SPOF.
  • Use RAIDz2/3 over RAIDz1 plus a hot spare, because increased redundancy provides better data protection (and RAIDz3 is like having online hot spares, since it can sustain 2 drive failures).