Hello,
We're using a combination of OnCommand PM as well as the vSphere tools to get an idea of where are heavy-hitters are. When we migrated our ESXi 5.x/7mode over to ESXi 6.x/ONTAP (using storage vMotions) we tried to distribute guest workloads evenly across our various tiers of datastores (i.e. SSD/SAS and SATA). That said, we threw a FlashPool controller setup into the mix so now we're back to re-establishing those tiers based on IOPs/node utilization/etc.
Anyway, for us, an automated vol move utility would be sort of ugly since we've got 25TB datastores (NFS) presented to our ESXi farm. The moves take a couple of days in the best case scenario, so it's not something we'd want to have going on all the time. Our approach at present is to have multiple datastores spanning the different aggregates/node and then have our VMware folks try to balance guest workloads across them based on occupancy. Then, when we identify a guest that is off the charts, we’ll have them move that one up to SSD (or contact the admin and see if something is wrong with the system – too little memory, run-away process, etc). Having those moves done in DRS would obviously kill us in snaps (if machines were constantly moving from one datastore to the next).
That said, I somewhat regret that we weren’t able to implement a “flash first” approach – then we wouldn’t have to worry about guest workload contention so much and the compression/compaction efficiencies are really impressive. The other somewhat manual process we’ve been using lately is pulling the:
set advanced
statistics top file show
and then you can see if a particular VMDK is going bonkers.
Hope that helps!
Chris