General Storage Pool Practices

  • Use whole disks to enable disk write cache and provide easier maintenance. Creating pools on slices adds complexity to disk management and recovery.

  • Use ZFS redundancy so that ZFS can repair data inconsistencies.

    • The following message is displayed when a non-redundant pool is created:

      $ zpool create system1 c4t1d0 c4t3d0
      'system1' successfully created, but with no redundancy; failure
      of one device will cause loss of the pool
    • For mirrored pools, use mirrored disk pairs

    • For RAID-Z pools, group 3-9 disks per VDEV

    • Do not mix RAID-Z and mirrored components within the same pool. These pools are harder to manage and performance might suffer.

  • Use hot spares to reduce down time due to hardware failures

  • Use similar size disks so that I/O is balanced across devices

    • Smaller LUNs can be expanded to large LUNs

    • Do not expand LUNs from extremely varied sizes, such as 128 MB to 2 TB, to keep optimal metaslab sizes

  • Consider creating a small root pool and larger data pools to support faster system recovery

  • Recommended minimum pool size is 8 GB. Although the minimum pool size is 64 MB, anything less than 8 GB makes allocating and reclaiming free pool space more difficult.

  • Recommended maximum pool size should comfortably fit your workload or data size. Do not try to store more data than you can routinely back up on a regular basis. Otherwise, your data is at risk due to some unforeseen event.

See also Pool Creation Practices on Local or Network Attached Storage Arrays.