ONTAP 9.4 – Improvements and Additions

While the actual payload hasn’t hit the street yet, here’s what I can tell you about the latest release in the ONTAP 9 family which should be available here any day now. **EDIT: RC1 is here. 9.4 went GA today.


Lots of improvements to ONTAP’s object-tiering code in this release, it appears they’re really pushing development here:

  • Support for Azure Blob, both hot and cool tiers, no archive tier support
    • This adds to the already supported AWS-S3 and StorageGRID Webscale object stores
  • Support for cold-data tiering policies, whereas in 9.2,9.3 it was backup and snapshot-only tiering policies
    • Default definition of cold data is 31 days but can be adjust to anywhere from 2-63 days.
    • Not all cold blocks need to be made hot again, such as snapshot-only blocks. Random reads will be considered application access, declared hot and written back into performance tier whereas sequential reads are assumed to be indexers, virus scanners or other and should be kept cold and therefore will not be written back into performance tier.
  • Now supported in ONTAP Select, in addition to the existing ONTAP and ONTAP Cloud. Wherever you run ONTAP, you can now run FabricPools, SSD aggregate caveat still exists.
  • Inactive Data Reporting by OnCommand System Manager to determine how much data would be tiered if FabricPools were implemented.
    • This one will be key to clients thinking about adopting FabricPools
  • Object Store Profiler is a new tool in ONTAP that will test the performance of the object store you’re thinking of attaching so you don’t have to dive in without knowing what your expected performance should be.
  • Object Defragmentation now optimizes your capacity tier by reclaiming space that is no longer referenced by the performance tier
  • Compaction comes to FabricPools ensuring that your write stripes are full as well as applying Compression, Deduplication


A handful of new security features are included in this payload:

  • Secure Purge: Crypto-shred files
  • Secure Boot: Prevent access without a key in the event of a reboot.
  • Validated ONTAP: Ensure your version of ONTAP is verified.
  • USB OKM: OnBoard Key manager on a USB key (FPVR required)


NetApp is constantly striving to improve their myriad efficiency methods and 9.4 is no exception as it adds the following:

  • Aggregate-level dedupe gets a background scanner for post-process dedupe of existing blocks
  • Snapshot Block sharing deduped regardless if that block sits in a snapshot or in the active file system.
    • Snapshot limit increased to 1023
  • All data protection volumes will automatically have all efficiencies enabled, inline and background
  • Root volumes: These volumes have grown in recent years in order to allow for larger core dump files. Newer platforms will now write this core dump to the onboard boot media, so root volume space requirements will be shrinking in the new platforms. The upcoming A800 platform will only require 150GB root volume, contrary to the current standard of 1TB.


  • NVMe over fabric (NVMe-oF, NVMe/FC) is introduced with this release on the latest mid-range and top end AFF platforms; A300, A700s, A700, A800. This will provide < 200 µs of latency.
    • Also, the upcoming AFF A800 will allow for NVMe-attached SSDs, providing end-to-end NVMe connectivity
  • SMB Multichannel: Allow SMB3 client sessions to use multiple client sessions and CPU cores for greater throughput
  • Denser drives are on the way, with 30TB SAS SSDs get supported in this release


  • Rapid disk zeroing – Exactly what it sounds like, anyone who’s done a lot of installs in their day will be happy about this one. Available only on systems shipped with, or re-initialized to 9.4 but not upgraded to.
  • ONTAP image installation from laptop via OnCommand Systems Manager, no more local web server required.
  • Application Aware Data Management gains support for Microsoft SQL Server
    • This includes native REST-API support for automated provisioning

Other enhancements

  • FlexGroups gets
    • FPolicy support
    • Adaptive QoS minimums and maximums

Once again another monster payload which is the new normal with the predictable six month cadence. This is an even-numbered release so remember this is non-LTS version and support will be limited to one year.

2 thoughts on “ONTAP 9.4 – Improvements and Additions

  1. Thomas Bayer

    Hi, any idea if aggregate level dedupe will finally be available for non-flash aggregates?


    1. chrismaki Post author

      Hi Thomas,

      I just upgraded a simulated 9.3 environment to 9.4 to test this, and the answer is no. The error reported would also indicate that it is for AFF only, and not just SSD-only aggregates. Here’s three different commands I issued and their resulting errors:

      aggr efficiency modify -aggregate aggr_test -cross-volume-background-dedupe true

      Error: command failed: Error in modifying storage efficiency on aggregate "aggr_test" Reason: Cross volume deduplication is supported only on volumes that are owned by nodes that are All-Flash optimized personality enabled.

      volume efficiency modify -volume nfs_exp_NFS_volume -inline-dedupe true

      Error: command failed: Failed to modify efficiency configuration for volume "nfs_exp_NFS_volume" of Vserver "svm_delete": Inline deduplication is supported only for volumes
      that are either owned by nodes that are All-Flash optimized personality enabled or on hybrid aggregates. If there are active SIS operations then use the "volume
      efficiency stop -all true -vserver * -volume *" command to stop all efficiency operations on all volumes in the cluster.

      cluster1::*> volume efficiency modify -volume nfs_exp_NFS_volume -cross-volume-inline-dedupe true

      Error: command failed: Failed to modify efficiency configuration for volume "nfs_exp_NFS_volume" of Vserver "svm_delete": Cross volume deduplication cannot be enabled when
      inline deduplication is disabled. Enable inline deduplication and retry the command. If there are active SIS operations then use the "volume efficiency stop -all true
      -vserver * -volume *" command to stop all efficiency operations on all volumes in the cluster.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.