Setup and Configure VMware vSphere 6.5 Storage I/O Control

0

When managing and maintaining a VMware vSphere environment, keeping an eye on storage and storage I/O is extremely important. In most virtualization environments where shared SAN storage is in place, it is not uncommon to see storage I/O resources exhausted before CPU and in many cases memory. In many cases, a higher than expected number of I/O intensive VMs sharing the same datastore will become active at the same time requested I/O operations. This can lead to contention as those active VMs compete with each other as well as with VMs running low priority workloads. Having an automated mechanism especially in virtualized environments that keeps one virtual resource from overrunning a storage array and taking all the available I/O present is essential. Way back in vSphere 4.1 a feature called Storage I/O Control was introduced that provides this automated mechanism that dynamically allocates portions of the host’s I/O queues to VMs. However, it is a great feature that still, many do not utilize or even know about.  Let’s take a look at how to Setup and Configure VMware vSphere 6.5 Storage I/O Control.

New Features of Storage I/O Control in vSphere 6.5

Storage I/O control has remained unchanged for a long while since its inception in vSphere 4.1. However, in vsphere 6.5 it has received an upgrade. It is now “policy driven”, implemented with the VAIO framework (vSphere APIs for IO). This makes the feature more powerful and tweakable, tailored to specific requirements of the environment.

When you enable Storage I/O Control (SIOC) on a datastore, the VMware ESXi host begins to monitor the device latency that is observed when communicating with the datastore where SIOC is enabled. When device latency is more than the configured threshold, vSphere views the datstore as congested and each VM that is accessing the SIOC enabled datastore is allocated I/O resources in proportio to their shares.

When you enable Storage I/O Control (SIOC) on a datastore, the VMware ESXi host begins to monitor the device latency that is observed when communicating with the datastore where SIOC is enabled. When device latency is more than the configured threshold, vSphere views the datstore as congested and each VM that is accessing the SIOC enabled datastore is allocated I/O resources in proportion to their shares. Shares are setup per virtual machine based on policy settings.

vSphere 6.5 Storage I/O Control Requirements

Below are requirements to consider before implementing vSphere 6.5 Storage I/O Control:

  • Datastores must be managed by a single vCenter Server
  • It is supported on all VMFS and NFS datastores – Fiber Channel, iSCSI, NFS. Raw Disk Mapping (RDM) is not supported. Also, datastores with multiple extents are not supported.
  • Be careful not to simply enable Storage I/O Control on any SAN that has automated tiering. Be sure to verify your SAN with tiering functionality is certified as compatibile with SIOC before enabling

Setup and Configure VMware vSphere 6.5 Storage I/O Control

To enable Storage I/O Control on a datastore, we simply navigate to the the Home button >> Storage >> right click on the datastore >> Configure Storage I/O Control.  We are then presented with the following box to Enable Storage I/O Control.  Check the box to enable it.  By default it is set to Percentage of peak throughput 90%.  This can also be changed to the next radio button for a manual ms setting.

Enabling-VMware-Storage-IO-Control-SIOC-on-a-datastore Setup and Configure VMware vSphere 6.5 Storage I/O Control

Enabling VMware Storage IO Control SIOC on a datastore

Create a VM Storage Policy for Storage I/O Control

To create a VM Storage Policy for use with Storage I/O Control, navigate to Home >> Policies and Profiles >> VM Storage Policies.  Then we want to Create VM Storage Policy.

Create-a-new-VM-Storage-Policy-for-use-with-SIOC Setup and Configure VMware vSphere 6.5 Storage I/O Control

Create a new VM Storage Policy for use with SIOC

This launches the Create New VM Storage Policy wizard.  We begin by naming the policy.

Name-the-new-vm-storage-policy Setup and Configure VMware vSphere 6.5 Storage I/O Control

Name the new VM storage policy

Under the Policy structure >> Common rules check the box and click the Add component button.

Add-components-to-the-VM-storage-policy Setup and Configure VMware vSphere 6.5 Storage I/O Control

Add components to the VM storage policy

Now we select the Storage I/O Control menu and we see we have the default options to set Low, Normal, or High IO Shares allocation.

Select-storage-io-control-SIOC-and-the-shares-option-you-choose Setup and Configure VMware vSphere 6.5 Storage I/O Control

Select storage io control SIOC and the shares option you choose

Below as shown, the Default Storage Policy Components that are configured out of the box.

Default-VM-Storage-Policy-components Setup and Configure VMware vSphere 6.5 Storage I/O Control

Default VM Storage Policy components

After setting the Normal shares option.

Storage-IO-control-VM-storage-policy-configured-for-normal-shares Setup and Configure VMware vSphere 6.5 Storage I/O Control

Storage IO control VM storage policy configured for normal shares

If we select the Custom option, we can manually define the IOPS limit, IOPS reservation, and IOPS shares.

Choosing-custom-in-the-Storage-IO-Policy-SIOC Setup and Configure VMware vSphere 6.5 Storage I/O Control

Choosing custom in the Storage IO Policy SIOC

Click Finish to finalize the new Storage I/O Control VM Storage Policy.

Complete-the-new-VM-Storage-Policy-creation Setup and Configure VMware vSphere 6.5 Storage I/O Control

Complete the new VM Storage Policy creation

Assign the Storage I/O Control VM Storage Policy to a Virtual Machine

Now that we have our new Storage I/O Control VM Storage Policy defined, we can apply it to a virtual machine.  Right-click the virtual machine and select the Edit VM Storage Policies.

Setting-the-VM-Storage-Policy-on-a-virtual-machine Setup and Configure VMware vSphere 6.5 Storage I/O Control

Setting the VM Storage Policy on a virtual machine

Now we select the new VM storage policy we defined from the dropdown menu.  Click the Apply to all to apply the policy to all the VM files and click OK.

Select-the-Storage-Policy-created-in-the-dropdown Setup and Configure VMware vSphere 6.5 Storage I/O Control

Select the Storage Policy created in the dropdown

Notice how the VM Storage Policy now has changed for the VM files.

After-applying-the-VM-Storage-Policy-to-the-VM-files Setup and Configure VMware vSphere 6.5 Storage I/O Control

After applying the VM Storage Policy to the VM files

Monitoring VMware Storage I/O Control

Monitoring VMware Storage I/O Control can be done from the Storage >> <Datastore > >> Monitor >> Performance, Performance View dropdown.  You will see the following windows measuring Storage I/O Control:

  • Storage I/O Control Normalized Latency
  • Storage I/O Control Aggregate IOPs
  • Storage I/O Control Activity
Monitoring-VMware-Storage-IO-Control Setup and Configure VMware vSphere 6.5 Storage I/O Control

Monitoring VMware Storage IO Control

Thoughts – Setup and Configure VMware vSphere 6.5 Storage I/O Control

Storage I/O Control is a great technology that many may not fully utilize in vSphere storage environments.  The process to Setup and Configure VMware Storage I/O Control is not difficult and easily helps to maximize the storage performance of a SAN environment with high I/O workloads.  The technology has been enhanced in vSphere 6.5 Storage I/O control by now utilizing the VAIO framework for more powerful policy driven control of storage I/O performance.  Also, a great resource for learning more about the Storage I/O control is the official vSphere Resource Management document.