Showing posts with label SIOC. Show all posts
Showing posts with label SIOC. Show all posts

Thursday, May 1, 2014

SIOC - VMware vSphere Storage I/O Control - Enhancement

Today I plan to write about the enhancements in Storage I/O control in vSphere 5.1 platform. Those of you who need some heads up can read about SIOC in my previous blog post here

The following are the new enhancements to Storage I/O Control in vSphere 5.1.

1. Stats Only Mode

SIOC is now turned on in stats only mode automatically. It doesn't enforce throttling but gathers statistics to assist Storage DRS. Storage DRS now has statistics in advance for new datastores being added to the datastore cluster & can get up to speed on the datastores profile/capabilities much quicker than before.

2. Automatic Threshold Computation

The default latency threshold for SIOC is 30 msecs. Not all storage devices are created equal so this default is set to a middle-of-the-ground range. There are certain devices which will hit their natural contention point earlier than others, e.g. SSDs, in which case the threshold should be lowered by the user. However, manually determining the correct latency can be difficult for users. This motivates the need for the latency threshold to get automatically determined at a correct level for each device. Another enhancement to SIOC is that SIOC is now turned on in stats only mode. This means that interesting statistics which are only presented when SIOC is enabled will now be available immediately.

To figure out the best threshold, the new automatic threshold detection uses the I/O injector modelling functionality of SIOC to determine what the peak throughput of a datastore is.

When peak throughput is measured, latency is also measured.

The latency threshold value at which Storage I/O Control will kick in is then set to 90% of this peak value (by default).

vSphere administrators can change this 90% to another percentage value or they can still input a millisecond value if they so wish.




3. VMobservedLatency

VmObservedLatency is a new metric. It replaces the datastore latency metric which was used in previous versions of SIOC. This new metric measures the time between VMkernel receiving the I/O from the VM, and the response coming back from the datastore. Previously we only measured the latency once the I/O had left the ESXi host, so now we are also measuring latency in the VMkernel as well. This new metric will be visible in the vSphere UI Performance Charts.



PS :  All the disk operations on VM like backup, Storage vMotion etc are billed to SIOC. 

SIOC - VMware vSphere Storage I/O Control

What is SIOC ?

A cool feature in VMware vSphere.. Well all the features in VMware vSphere platform are way cooler than they look. Trust me other virtualization vendors are no where even close when it comes to useful features.

Enough blabbing.. back to SIOC or Storage I/O control.

"SIOC or Storage I/O control is a mechanism to prioritize I/O for virtual machines running on group of vSphere hosts and sharing a common pool of storage."

Storage problems are most easily identified by high device latency. When storage takes a long time to service IOs (over 20ms by my definition), application owners will soon start complaining. The goal of SIOC is to identify this trend at the VMFS volume level and take corrective action to protect high priority virtual machines

Lets see how it works and some prerequisites.
  • SIOC throttles (decreases in most cases) VM's throughput to limit access to host device queue.
  • SIOC is enabled per datastore.
  • SIOC only applies disk shares when a certain threshold(Device Latency, most likely 30ms but configurable) has been reached.
  • SIOC modifies array queue on host (based on average DAVG per host on a datastore). Please refer to Frank Denneman's excellent post
  • SIOC will enforce limits in terms of IOPS when specified on the VM level.
  • SIOC requires Enterprise Plus license.
  • SIOC also supports NFS datastore in vSphere 5.0 and above.
  • SIOC is NOT same as traditional VM disk share but a level up. 
  • SIOC is NOT compute cluster based.



You can see the working of SIOC in a youtube video SIOC in action

Thoughts

Storage I/O Control (SIOC) is an Enterprise Plus feature that is used to control the I/O usage of a virtual machine and to gradually enforce the predefined I/O share levels according to the business needs. Even if equal shares are desired, fairness cannot be guaranteed between VMS on different hosts without SIOC.

It is supported on Fibre Channel, iSCSI and NFS storages, and can automatically set the best latency threshold to achieve maximum throughput. This enables you to make the best out of your shared storage, and helps you easily manage a better virtual environment.

This feature is a must have for organizations that want to achieve higher consolidation ratios or host VMs for multiple tenants (like public clouds) as it helps reduce the effect of a noisy neighbor trying to hog storage resources on the rest of the well-behaving VMs.


I plan to write another blog on enhanced features in SIOC in vSphere 5.1 and implications on NFS datastores. 

Until next time :)