VM Junkie

August 31, 2010

VMworld session TA7805 – Tech Preview: Storage DRS

Filed under: vmworld — Justin Emerson @ 4:52 pm

Irfan Ahmad presenting, he presented last year on what became Storage I/O Control.

  • Storage DRS is a “stealth” project at VMware
  • Big problem is a VM admin doesn’t necessarily know what class of disk or how many spindles are behind a particular datastore.
  • Create a new primitive called a “datastore group” which is a new domain like a DRS cluster. Note from me: This will of course dovetail nicely into vCD service levels!
  • Storage DRS would automatically load balance across multiple datastores in a datastore pool.
  • When you create a new VM, you place it on a datastore group and it does auto-placement. Takes both free space and I/O into consideration
  • ESX host will gather both free space and I/O stats to help balance for initial placement as well as Storage VMotions.
  • Cluster-datastore group relationship is many to many – a datastore group can span clusters and a cluster can have multiple datastore groups.
  • Recommend all datastore groups are visible from all hosts but not enforced, much like existing datastore presentation in clusters. Storage DRS will do best effort if you don’t follow this, though.
  • You can have Storage DRS affinity rules – keep these two VMs on different arrays or keep all disks from this VM on the same datastore.
  • Datastore Maintenance Mode! Say this datastore is going down and it’ll auto SVMotion all VMs off into other LUNs in the same pool.
  • You can of course add datastores to an existing group like adding a host to a cluster.
  • When you enable it you can do it on Capacity or Capacity and I/O (important for virtualized arrays like EVA where a group of LUNs shares same performance pool)
  • You can set an I/O latency metric so that if latency gets above 15ms it’ll move stuff to a datastore with lower latency. Really smart way to determine if I/O capacity is too high.
  • Balancing will only happen every few days, not every hour like a VMotion.
  • Initial placement will take into account both DRS and StorageDRS metrics, as well as how well connected the datastore is. For example, if datastore is hooked up to all hosts it will prefer that over a datastore only connected to 1 or 2.
  • You can balance capacity based on keeping them all withing a % of each other (in other words prefer balance) or just try to keep them below a certain % (just try to avoid making a datastore full)
  • It even takes into account growth rate of thinly provisioned disks when determining a good placement! Wow, that’s smart. Weights powered-off VMs less since their I/O is generally 0 when off.
  • Prefers moving VMs with low SvMotion overhead (like move smaller VMs before big ones, like DRS).
  • Does load balancing by knowing a more powerful datastore (one with more disks behind it) will have latency degrade slower than a less powerful datastore. This insight is used to model the performance to make smart migration choices.
  • Also model metrics of individual virtual disks and feeds that into the model.
  • They did a man vs. machine test. Made 13 VMs with standard workloads, gave all info to 2 storage admins at VMware vs. Storage DRS algorithm. While IOPS were about the same between experts and algorithm, algorithm beat them significantly on latency!

This was the best session I went to all day. This once again reminds me why VMware makes such cool products – they really understand problems and they have really smart people trying to solve them.



  1. Very cool notes… However, when will this stuff be available… I’m running ESX4.1 with an ENT PLUS license—-and don’t see any of this. 😉 email me: wsellers@gmail.com


    Comment by William Sellers — September 8, 2010 @ 12:56 pm

  2. Will,
    This is a Tech Preview session. There were no commitments as to when this functionality would be in a future release of vSphere. I’m sure it will be coming eventually.

    Comment by ermac318 — September 8, 2010 @ 1:34 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Blog at WordPress.com.

%d bloggers like this: