Create ONTAP FlexGroup volumes
You can create a FlexGroup volume by manually selecting the local tiers (aggregates) on which the FlexGroup volume must be created, and then specifying the number of member volumes (constituents) on each local tier.
Alternatively, you can choose to have ONTAP automatically provision the FlexGroup volume by selecting the local tiers and letting ONTAP set the number of member volumes based on the best practices for optimum performance and capacity.
You must be aware of the space required in the local tiers for creating a FlexGroup volume.
You must consider the following guidelines when creating a FlexGroup volume for obtaining the best performance results with a FlexGroup volume:
-
A FlexGroup volume should use local tiers that are on identical hardware systems.
The use of identical hardware systems helps in providing predictable performance across the FlexGroup volume. Note: C-Series r1 and C-Series r2 systems are not identical systems. For example, the AFF C80 r1 and AFF C80 r2 are not identical.
-
A FlexGroup volume should span local tiers using the same disk type and RAID group configurations.
For consistent performance, you must ensure that all of the local tiers are made of all SSDs, all HDDs, or all Flash Pool (hybrid) local tiers. Additionally, the local tiers should have the same number of drives and RAID groups across the FlexGroup volume.
-
A FlexGroup volume can span parts of a cluster.
A FlexGroup volume does not have to be configured to span the entire cluster, but doing so can take greater advantage of the hardware resources that are available.
-
When creating a FlexGroup volume, it is best if the local tiers on which the FlexGroup volume is deployed have the following characteristics:
-
Approximately the same amount of free space should be available across multiple local tier, especially when using thin provisioning.
-
Approximately 3 percent of the free space should be reserved for local tier metadata after creation of the FlexGroup volume.
-
-
For FAS systems, it is best to have two local tiers per node and for AFF systems, you must have one local tier per node for the FlexGroup volume.
-
For each FlexGroup volume, you should create at least eight member volumes that are distributed over two or more local tiers on FAS systems, and over one or more local tiers on AFF systems.
-
Beginning with ONTAP 9.13.1, you can create volumes with capacity analytics and Activity Tracking enabled. To enable capacity or Activity Tracking, issue the
volume create
command with-analytics-state
or-activity-tracking-state
set toon
.To learn more about capacity analytics and Activity Tracking, see Enable File System Analytics. Learn more about
volume create
in the ONTAP command reference.
Using System Manager, you can create a FlexGroup volume.
-
Navigate to Storage > Volumes and select
.
-
In the Add volume window, enter a volume name and size, then select More options.
-
In the Storage and optimization section, select Distribute volume data across the cluster (FlexGroup).
-
Complete the remaining information for the volume and select Save.
-
Create the FlexGroup volume:
volume create -vserver <svm_name> -volume <flexgroup_name> -aggr-list aggr1,aggr2,.. -aggr-list-multiplier <constituents_per_aggr> -size <fg_size> [–encrypt true] [-qos-policy-group qos_policy_group_name] [-granular-data advanced]
-
The
-aggr-list
parameter specifies the list of local tiers to be used for FlexGroup member volumes.For consistent performance across the FlexGroup volume, all of the local tiers must use the same disk type and RAID group configurations.
-
The
-aggr-list-multiplier
parameter specifies the number of member volumes that will be created on each local tier listed with the-aggr-list
parameter.The default value of the
-aggr-list-multiplier
parameter is 4. -
The
size
parameter specifies the size of the FlexGroup volume in KB, MB, GB, TB, or PB. -
Beginning with ONTAP 9.16.1, you can enable advanced capacity balancing (
-granular-data advanced
in the CLI) to write data across multiple FlexGroup member volumes when files are larger than 10GB. -
Beginning with ONTAP 9.5, you can create FlexGroup volumes using local tiers with FabricPool enabled.
To create a FlexGroup volume for FabricPool, all the local tiers specified with the
-aggr-list
parameter must have FabricPool enabled. The volume guarantee must be always set tonone
when using FabricPool. You can also specify the tiering policy and tiering minimum cooling period for the FlexGroup volume. -
Beginning with ONTAP 9.4, you can specify throughput floors (QoS Min) and adaptive QoS for FlexGroup volumes.
-
You can specify a throughput ceiling (QoS Max) for FlexGroup volumes, which limits the performance resources that the FlexGroup volume can consume.
-
You can set the
-encrypt
parameter totrue
if you want to enable encryption on the FlexGroup volume.For creating an encrypted volume, you must have installed the volume encryption license and the key manager.
You must enable encryption on FlexGroup volumes at the time of creation. You cannot enable encryption on existing FlexGroup volumes.
cluster-1::> volume create -vserver vs0 -volume fg2 -aggr-list aggr1,aggr2,aggr3,aggr1 -aggr-list-multiplier 2 -size 500TB Warning: A FlexGroup "fg2" will be created with the following number of constituents of size 62.50TB: 8. Do you want to continue? {y|n}: y [Job 43] Job succeeded: Successful
-
In the previous example, if you want to create the FlexGroup volume for FabricPool, all local tiers (aggr1, aggr2, and aggr3) must have FabricPool enabled. Mount the FlexGroup volume with a junction path: volume mount -vserver vserver_name -volume vol_name -junction-path junction_path
cluster1::> volume mount -vserver vs0 -volume fg2 -junction-path /fg
You should mount the FlexGroup volume from the client.
If you are running ONTAP 9.6 or earlier and if the storage virtual machine (SVM) has both NFSv3 and NFSv4 configured, mounting the FlexGroup volume from the client might fail. In such cases, you must explicitly specify the NFS version when you are mounting the FlexGroup volume from the client.
# mount -t nfs -o vers=3 192.53.19.64:/fg /mnt/fg2 # ls /mnt/fg2 file1 file2