You can modify a VDC storage profile to enable support for vCenter Storage I/O Control if that feature is configured in the underlying Provider VDC.
Managed read/write performance in physical storage devices and virtual disks is defined in units called IOPS, which measure read/write operations per second. When an organization VDC storage profile is backed by a Provider VDC storage profile that includes storage devices that are capable of IOPS allocation, you 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, even 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 profile whose maximum IOPS value is lower than the requested value, or a storage profile that is not configured with IOPS support.
VMware Cloud Director sets an IOPS limit and reservation for every disk that uses an IOPS-enabled storage profile. vSphere is responsible for allocating the IOPS capacity of the underlying datastore across all virtual disks that use the storage profile. IOPS management is primarily intended to ensure that no disk can consume more than its fair share of IOPS. Realized IOPS for a given disk are limited by what the backing LUN can provide, and can be influenced by factors such as read/write block size. While a given storage profile can include a mix of datastores that IOPS-enabled and those that are not, such configurations can interfere with the system's ability to allocate IOPS fairly across all disks that use the storage profile.
The ability of a Provider VDC storage profile to provide IOPS support depends on the configuration of the vSphere datastores that support it. See Configure Storage I/O Control Support in a Provider VDC.
Prerequisites
This operation is restricted to system administrators.
Procedure
Example: Add IOPS Support to an Organization VDC Storage Profile
This request adds IOPS support to a storage profile.
PUT https://vcloud.example.com/api/admin/vdcStorageProfile/128 Content-Type: application/vnd.vmware.admin.vdcStorageProfile+xml ... <?xml version="1.0" encoding="UTF-8"?> <AdminVdcStorageProfile xmlns="http://www.vmware.com/vcloud/v1.5" name="bronze" type="application/vnd.vmware.admin.vdcStorageProfile+xml"> <Link rel="edit" href="https://vcloud.example.com/api/admin/vdcStorageProfile/128" type="application/vnd.vmware.vcloud.vdcStorageProfile+xml" /> <Enabled>true</Enabled> <Units>MB</Units> <Limit>1024</Limit> <Default>true</Default> <IopsSettings> <Enabled>true</Enabled> <DiskIopsMax>4000</DiskIopsMax> <DiskIopsDefault>1000</DiskIopsDefault> <StorageProfileIopsLimit>200000</StorageProfileIopsLimit> <DiskIopsPerGbMax>100</DiskIopsPerGbMax> </IopsSettings> <ProviderVdcStorageProfile href="https://vcloud.example.com/api/admin/pvdcStorageProfile/101" name="Bronze" type="application/vnd.vmware.admin.pvdcStorageProfile+xml" /> </AdminVdcStorageProfile>
BadRequestException: Storage profile n contains storage pod p. Enabing IOPS guarantee is not supported on a storage profile containing storage pods.
- The storage profile includes one or more storage pods.
- The storage profile includes one or more VMware Virtual SAN datastores.
- The value you specified for DiskIopsMax, DiskIopsPerGbMax, or DiskIopsDefault is not in the range allowed by the storage profile.
The response is a Task.
202 Accepted Content-Type: application/vnd.vmware.vcloud.task+xml ... <Task ... > ... </Task>