With the release of NimbleOS 3.1 we have introduced a new construct into the NimbleOS platform called Folders. These are primarily designed to allow users to logically group volumes together for various use cases such as ease of viewing, organisational management, grouping for individual customers or for setting limits within a Storage Pool. We also use the Folders construct as the “Container” for VMware Virtual Volumes (aka VVOLs) and Microsoft System Center Virtual Machine Manager.
Folders are becoming an ever-important way to organise multiple volumes together, as we encroach on thousands of Nimble volumes (and hundreds of thousands of Nimble snapshots!). It's also an area where it's possible to specify if Dedupe should be switched on or not, as it's better to enable dedupe on specific applications or volumes, vs enabling deduplication globally on ALL data that hits the array (which will burn your CPU/memory performance with potentially not much benefit, should the data not deduplicate well).
To create a folder within NimbleOS 3.1 and above, simply click on the “New Folder” button in the Volumes window.
This will present you with a new window, where you can give the folder a name (and description) as well as any limits for capacity usage, should you wish to do so (useful in an environment with multiple applications/users with appetites for storage growth!). At the bottom of the window, you can also choose whether the folder should be visible for use within VMware for VVOLs, or SCVMM (note: if you select “none” then the folder will NOT be visible to either technologies).
Once created, you’ll then see a new tree on the left-hand side of the Volumes screen, showing the folders created within the pool (notice that we’re now displaying the default pool within NimbleOS, something which was hidden previously without scaling out the arrays).
Now when creating volumes, on the second part of the Wizard you are then able to specify what folder you wish the volume to be part of, or you could place it in the ‘root’, which is the default pool. Notice that I set a folder threshold of 3TB on the folder, and it’s now only displaying 3TB of free space for me to use for volumes.
If I then were to head to Storage Pools->Folders, i can then see what volumes reside within the folder, as well as what the data reduction savings are - as well as what Application Category(ies) is within the Folder... more on Application Categories later.
Finally, if I want to relocate a volume / series of volumes from one folder to another (or even from the root to a folder) then i can click the “Move” button and specify where I want them to go. This will not move data around on the system, it’s merely moving allocations, so it’s non disruptive.
Finally, in order to enable or disable deduplication on a specific folder, head to the Folder itself, click "More Actions" and then choose whether or not to enable inline dedupe against the volumes stored within the folder. Yes, it's possible to turn on and off deduplication whenever required.
By being selective with what data we want to deduplicate, we can now become efficient with what essentially is a compute-intensive feature, versus trying to globally deduplicate every incoming block inline from every application to every volume - which could have a negative impact on top-line performance with no real capacity savings (also known as the Deduplication Tax, which impacts every dedupe-centric array from any vendor - regardless of what marketing & sales say ).
To summarise - the Folders construct becomes very important in larger environments for ease of use / organisational requirements, as well as when wanting to provision storage for VVOL or SCVMM, and is highly recommended for users to implement to allow for efficient scaling of the Nimble platform.