WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

Configuring per-VMDK IOPS reservations in vSphere 6.0

05.20.2015 by William Lam // 1 Comment

One of the new features in vSphere 6.0 that was quickly mentioned at the end of Duncan Epping's What's New Storage DRS blog post is the ability to configure an IOPS reservation on a per-VMDK basis which is now integrated with both Storage IO Control (SIOC) and Storage DRS. As Duncan mentioned at the end of his article, this feature is only consumable through the vSphere API and given that, it may not be a feature that is widely known or used. This topic had recently surfaced in an internal thread on how to set the IOPS reservations and below are the details if you wish to leverage this new vSphere 6.0 storage platform capability.

To be able to use this new feature, there are two requirements:

  1. You need to set the IOPS reservation value on an individual VMDK which is under the StorageIOAllocationInfo property of a VMDK called, not surprisingly, reservation.
  2. All ESXi hosts mounting the Datastore must be running vSphere 6.0

To be clear, this reservation property has been around since vSphere 5.5, but had only had support for local datastores. In vSphere 6.0, shared datastores are now supported along with both SIOC and Storage DRS being aware.

To exercise the use of this vSphere API, I have created a simple PowerCLI script called configurePerVMDKIOPS.ps1 (works with both vSphere 5.x & 6.0) which you will need to edit to include your vCenter Server, the name of the VM you wish to set the IOPS reservation along with the VMDK label and IOPS value.

Here is an example output for configuring a VM named Photon with IOPS reservations of 2000 on Hard Disk 1:

configure-per-vmdk-iops-reservations
I have been told that in the future, the plan is to make this configurable available in the vSphere Web Client. Though, honestly why would anyone want to perform this change across multiple VMs by hand, when you can quickly and efficiently automate this across your environment with a simple script? 😉

Categories // Automation, vSphere 6.0 Tags // iops reservation, PowerCLI, sioc, storage drs, storage io control, StorageIOAllocationInfo, vSphere 6.0, vSphere API

Script - Automate Storage I/O Control in vSphere 4.1 (siocManagement.pl)

07.13.2010 by William Lam // 3 Comments

Storage I/O Control is a new feature of vSphere 4.1 which allows a user to define the QoS prioritization for the I/O activity on a single host or a cluster of hosts. SIOC supports only VMFS volumes and the latency threshold is configured on a per VMFS datastore.

Currently, the only method of configuring SIOC is using the vSphere Client while connected to your vCenter Server, which can be tedious if you manage more than 1 VMFS datastore:

The following vSphere SDK for Perl script allows a user to bulk update SIOC across your vSphere infrastructure based on an input file that consists of the name of the VMFS datastores and the latency thresholds to be configured. The script requires that you connect to your vCenter server and provide the following input parameters:

--datastore_inputfile = Is the name of the datastore input file which contains the name of your VMFS datastore and the latency value

--operation = There are four supported operations (query|enable|disable|update)

--vihost = Name of the ESX(i) host to perform the operation on (you only need to perform the operation on 1 host within a cluster and the changes are taken place across all hosts)

Download: siocManagement.pl

Here is an example of the datastore input file:

[vi-admin@makalu scripts]$ cat datastorelist
# datastorename;latency_value
# e.g.
# mydatastore1; 35
iSCSI-1;20
iSCSI-2;15
iSCSI-3;35
esxi4-3-local-storage-1;40

Note: The latency threshold must be between 10-100 ms. The default value when you enable SIOC is 30 ms,

Example of query operation:

Example of enable operation:

Example of disable operation:

Example of update operation:

Before attempting to make any changes, make sure you consult with your storage vendor.

Categories // Uncategorized Tags // sioc, storage io control, vSphere 4.1, vsphere sdk for perl

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...