You can use the VMware Cloud Director Service Provider Admin Portal to enable the I/O operations per second (IOPS) setting for a storage policy so that tenants can set per-disk IOPS limits.

Managed read/write performance in physical storage devices and virtual disks is defined in units called IOPS, which measure the read/write operations per second. To limit I/O performance, a provider VDC storage policy that includes storage devices with enabled IOPS allocation must back an organization VDC storage policy. Afterwards, a tenant can configure disks that use it to request a specified level of I/O performance. A storage profile configured with IOPS support delivers its default IOPS value to all disks that use it. That includes disks that are not configured to request a specific IOPS value. A hard disk configured to request a specific IOPS value cannot use a storage policy whose maximum IOPS value is lower than the requested value, or a storage policy that is not configured with IOPS support.

Note: The actual I/O throughput that the virtual machines see is a combination of block size and IOPS. If the VMs are using different block sizes, their throughput will be different, even if IOPS is limited to the same number. For more information on managing storage I/O resources, see the vSphere Resource Management guide.

Starting with VMware Cloud Director 10.4, to show or hide the IOPS reservations and limits in certain organizations or from certain roles, you can use the View Disk IOPS right visible under Compute > Organization VDC. The API name of the right is Organization vDC Disk: View IOPS.

VMware Cloud Director IOPS Storage Policy

With this option, there are default IOPS settings that you can edit. You can set limits on IOPS per disk or IOPS per storage policy. You can set IOPS limits per disk based on the disk size in GB so that you grant larger disks more IOPS. Tenants can set custom IOPS on a disk within these limits. You can use IOPS limiting with or without IOPS capacity considerations for placement.

  1. If you want VMware Cloud Director to consider IOPS when placing disks on datastores, in vCenter Server, add IOPS capacities to all datastores associated with the storage policy you want to modify.

    1. In vCenter Server, navigate to Datastore > customAttribute > Edit
    2. Enter iopsCapacity, value as a key-value pair.
    3. Click Add, and click Save.
  2. If you want VMware Cloud Director to consider IOPS when placing disks on datastores, in vCenter Server, create a storage policy that uses the datastores with added IOPS capacities.
  3. By using the VMware Cloud Director Service Provider Admin Portal or the VMware Cloud Director API, add the storage policy to one or more provider VDCs.
  4. By using the Service Provider Admin Portal or the VMware Cloud Director API, publish the storage policy to one or more organization VDCs. The organization VDCs to which you publish the storage policy inherit the policy's IOPS settings.
  5. If you want to edit the inherited storage policy IOPS settings, use the Service Provider Admin Portal or VMware Cloud Director API to update the organization VDC storage policy.

This policy type appears as a VCD/IOPS capability of the storage policy.

You cannot enable the IOPS limiting on a storage policy backed by a Storage DRS cluster. If you deactivate the VMware Cloud Director Impact Placement option from the storage policy settings, you can use a Storage DRS cluster with a VCD/IOPS policy. When the Impact Placement option is deactivated, vCenter Server and the Storage DRS determine the target datastore as per their IOPS settings. In other words, in this case, you can create or migrate VMs with pre-set IOPS values to Storage DRS clusters, however, Storage DRS validates the IOPS limiting.

vCenter Server IOPS Storage Policy

This option has one IOPS setting for all disks using this policy. You cannot edit this setting in VMware Cloud Director. Tenants cannot set custom IOPS on disks using these policies. This option does not provide IOPS scaling depending on the sizes of the disks or load balancing across datastores.

  1. In vCenter Server, create a VC-IOPS enabled storage policy with custom reservation, limit, and shares.
  2. In vCenter Server or the VMware Cloud Director Service Provider Admin Portal, assign the disk to the storage policy.

This policy type appears as a vSphere/IOPS capability of the storage policy. When the source or target VM has the vSphere/IOPS capability, you cannot create fast-provisioned VMs.

Setting IOPS on a Disk in vCenter Server

To change the IOPS setting, in vCenter Server, manually update the IOPS on the disk. You cannot edit these IOPS settings in VMware Cloud Director.

Enabling IOPS Limiting on an Existing Storage Policy

Note: You cannot enable VMware Cloud Director IOPS limiting on a policy that already has the vSphere/IOPS capability on it.
  • Enable IOPS limiting on a VCD/IOPS storage policy:
    1. If you want VMware Cloud Director to consider IOPS capacities when placing disks on datastores, in vCenter Server, add IOPS capacities to all datastores associated with the storage policy you want to modify.
      1. In vCenter Server, navigate to Datastore > customAttribute > Edit
      2. Enter iopsCapacity, value as a key-value pair.
      3. Click Add, and click Save.
    2. If you want VMware Cloud Director to consider IOPS capacities when placing disks on datastores, by using the VMware Cloud Director Service Provider Admin Portal or the VMware Cloud Director API, ensure that the corresponding provider VDC storage policy reports the IOPS capacity as non-zero.
    3. By using the VMware Cloud Director Service Provider Admin Portal or VMware Cloud Director API, update the organization VDC storage policy to enable the VCD/IOPS capability and to set the maximum IOPS value, default IOPS value, and so on.
  • Enable the IOPS limiting on a vSphere/IOPS storage policy in vCenter Server.

When you enable IOPS limiting for an organization VDC storage policy, tenants can use the VMware Cloud Director Tenant Portal to set per-disk IOPS limits.