Skip to main content

Balance ONTAP FlexGroup volumes by redistributing file data

Contributors netapp-lenida

Beginning with ONTAP 9.16.1, you can enable advanced capacity balancing to enable data distribution between FlexGroup member volumes when very large files grow and consume space on one member volume.

Advanced capacity balancing expands the granular data functionality introduced in ONTAP 9.12.1, which enables ONTAP to rebalance FlexGroup volumes by moving files to other members. Beginning with ONTAP 9.16.1, when advanced capacity balancing is enabled with the -granular-data advanced option, both the "basic" file rebalancing capabilities as well as the advanced capacity capabilities are activated.

Note

Both file rebalancing and advanced capacity balancing are disabled by default. After these features are enabled they cannot be disabled. If you need to disable capacity balancing, you must restore from a snapshot that was created before advanced capacity balancing was enabled.

Advanced capacity balancing is triggered by new writes reaching to 10GB or 1% of a volume's free space.

How files are distributed

If a file is created or grows large enough to trigger advanced capacity balancing, the file is distributed in stripes between 1GB and 10GB across the member FlexGroup volumes.

When advanced capacity balancing is enabled, ONTAP will not retroactively stripe existing large files. If an existing large file continues to grow after advanced capacity balancing is enabled, new content in existing large files might be striped across member FlexGroup volumes depending on the file’s size and available space.

One way advanced capacity balancing determines stripe width is by using the amount of free space available on the member volume. Advanced capacity balancing creates a file stripe that is 1% of the available free space available. This means that stripes can start out larger if more space is available, and they become smaller as the FlexGroup fills up.

In addition to space available on the member volume, advanced capacity balancing uses several other factors to determine stripe width:

  • Minimum stripe width: The smallest stripe width ever chosen is 1GB.

  • Maximum stripe width: The largest possible stripe width is 10GB.

  • Granularity: Stripes are always created in multiples of 1GB.

Supported protocols

Advanced capacity balancing is supported with the following protocols:

  • NFSv3, NFSv4, NFSv4.1

  • pNFS

  • SMB

Enable advanced capacity balancing

Advanced capacity balancing is disabled by default. You must enable advanced capacity balancing to automatically balance FlexGroup capacity. Keep in mind that you cannot disable this feature once you enable it, but you can restore from a snapshot created before advanced capacity balancing was enabled.

Before you begin
  • All nodes in the cluster must be running ONTAP 9.16.1 or later.

  • You cannot revert to a release earlier than ONTAP 9.16.1 if advanced capacity balancing is enabled. If you need to revert, you must first restore from a snapshot created before advanced capacity balancing was enabled.

  • If NFS copy offload has been enabled (vserver nfs -vstorage enabled) on an SVM, you cannot enable advanced capacity balancing on a FlexGroup volume. Similarly, if you have advanced capacity balancing enabled on any FlexGroup volume in an SVM, you cannot enable NFS copy offload.

  • Advanced capacity balancing is not supported with FlexCache writeback.

About this task

During creation of DP destination volumes using either of the granular data options (basic or advanced), the destination displays the setting as "disabled" until the SnapMirror transfer completes. After the transfer completes, the DP destination displays granular data as "enabled".

Enable advanced capacity balancing during FlexGroup creation

Steps

You can use System Manager or the ONTAP CLI to enable advanced capacity balancing when you create a new FlexGroup volume.

System Manager
  1. Navigate to Storage > Volumes and click Add icon.

  2. In the Add volume window, enter the volume name and size. Then click More Options.

  3. Under Storage and optimization, select Distribute volume data across the cluster (FlexGroup).

  4. Select Advanced capacity balancing.

  5. Finish configuring the volume and click Save.

CLI
  1. Create a volume with advanced capacity balancing enabled:

    volume create -vserver <svm name> -volume <volume name> -size <volume size> -auto-provision-as flexgroup -junction-path /<path> -granular-data advanced

    Example:

    volume create -vserver vs0 -volume newvol -size 1TB -auto-provision-as flexgroup -junction-path /newvol -granular-data advanced

Enable advanced capacity balancing on existing FlexGroup volumes

Steps

You can use System Manager or the ONTAP CLI to enable advanced capacity balancing.

System Manager
  1. Navigate to Storage > Volumes, click Menu options icon, and choose Edit > Volume.

  2. In the Edit volume window, under Storage and optimization, select Advanced capacity balancing.

  3. Click Save.

CLI
  1. Modify an existing FlexGroup volume to enable advanced capacity balancing:

    volume modify -vserver <svm name> -volume <volume name> -granular-data advanced

    Example:

    volume modify -vserver vs0 -volume newvol  -granular-data advanced