FlexGroup volumes may be one of the most powerful features in the NetApp ONTAP operating system, but also perhaps the most misunderstood.
FlexGroup volumes are an evolution of scale-out NAS containers that blend near-infinite capacity (up to 60PB in ONTAP 9.16.1) with predictable high performance in a variety of workloads.
Let’s unpack that bit. First, a FlexGroup volume is a scale out NAS container, meaning that data can be placed on multiple nodes in a ONTAP cluster and can continue to scale and grow as needed by adding additional member volumes. This provides the near infinite capacity stated above. However, unlike other solutions like parallel file systems that also offer large capacity and scale out, ONTAP is able to preserve small file performance and deliver high metadata performance.
How is this done? As data is ingested into a FlexGroup volume, ONTAP will make some real time key decisions about where to place data. When possible, ONTAP will keep files that share a directory together which enables fast directory operations and thus fast metadata operations. For different directories, ONTAP will often choose a different member volume of the FlexGroup, allowing seamless scale.
This approach has proven wildly successful. ONTAP clusters, using FlexGroup volumes, have achieved some of the best performance results for various benchmarks for unstructured data—most recently the top score for SPECstorageTM Solution 2020 EDA Blended benchmark.
Competitive solutions either do not scale sufficiently or they use a simplistic method to distribute data across all nodes in the cluster. Simplistic data striping may work great for large file performance but has a couple of major drawbacks: small file performance and metadata performance suffers and growing the cluster involves a massive amount of data movement.
The FlexGroup volume approach that ONTAP uses delivers massive scale and amazing performance regardless of file size. How data is distributed can present a unique challenges for managing space as some member volumes may fill faster than others. There are a couple of scenarios where FlexGroup member volumes may fill at dramatically different rates which could place the volume at risk of filling up. The good news is recent ONTAP versions have addressed these scenarios.
Scenario1 – Growing hot files. This scenario starts where a series of small files are written in the same directory, thus the same member volume, but then begin to grow rapidly. If left to grow large enough they could fill the volume. To prevent this, ONTAP will do several things. First, if the volume reaches 80% full, ONTAP will first attempt Free Space Balancing. This is when we will borrow space from a different member volume to allow this member volume to grow. The overall FlexGroup will remain the same capacity but the member volumes “flex” to optimally contain the data.
Next, starting in ONTAP 9.14.1, ONTAP can recognize this scenario of multiple files growing rapidly and it will move the growing files to different volumes, balancing the capacity and IO across the different volumes.
Scenario 2 – Large single file. Occasionally, files may grow very large. This can place a member volume in danger of filling up. Starting with ONTAP 9.16.1, ONTAP can identify these large files and split the file as it grows. Let’s say a file grows beyond 10GB in size, ONTAP can then switch to writing to a new volume, leaving the first 10GB in it. Then, if it continues to grow, it will keep switching member volumes every 10GB of data. By doing this, large files, even ones that are multiple terabytes in size, can be ingested without ever filling any single member of the FlexGroup volume.
With these enhancements, in addition to several other enhancements that we will cover in a subsequent blog, ONTAP can handle most scenarios that could potentially fill any single member volume. ONTAP will ingest data and distribute it across multiple volumes, it will place data to optimize performance and at the same time provide a new limitless data container.
As an administrator, you no longer need to watch and manage the capacity of the individual member volumes of a FlexGroup. Simply manage the space at the FlexGroup volume level and ensure your individual data aggregates have sufficient room.
Regardless of if you have a high capacity of unstructured data, have a high throughput workload, or both; ONTAP FlexGroup volumes can meet the need, while being simple to manage and highly automated in nature.