vSphere 5.0 – Storage I/O control ( SOIC )

Nothing ground-breaking in this post – just jotting down some notes.  An excellent deep technical explanation can be found here:  Storage I/O Control Technical Overview and Considerations for Deployment.

But if you’re satisfied with peanuts (which is all I gots), keep on reading.

What is Storage I/O control?

When you enable Storage I/O Control, ESXi monitors datastore latency and adjusts the I/O load sent to it, if datastore average latency exceeds the threshold. The sole purpose is to prevent any single VM from monopolizing a datastore.  This feature is not enabled by default – but it’s a good idea to get around to understanding and enabling it.

What is new regarding SOIC in 5.0?   Storage I/O Control NFS support!

vSphere 5.0 extends Storage I/O Control to provide cluster-wide I/O shares and limits for NFS datastores.

To Enable Storage I/O Control

1 In the vSphere Client inventory, select a datastore and click the Configuration tab.
2 Click Properties.
3 Under Storage I/O Control, select the Enabled check box.
4 Click Close.

On the Datastores tab, the Storage I/O Control column shows that Storage I/O Control is enabled for the datastore.


Setting the Congestion Threshold Value for Storage I/O Control 

The congestion threshold value for a datastore is the upper limit of latency that is allowed for a datastore before Storage I/O Control begins to assign importance to the virtual machine workloads according to their shares.

You do not need to adjust the congestion threshold setting in most environments. Do not make any changes to these settings unless you are working with the VMware support team or otherwise have thorough information about the values to provide for the settings

 If you do change the threshold setting, set the value based on the following considerations.
  • A higher value typically results in higher aggregate throughput and weaker isolation. Throttling will not occur unless the overall average latency is higher than the threshold
  • If throughput is more critical than latency, do not set the value too low. For example, for Fibre Channel disks, a value below 20 ms could lower peak disk throughput. On the other hand, a very high value (above 50 ms) might allow very high latency without any significant gain in overall throughput.
  • A lower value will result in lower device latency and stronger virtual machine I/O performance isolation. Stronger isolation means that the shares controls are enforced more often. Lower device latency translates into lower I/O latency for the virtual machines with the highest shares, at the cost of higher I/O latency experienced by the virtual machines with fewer shares.
  • If latency is more important, a very low value (lower than 20 ms) will result in lower device latency and better isolation among IOs at the cost of a decrease in aggregate datastore throughput.
  1. Select a datastore in the vSphere Client inventory and click the Configuration tab.
  2. Click Properties.
  3. Under Storage I/O Control, select the Enabled check box.
  4. Click Advanced to edit the congestion threshold value for the datastore.
    The value must be between 10 and 100. You can click Reset to restore the congestion threshold setting to the default value (30 ms).
  5. Click Close.
And that’s all I got folks!  Good nite!
Sources :
– vmware tech paper on SOIC.
– vmware kb 1019687
– vSphere5.0 Help Topics
– http://www.vmware.com/support/vsphere5/doc/vsphere-esx-vcenter-server-50-new-features.html