VMware AppVolumes and Storage Groups

CloudVolumes-SquareWhile in the previous posts I have put together around using VMware AppVolumes has been focused around AppStacks, I am switching gears a bit and have been spending time in the lab with the Writable Volumes feature. Writable volumes in a nutshell (and will be covered in another post) allow for a persistent, ie writable, VMDK  to be mounted to a virtual machine when an assigned a user logs in. This VMDK file is based on the AppVolumes Templates and leverages the AppVolumes agent in the guest OS to redirect the following types of information:

  • User Installed Applications only (UIA)
  • User Profile Data only
  • User Installed Applications and User Profile Data

This is all well and good, but compared to AppStacks and their read only workload requirements, Writable volumes brings a different set of challenges. Obviously the first thing to point out is, yes there will be write operations that need to be accounted for on the backend storage and second how many Writable Volumes should be stored/accessed per backend Datastore. In speaking with EUC folks last week at VMware’s Partner Exchange event, the rumor had started that reference architectures are soon to be released and provide direction around configuration minimums and maximums. In the meantime while playing in the lab environment I stumbled across the Storage Groups settings for distributing Writable Volumes across multiple Datastores.

Configuring Storage Groups

The process to configure Storage Groups is pretty straight forward. From the steps outlined below the assumption is made that you have currently logged into the AppVolumes management dashboard.

From the Infrastructure menu context select the Storage Groups tab and click on “Create Storage Group”


The screenshot below displays the Create Storage Group configuration settings. The configuration options will be covered in the following screenshots:


Group Name – This setting is pretty self explanatory. For the lab use I titled it Test Storage Group (way to think out side of the box):


Distribution Strategy – This options dictates how files will be distributed across the Datastores that make up the Storage Group. There are three options/settings you can select from:

    • Spread – Distribute files evenly across all the storage locations. When a file is created, the storage with the most available free space is selected
    • Spillover – Distribute files by filling each storage location before using the next one. When a file is created, the storage with the least available space is selected
    • Round-Robin – Distribute files by sequentially using the storage locations. When a file is create, the storage with the oldest used time is selected
        For testing purposes I chose to go with the


Template Storage – Location to house/hold the above mentioned AppVolumes templates. I chose the current default location for my templates, my VSAN Datastore:


Storage Selection – This allows for how you want to select the backend Datastores that will make up the Storage Group. Two options are available, first is Direct. This option allows you to select the given Datastores:


The second option is to use Automatic which allows the use of prefix matching of your Datastores (this is where a good naming convention will come in handy). Shown below I am using the DS prefix to pattern match the two Datastores presented from my Synology array:


With the Datastores selected (using the Automatic setting) click “Create” to complete the setup:


And with that, I have created the first Storage Group:


Working with Storage Groups

With the Storage Group configured and ready to use, lets assign some Writable Volumes. To prepare for this portion of the post the following was created ahead of time:

      • Four Active Directory users accounts, AppVol1 thru AppVol4 (again, highly creative)
      • Active Directory user group containing the AppVol user accounts, AppVolume_Writable_Profil

Again from within the AppVolumes Manager, select Volumes from the navigation menu and go to the Writables tab. Click on “Create Writable”:


In the Search Active Directory search field I provide part of the AD User Group containing my test user accounts and clicked Search:StorageGroups11

With the Active Directory Group selected we can configure the Writable Volume settings. In the example screenshot below for the Destination Storage option I used our newly created Test Storage Group and for the Source Template I selected the included template_profile_only option. Note, below the Source Template option are additional settings that I believe are self-explanatory. Click Create to finish the task:


Quickly popping over to my vCenter console I can see that Copy File jobs have completed, first from my vsanDatastore (where the AppVolume templates are stored) and four other Copy File jobs completed as well, two to each Datastore per the Round-Robin setting chosen for the Storage Group:


And just for good measure, lets take deeper look at each of the two Datastores. As we can see, two user Writable Volumes where created per Datastore:



Thanks for reading and any questions or comments please post them below!


%d bloggers like this: