With the vRealize Automation 8.4 release, important Disk Management Enhancements have been introduced, for starters, we boost the Disk Placement logic in a Multi-VM scenario, by improving the interactions with vRealize Operations, and ensuring that disk placement is always selecting the cluster which hosts the VM for optimal performance,
This is important, specially in use cases where creating multiple VMs from one single Cloud Machine Resource that leverages the count field property, there was the possibility that the disks might not necessarily land on the same cluster that would host the VMs and affecting their performance.
Another related improvement was optimizing the way Storage Allocation is performed by considering the full VM size, let me explain, in the previous releases, vRealize Automation used to allocate storage for a template/content library for a deployment, however it only allocated considering the default capacity and then executing a resizing in a later stage, once the full details were known, usually at the post deployment phase.
Now vRealize Automation discovers all details at the beginning, that way it can allocate, considering the full deployment size, including the image data disks and any other data disks which are part of the template, also keep in mind that by doing this, the Workload Placement generated by vRealize Operations (when configuring Advanced mode), is a lot more precise.
Simply put, if I had a single VM deployed, which included a couple of disks (10Gb each), only the boot disk (8GB) was considered for the storage allocation, instead of taking in account all of them from the beginning , this is 28GB, without triggering more unnecessary operations to resize/optimize this deployment, with this new changes, the whole 28GB would be considered for the allocation and this information would be accurately shared to vRealize Operations in order to get a better optimizing plan.
The enhancements mentioned above also triggered improvements such as Support for Multi-VM/Disk Configuration, (one of my favorites) which it is the ability to deploy a Cluster of VMs and attach a Cluster of Disks with a few Resource Types definitions, or less code,
I mean, in previous releases, if I needed a couple of VMs and each of them required to have a couple of disks attached, my Cloud Template code would require four Cloud.Volume Resource definition and their full set of properties plus and static attachment instruction per VMs (tedious and prone to error process).
Now with vRealize Automation 8.4 , you can take advantage of the
allocatePerInstance resource flag, and
count.index in your Cloud Templates, simply define one single Cloud.Volume Resource with a multiple count property, furthermore, indicate different disks size and perform the attachment in a more efficient way by using
map_to_object expression syntax, think of it as something you could achieve with a Loop instruction inside the Cloud Templates.
And of course, all of this will also support Day 2 actions, such a resize or tags, individually for all the disks created, including a better and easy way to identify the disks attached to the respective VMs.
I included more details in this blog Cloud Assembly Support for Multiple Disks Clusters, Disk Sizes per Template & SCSI Controller Management.
and while you are there, don’t forget to check Better vRA support for disks which are part of an image template. blog with more disk management enhancements for this release.
vRealize Automation keeps evolving and providing more granular Out-Of-the-Box capabilities when it comes to Disk Management & 2nd Day Operations, which are as important (may be more) as Day 1 operations.