Managing VMware Storage Throughput, IOPS, and Latency on TrueNAS with SIOC


August 15, 2016

by Brad Meyervmware_ready_logo

For blog entries, I always like to start with the bottom line of the article, so here it is. TrueNAS Hybrid and All Flash Storage Arrays from iXsystems support VMware SIOC using either Fibre Channel, iSCSI, or NFSv3 attached datastores.

Now, for the details.

What is SIOC? VMware introduced Storage I/O Control (SIOC) with the release of ESX and ESXi 4.1 back in 2010 providing the ability to manage storage I/O priorities when multiple VMs occupy a single shared datastore. As Cormac Hogan states in his article NFS Best Practices – Part 3: Interoperability Considerations – “The whole point of Storage I/O Control (SIOC) is to prevent a single virtual machine (VM) residing on one ESXi host from consuming more than its fair share of bandwidth on a datastore that it shares with other VMs which reside on other ESXi hosts.

It’s really the “noisy neighbor” problem in VMware. You don’t want a lower priority VM strangling I/O capacity from a higher priority VM that shares the same datastore. This diagram shows the situation and what SIOC does for your datastore performance.

The diagram shows that the “Data Mining” and “Print Server” VMs are using more datastore I/O resources than the more important “Online Store” and “Microsoft Exchange” VMs. With SIOC set, the “Online Store” and “Microsoft Exchange” VMs get VIP I/O priority and do not get limited by their “noisy neighbors” in the datastore.

TrueNAS Hybrid and All Flash storage systems by iXsystems provide complete integration and compatibility for VMware SIOC whether you use Fibre Channel or iSCSI LUNs, or NFS. It’s not necessary to get one storage solution for SAN and another for NAS. TrueNAS integrates both block and file storage protocols into one, easy to use system that is a fraction of the cost of comparable storage systems on the market today.

Setting up SIOC is very easy. First, you need the proper ESXi licensing. SIOC requires an Enterprise Plus ESXi license. SIOC is enabled on a per datastore basis. From the vSphere Web Client go to the Storage section, then click on the datastore to enable and select Manage. Under the Manage tab for that particular datastore select Edit.

In the settings window, Enable Storage I/O Control and set the congestion threshold. You can manually specify the threshold or set a percentage value. In this example, we set the percentage to measure the peak throughput of the datastore to be 90% and click on [OK].

Priority for VMs in the datastore are assigned based on relative share values. You can set the relative share values for each VM by selecting the Related Objects tab for the datastore and right-clicking the VM and select Edit Settings from the menu.


By default all VMs on a particular datastore have the same share value set at 1000. You can adjust the share value for any VM higher or lower providing a relative priority for the VM within that datastore for SIOC to manage. In the example below we are setting the share value of this VM to 2000 while the remainder of the VMs in the datastore stay at 1000.

Once set, SIOC begins to monitor the datastore performance. The key thing to remember is that SIOC will do nothing other than monitoring until the datastore performance sags below the set threshold. Before that, all VMs are treated the same and have the same priority. The share values begin to take effect once the threshold boundaries are crossed.

With the introduction of VMware ESXi 5.5 in 2013, the single datastore extent maximum was expanded from 2 TB to 62 TB allowing you to store more with a single extent datastore than you could do in the past. Previously, if you wanted a datastore larger than 2TB you need to use multiple storage extents to get the desired size. However, SIOC does not work on multi-extent datastores. Now, with larger single extent datastores, SIOC can manage storage I/O much more effectively.

The new ESXi 6 release out since 2015 now supports NFSv4.1. However, VMware is still updating all of the various features to support this version of NFS. SIOC is one of the features not supported at this time under NFS 4.1. Additionally, you cannot use SDRS, SRM, or Virtual Volumes with NFSv4.1.

With TrueNAS from iXsystems, you have the flexibility of using either NFSv3, Fibre Channel or iSCSI protocols to provide storage for your ESXi environment. Having a multiprotocol storage system provides the flexibility to fit into any data center environment.  iXsystems recommends you use iSCSI for your VMware datastores. However, if you do use NFS, you must use NFSv3 to mount your datastores until VMware updates the capabilities of SIOC on ESX and TrueNAS supports NFSv4.1.

Want to know more about VMware on iXsystems? Go to the iXsystems Virtualization page at There you will find a wealth of information about how TrueNAS from iXsystems can solve all your virtualization issues.

Brad Meyer

As a technical and product marketing specialist, Brad Meyer, has spent his entire career in the tech industry in Silicon Valley.  Focusing primarily on data storage technology, he has worked for Hewlett-Packard (HPE), NetApp, Violin Memory, HGST, and Drobo.  Brad studied Business MIS at Cal Poly, San Luis Obispo and is now  applying his technical marketing skills to TrueNAS and OpenZFS at iXsystems in San Jose, CA.