The ZFS blog provides product announcements and technological insights

  • August 12, 2016

Current ZFS Pool Capacity Recommendations

Cindy Swearingen
Principal Product Manager

Happy Summer, ZFS Fans!

We were discussing the recommended ZFS storage pool capacity recently so it seems like a good time to review this information externally as well. 

The recommended pool capacity was changed from 80% to 90% starting in the Oracle Solaris 11 and Oracle Solaris 10 1/13 releases, which is reflected in ZFS file system version 5. However, there are some nuances to review. 

Oracle Solaris ZFS is designed with a redirect on write architecture so it needs some headroom for finding space to write new data. This is the reason why we provide a general recommendation of keeping ZFS storage pools below 90% capacity, but the reality is that the percentage where performance is impacted depends greatly on the workload:

  • If data is mostly added (write once, remove never), then it's very easy for a redirect on write architecture such as ZFS to find new blocks. Here the percentage full when performance is impacted would be more than the provided generic rule of thumb, say 95%. 
  • Similarly, if data is made of large files/large blocks (128K or 1MB) where data is removed in bulk operations, then the rule of thumb can also be relaxed.
  • The other end of the spectrum is where a large percentage of the pool (say 50% or more) is made of 8K chunks (DB files, iSCSI LUNs, or many small files) with constant rewrites (dynamic data), then the 90% rule of thumb needs to be followed strictly. 
  • If 100% of the data is small blocks of dynamic data, then you should monitor your pool closely. Possibly starting as early as 80%. The sign to watch for is increased disk IOPS to achieve the same level of client IOPS.

Other storage vendors with ROW-based file systems often report reduced overall storage capacity in order to maintain this headroom (and hide the need for the headroom). Our position is that it is up to you to determine how your pool space is utilized.

Join the discussion

Comments ( 2 )
  • guest Friday, November 4, 2016

    Any update/info on if the "defrag" is still in the works, and if possible, a status on the effort? I used to have access to the bugid.


  • Cindys Friday, November 4, 2016

    Many performance issues have been attributed to fragmentation but not all were due to fragmentation. Its best to get an accurate evaluation from an expert.

    Solaris ZFS bug fixes in the recent past have helped reduced fragmentation but more work is being considered. One of the bugs tracking this is 15157348.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.