Optimizing I/O performance
Overview of optimizing I/O performance
To optimize I/O performance by using the REST API, use one the following methods:
- Use the Virtual Partition Manager function for dividing the cache to prevent a specific host from monopolizing use of too much cache capacity.
- Use the QoS (Quality of Service) function to restrict the I/O performance of hosts for each volume and thereby prevent the performance of one service from interfering with the performance of another service.
- Use the Server Priority Manager function to prioritize the I/O operations of hosts for which fast processing is required by restricting the I/O performance of lower-priority hosts.
- Assign specific MP blades to resources to distribute the workload of I/O operations.
Use the Virtual Partition Manager function to divide the cache and allocate the resources that use the cache. By doing so, you can prevent a situation in which a specific host monopolizes use of too many cache memory areas and I/O performance deteriorates.
You can use the REST API to create or delete a CLPR, or assign resources.
For details about the CLPR function and notes on using CLPRs, see the manual for Virtual Partition Manager.
Use the QoS function to restrict IOPS, the amount of transferred data, and other parameters for each volume. By doing so, you can ensure the appropriate I/O for each service, thereby maintaining the required performance and quality levels.
By using the REST API, you can set the upper and lower limits on IOPS and the amount of data transferred, as well as the amount of time to wait before issuing an alert. You can also get performance information about volumes for which QoS settings are configured. You can use the API for getting volume information to check the information that is set.
You can get information related to QoS groups by using REST API requests that include simple in the request line. For details how to get information related to QoS groups, see the descriptions about QoS groups.
For details and usage notes related to the QoS function, see the Performance Guide.
To prevent performance degradation of high-priority hosts, you can use the Server Priority Manager function to restrict the number of times a lower-priority host can access a storage system and the amount of data a lower-priority host can transfer.
You can configure Server Priority Manager by specifying a port and the WWN of the HBA or by specifying a volume (LDEV) and the WWN or iSCSI name of the HBA. You cannot use both specification methods on the same storage system. If you are using the REST API, configure settings by specifying a volume and the WWN or iSCSI name of the HBA.
Use a product such as the Tuning Manager API to check the performance information of hosts for which Server Priority Manager information was set by specifying the volume and WWN or iSCSI name of the HBA in the REST API.
For storage systems for which the Server Priority Manager function is already being used from a product such as Storage Navigator, you cannot use the Server Priority Manager function from the REST API. To configure Server Priority Manager from the REST API, first delete all Server Priority Manager settings from products such as Storage Navigator.
If you assign specific MP blades to each resource related to the input or output of data (resources such as LDEVs, external parity groups, and journals), those resources have exclusive use of the corresponding MP blades. In addition, if there are many write operations from hosts to a specific MP blade, you can distribute the I/O workload by assigning another MP blade to the resource that is placing a heavy load on the first MP blade.
You can use the REST API to change the MP blade assigned to an LDEV, an external parity group, or a journal. For details, see the descriptions of the API requests for changing the assignment of an MP blade in the following sections:
- For LDEVs: The section explaining the volume allocation
- For external parity groups: The section explaining the optimization of I/O performance
- For journals: The section explaining how to configure a remote copy environment
Getting information about CLPRs
Storage Administrator (View Only)
GET base-URL/v1/objects/clprs
Object ID
None.
Query parameters
None.
Body
None.
Body
{ "data": [ { "clprId": 0, "clprName": "CLPR0", "cacheMemoryCapacity": 171776, "cacheMemoryUsedCapacity": 41055, "writePendingDataCapacity": 56, "sideFilesCapacity": 0, "cacheUsageRate": 24, "writePendingDataRate": 1, "sideFilesUsageRate": 0 }, { "clprId": 1, "clprName": "CLPR1", "cacheMemoryCapacity": 4096, "cacheMemoryUsedCapacity": 0, "writePendingDataCapacity": 0, "sideFilesCapacity": 0, "cacheUsageRate": 0, "writePendingDataRate": 0, "sideFilesUsageRate": 0 }, { "clprId": 2, "clprName": "CLPRDEV", "cacheMemoryCapacity": 12288, "cacheMemoryUsedCapacity": 0, "writePendingDataCapacity": 0, "sideFilesCapacity": 0, "cacheUsageRate": 0, "writePendingDataRate": 0, "sideFilesUsageRate": 0 } ] }
Attribute
Type
Description
clprId
int
CLPR ID
clprName
string
CLPR name
cacheMemoryCapacity
long
Cache size (MB)
cacheMemoryUsedCapacity
long
Used cache size (MB)
writePendingDataCapacity
long
Amount of data waiting to be written (MB)
sideFilesCapacity
long
Size of side files (MB)
cacheUsageRate
int
Cache usage rate (%)
writePendingDataRate
int
Rate of data waiting to be written (%)
sideFilesUsageRate
int
Side file usage rate (%)
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/clprs
Getting information about a specific CLPR
Storage Administrator (View Only)
GET base-URL/v1/objects/clprs/object-ID
Object ID
Specify the value of
clprId
that was obtained by the processing to get information about CLPRs.Attribute
Type
Description
clprId
int
(Required) CLPR ID
Query parameters
None.
Body
None.
Body
{ "clprId": 2, "clprName": "CLPRGRP", "cacheMemoryCapacity": 12288, "cacheMemoryUsedCapacity": 0, "writePendingDataCapacity": 0, "sideFilesCapacity": 0, "cacheUsageRate": 0, "writePendingDataRate": 0, "sideFilesUsageRate": 0 }
Attribute
Type
Description
clprId
int
CLPR ID
clprName
string
CLPR name
cacheMemoryCapacity
long
Cache size (MB)
cacheMemoryUsedCapacity
long
Used cache size (MB)
writePendingDataCapacity
long
Amount of data waiting to be written (MB)
sideFilesCapacity
long
Size of side files (MB)
cacheUsageRate
int
Cache usage rate (%)
writePendingDataRate
int
Rate of data waiting to be written (%)
sideFilesUsageRate
int
Side file usage rate (%)
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/clprs/2
Creating a CLPR
If you locked any resources of the target storage system by using the REST API, you will not be able to use this API function. In such cases, unlock the resources before running the API function.
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/clprs
Object ID
None.
Query parameters
None.
Body
{ "clprName" : "CLPRDEV", "cacheMemoryCapacity" : 12288 }
Attribute
Type
Description
clprName
string
(Required) CLPR name
Specify a name consisting of 1 to 16 characters.
Specify a name that is unique among the CLPRs on the target storage system.
cacheMemoryCapacity
long
(Required) Total cache size of the CLPR (MB)
For VSP 5000 series storage systems, specify a multiple of 4096. For other storage systems, specify a multiple of 2048.
For details on the size that can be specified for the cache, see the Virtual Partition Manager manual.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the created CLPR
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/clprs
Changing the settings of a CLPR
If you locked any resources of the target storage system by using the REST API, you will not be able to use this API function. In such cases, unlock the resources before running the API function.
Storage Administrator (System Resource Management)
PATCH base-URL/v1/objects/clprs/object-ID
Object ID
Specify the value of
clprId
that was obtained by the processing to get information about CLPRs.Attribute
Type
Description
clprId
int
(Required) CLPR ID
Query parameters
None.
Body
The following is a coding example for changing the name of a CLPR:
{ "clprName" : "CLPRGRP" }
The following is a coding example for changing the total cache size of a CLPR:
{ "cacheMemoryCapacity" : 24576 }
The following is a coding example for changing the name and total cache size of a CLPR:
{ "clprName" : "CLPRGRP", "cacheMemoryCapacity" : 24576 }
Attribute
Type
Description
clprName
string
(Optional) CLPR name
Specify a name consisting of 1 to 16 characters.
Specify a name that is unique among the CLPRs on the target storage system.
cacheMemoryCapacity
long
(Optional) Total cache size of the CLPR (MB)
For VSP 5000 series storage systems, specify a multiple of 4096. For other storage systems, specify a multiple of 2048.
For details on the size that can be specified for the cache, see the Virtual Partition Manager manual.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the CLPR whose settings were changed
None.
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X PATCH --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/clprs/2
Deleting a CLPR
If you locked any resources of the target storage system by using the REST API, you will not be able to use this API function. In such cases, unlock the resources before running the API function.
Storage Administrator (System Resource Management)
DELETE base-URL/v1/objects/clprs/object-ID
Object ID
Specify the value of
clprId
that was obtained by the processing to get information about CLPRs.Attribute
Type
Description
clprId
int
(Required) CLPR ID
Query parameters
None.
Body
None.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the deleted CLPR
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/clprs/3
Assigning LDEVs to a CLPR
If you want to assign external volumes to a CLPR, see the description of how to assign external parity groups to a CLPR.
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/ldevs/object-ID/actions/assign-clpr/invoke
Object ID
Specify the value of
ldevId
that was obtained by the processing to get information about volumes.Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
Query parameters
None.
Body
{ "parameters": { "clprId": 2 } }
Attribute
Type
Description
clprId
int
(Required) CLPR ID of the CLPR to which the LDEV is to be assigned
Specify a decimal (base 10) number in the range from 0 to 31.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the LDEV that was assigned to the CLPR
GET base-URL/v1/objects/ldevs/object-ID/actions/assign-clpr
For details on the status codes of the request for this operation, see the description on HTTP status codes.
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/ldevs/100/actions/assign-clpr
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/ldevs/100/actions/assign-clpr/invoke
Assigning parity groups to a CLPR
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/parity-groups/object-ID/actions/assign-clpr/invoke
Object ID
Specify the value of
parityGroupId
that was obtained by the processing to get information about parity groups.Attribute
Type
Description
parityGroupId
string
(Required) Parity group number
Specify concatenated parity groups in the same way.
For 1-3-1, 1-3-2, and 1-3-3 concatenated parity groups, specify as follows:
"parityGroupId":"1-3"
Query parameters
None.
Body
{ "parameters": { "clprId": 2 } }
Attribute
Type
Description
clprId
int
(Required) CLPR ID of the CLPR to which the parity group is to be assigned
Specify a decimal (base 10) number in the range from 0 to 31.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the parity group that was assigned to the CLPR
GET base-URL/v1/objects/parity-groups/object-ID/actions/assign-clpr
For details on the status codes of the request for this operation, see the description of HTTP status codes.
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/parity-groups/1-1/actions/assign-clpr
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/parity-groups/1-1/actions/assign-clpr/invoke
Getting information about external parity groups
Storage Administrator (View Only)
GET base-URL/v1/objects/external-parity-groups
Object ID
None.
Query parameters
Parameter
Type
Description
detailInfoType
string
(Optional) Type of detailed information to be obtained
-
class
Adds additional information from the storage system's cache.
You can specify this item for VSP 5000 series.
To get up-to-date information, you must run the API request that refreshes the storage system's cache before running this request. For details, see "Updating the cache of storage system configuration information".
-
Body
None.
Body
{ "data": [ { "externalParityGroupId": "1-1", "numOfLdevs": 1, "usedCapacityRate": 100, "availableVolumeCapacity": 0, "emulationType": "OPEN-V", "clprId": 0, "externalProductId": "OPEN-V", "availableVolumeCapacityInKB": 0 }, { "externalParityGroupId": "1-2", "numOfLdevs": 0, "usedCapacityRate": 0, "availableVolumeCapacity": 40, "emulationType": "OPEN-V", "clprId": 0, "externalProductId": "OPEN-V", "availableVolumeCapacityInKB": 41943040 } ] }
Attribute
Type
Description
externalParityGroupId
string
External parity group number
numOfLdevs
int
Number of LDEVs allocated to the external parity group
usedCapacityRate
int
Usage rate of the external parity group
availableVolumeCapacity
long
Available capacity (GB)
The amount of free space is output.
If the capacity is below 1 GB, the value is ignored and 0 is assumed.
availableVolumeCapacityInKB
long
Available capacity (KB)
The amount of free space is output.
emulationType
string
Emulation type of the external parity group
clprId
int
Number of CLPR to which the external parity group belongs
externalProductId
string
Storage system that is connected using the external storage connection functionality of Universal Volume Manager
If you run this request with class specified for
detailInfoType
in the query parameters, additional information from the storage system's cache is also obtained.Attribute
Type
Description
largestAvailableCapacity
long
Maximum capacity of the non-volume areas in the external parity group (KB)
The maximum capacity of the continuously free areas is output.
totalOpenVolumeCapacity
long
Total volume capacity of the open volumes in the external parity group (KB)
unallocatedOpenVolumeCapacity
long
From among the open volumes in the external parity group, the total capacity of volumes to which paths are not allocated (KB)
allocatedOpenVolumeCapacity
long
From among the open volumes in the external parity group, the total capacity of volumes to which paths are allocated (KB)
allocatableOpenVolumeCapacity
long
From among the open volumes in the external parity group, the total capacity of volumes to which paths can be allocated (KB)
The total capacity of volumes that meet all of the following conditions is output.
- No path is allocated to the volume.
- The volume is not a pool volume.
- The volume is not a system disk.
reservedOpenVolumeCapacity
long
From among the open volumes in the external parity group, the total capacity of volumes which are reserved (KB)
The total capacity of volumes that meet all of the following conditions is output.
- No path is allocated to the volume.
- The volume is either a pool volume or a system disk.
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/external-parity-groups
Getting information about a specific external parity group
Storage Administrator (View Only)
GET base-URL/v1/objects/external-parity-groups/object-ID
Object ID
Specify the value of
externalParityGroupId
that was obtained by the processing to get information about the external parity group.Attribute
Type
Description
externalParityGroupId
string
(Required) External parity group number
Query parameters
None.
Body
None.
Body
{ "externalParityGroupId": "1-2", "numOfLdevs": 1, "usedCapacityRate": 100, "availableVolumeCapacity": 0, "emulationType": "OPEN-V", "clprId": 0, "externalProductId": "OPEN-V", "spaces": [ { "partitionNumber": 0, "ldevId": 49153, "status": "NML", "lbaLocation": "0x000000000000", "lbaSize": "0x000001e00000" } ], "availableVolumeCapacityInKB": 0 }
Attribute
Type
Description
externalParityGroupId
string
External parity group number
numOfLdevs
int
Number of LDEVs allocated to the external parity group
usedCapacityRate
int
Usage rate of the external parity group
availableVolumeCapacity
long
Available capacity (GB)
The amount of free space is output.
If the capacity is below 1 GB, the value is ignored and 0 is assumed.
availableVolumeCapacityInKB
long
Available capacity (KB)
The amount of free space is output.
emulationType
string
Emulation type of the external parity group
clprId
int
Number of CLPR to which the external parity group belongs
externalProductId
string
Storage system that is connected using the external storage connection functionality of Universal Volume Manager
spaces
objects[]
For the free space and the LDEV defined in the specified external parity group, the following attributes are output:
- partitionNumber (long)
Number of a partition created as a result of partitioning of an external parity group
- ldevId (int)
LDEV number
- status (string)
LDEV status
- NML: The LDEV is implemented, or the free space is determined.
- REG: The LDEV is being created.
- DEL: The LDEV is being deleted.
- lbaLocation (string)
Starting location of the LBA of the partition in the external parity group (in a multiple of 512 bytes)
- lbaSize (string)
Size of the partition in the external parity group (in a multiple of 512 bytes)
- partitionNumber (long)
For details on the status codes of the request for this operation, see the description on HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/external-parity-groups/1-1
Assigning external parity groups to a CLPR
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-clpr/invoke
Object ID
Specify the value of
externalParityGroupId
that was obtained by the processing to get information about external parity groups.Attribute
Type
Description
externalParityGroupId
string
(Required) External parity group number
Query parameters
None.
Body
{ "parameters": { "clprId": 2 } }
Attribute
Type
Description
clprId
int
(Required) CLPR ID of the CLPR to which the external parity group is to be assigned
Specify a decimal (base 10) number in the range from 0 to 31.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the external parity group that was assigned to the CLPR
GET base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-clpr
For details on the status codes of the request for this operation, see the description of HTTP status codes.
To get an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/external-parity-groups/1-1/actions/assign-clpr
To run the request after getting an action template:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/external-parity-groups/1-1/actions/assign-clpr/invoke
Changing the MP blade assigned to an external parity group
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-mp-blade/invoke
Object ID
Specify the
externalParityGroupId
value obtained by getting information about the external parity group.Attribute
Type
Description
externalParityGroupId
string
(Required) External parity group number
Query parameters
None.
Body
{ "parameters": { "mpBladeId": 1 } }
Attribute
Type
Description
mpBladeId
int
(Required) The blade number of the MP blade to be assigned to the external parity group
Body
A job object is returned. For details about attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the external parity group for which the MP blade was changed
To check changed setting values, execute the API request for getting information about the external path groups.
None.
For details about the status codes of the request for this operation, see the description of the HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/external-parity-groups/3-1/actions/assign-mp-blade/invoke
Configuring QoS settings for a volume
-
You can use QoS to control I/O between a host and the volumes of a storage system. You can configure QoS settings for volumes that are directly connected to the host.
-
This API request can be used when the storage system is VSP 5000 series, VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/ldevs/object-ID/actions/set-qos/invoke
Object ID
Specify the value of
ldevId
that was obtained by the processing to get information about volumes.Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
Query parameters
None.
Body
{ "parameters": { "upperIops": 100 } }
You can specify only one attribute each time you run this API request.
Attribute
Type
Description
upperIops
long
(Optional) Upper limit on the IOPS
Specify a value in the range from 100 to 2147483647. If the
lowerIops
attribute is set, the value specified for this attribute must be greater than the value of thelowerIops
attribute.To disable this setting, specify 0. If you disable both the
upperIops
attribute and theupperTransferRate
attribute, theupperAlertAllowableTime
attribute will also be disabled.upperTransferRate
int
(Optional) Upper limit on the amount of data that can be transferred per second (in MB)
Specify a value in the range from 1 to 2097151. If the
lowerTransferRate
attribute is set, the value specified for this attribute must be greater than the value of thelowerTransferRate
attribute.To disable this setting, specify 0. If you disable both the
upperIops
attribute and theupperTransferRate
attribute, theupperAlertAllowableTime
attribute will also be disabled.upperAlertAllowableTime
int
(Optional) Amount of time to wait before issuing an alert when the IOPS or the amount of data transferred per second exceeds the upper limit for a continuous period of time (in seconds)
Specify a value in the range from 1 to 600. You can specify this attribute only if one or both of the
upperIops
andupperTransferRate
attributes are already set.To disable this setting, specify 0.
lowerIops
long
(Optional) Lower limit on the IOPS
Specify a value in the range from 10 to 2147483647. If the
upperIops
attribute is set, the value specified for this attribute must be less than the value of theupperIops
attribute.To disable this setting, specify 0. If you disable both the
lowerIops
attribute and thelowerTransferRate
attribute, thelowerAlertAllowableTime
attribute will also be disabled.You can specify this parameter if the storage system model is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
lowerTransferRate
int
(Optional) Lower limit on the amount of data that can be transferred per second (in MB)
Specify a value in the range from 1 to 2097151. If the
upperTransferRate
attribute is set, the value specified for this attribute must be less than the value of theupperTransferRate
attribute.To disable this setting, specify 0. If you disable both the
lowerIops
attribute and thelowerTransferRate
attribute, thelowerAlertAllowableTime
attribute will also be disabled.You can specify this parameter if the storage system model is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
lowerAlertAllowableTime
int
(Optional) Amount of time to wait before issuing an alert when the IOPS or the amount of data transferred per second falls below the lower limit for a continuous period of time (in seconds)
Specify a value in the range from 1 to 600. You can specify this attribute only if one or both of the
lowerIops
andlowerTransferRate
attributes are already set.To disable this setting, specify 0.
You can specify this parameter if the storage system model is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
responsePriority
int
(Optional) Priority level of the I/O processing
Specify a value in the range from 1 to 3. A larger value indicates a higher level of priority. If you specify this attribute, a target response time will be set, based on the priority level you set.
To disable this setting, specify 0. If you disable the
responsePriority
attribute, theresponseAlertAllowableTime
attribute will also be disabled.You can specify this parameter if the storage system model is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
responseAlertAllowableTime
int
(Optional) Amount of time to wait before issuing an alert when the response time exceeds the target response time for a continuous period of time (in seconds)
Specify a value in the range from 1 to 600.
To disable this setting, specify 0.
You can specify this parameter if the storage system model is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the LDEV for which QoS settings were configured
None.
For details about the status codes of the request for this operation, see the description of the HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/ldevs/100/actions/set-qos/invoke
Getting performance information for a volume on which QoS has been set up
This API request can be used when the storage system is VSP 5000 series, VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
Storage Administrator (View Only)
GET base-URL/v1/objects/qos-monitor-ldevs/object-ID
Object ID
Specify the
ldevId
value obtained by getting information about volumes.Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number with a decimal (base 10) number.
Query parameters
None.
Body
None.
Body
{ "ldevId": 200, "receivedCommands": 3840, "transferRateOfReceivedCommands": 15000, "iops": 2650, "transferRate": 10000, "responseTime": 5, "monitorTime": "2020-01-01T23:59:59Z" }
Attribute
Type
Description
ldevId
int
LDEV number
receivedCommands
long
Number of commands received from hosts over the last second (IOPS)
transferRateOfReceivedCommands
long
Amount of transferred data received from hosts over the last second (KBps)
iops
long
Number of commands processed by the storage system over the last second (IOPS)
transferRate
long
Amount of transferred data processed by the storage system over the last one second (KBps)
responseTime
int
Average response time (μs)
monitorTime
ISO8601string
Time at which the performance information was collected (UTC)
This parameter is output if the storage system is VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.
For details on the status codes of the request for this operation, see the section explaining HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/qos-monitor-ldevs/1
Managing QoS groups
Getting a list of Server Priority Manager information
Storage Administrator (View Only)
GET base-URL/v1/objects/io-control-ldev-wwns-iscsis
Object ID
None.
Query parameters
Parameter
Type
Filter Condition
ldevId
int
(Optional) Specify the LDEV number as a decimal (base 10) number.
hostWwn
string
(Optional) WWN of the HBA
Specify a hexadecimal number consisting of 16 characters.
iscsiName
string
(Optional) iSCSI name of the HBA (iSCSI initiator)
Specify the name in iqn format or eui format.
- iqn format
Specify a value consisting of 5 to 223 characters. You can use the following characters:
Alphanumeric characters, hyphens (-), periods (.), and colons (:)
Specification example: iqn.rest.example.of.iqn.form
-
eui format
Specify eui. followed by a hexadecimal number. The specified value must consist of a total of 20 characters.
Specification example: eui.0900ABDC32598D26
- iqn format
Body
None.
Body
{ "data" : [ { "ioControlLdevWwnIscsiId" : "0,210003e08b0256f9", "ldevId" : 0, "hostWwn" : "210003e08b0256f9", "priority" : "NonPrioritize", "upperLimitForIops" : 9999 }, { "ioControlLdevWwnIscsiId" : "1,210003e08b0256f9", "ldevId" : 1, "hostWwn" : "210003e08b0256f9", "priority" : "NonPrioritize", "upperLimitForIops" : 9999 }, { "ioControlLdevWwnIscsiId" : "2,iqn.myrestapiiscsi20150907", "ldevId" : 2, "iscsiName" : "iqn.myrestapiiscsi20150907", "priority" : "NonPrioritize", "upperLimitForTransferRate" : 30 }, { "ioControlLdevWwnIscsiId" : "3,iqn.myrestapiiscsi20150907", "ldevId" : 3, "iscsiName" : "iqn.myrestapiiscsi20150907", "priority" : "NonPrioritize", "upperLimitForTransferRate" : 30 } ] }
Attribute
Type
Description
ioControlLdevWwnIscsiId
string
Object ID of the SPM information
ldevId
int
LDEV number
hostWwn
string
WWN of the HBA
iscsiName
string
iSCSI name of the HBA (iSCSI initiator)
priority
string
Prioritized or not prioritized
The value of the SPM setting is output.
- Prioritize: Prioritized
- NonPrioritize: Not prioritized
upperLimitForIops
int
Upper limit on IOPS
upperLimitForTransferRate
int
Upper limit on the transfer rate (MBps)
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/io-control-ldev-wwns-iscsis/
Getting Server Priority Manager information by specifying a volume and the WWN or iSCSI name of an HBA
Storage Administrator (View Only)
GET base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Object ID
Specify the value of
ioControlLdevWwnIscsiId
that was obtained by the processing to get the Server Priority Manager list. You can also specify the following attributes, delimited by commas:For the WWN:
ldevId,hostWwn
For the iSCSI name:
ldevId,iscsiName
Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
hostWwn
string
(Optional) WWN of the HBA
Specify a hexadecimal number consisting of 16 characters.
You must specify either the
hostWwn
attribute or theiscsiName
attribute.iscsiName
string
(Optional) iSCSI name of the iSCSI initiator
Specify the name in iqn format or eui format.
- iqn format
Specify a value consisting of 5 to 223 characters. You can use the following characters:
Alphanumeric characters, hyphens (-), periods (.), and colons (:)
Specification example: iqn.rest.example.of.iqn.form
-
eui format
Specify eui. followed by a hexadecimal number. The specified value must consist of a total of 20 characters.
Specification example: eui.0900ABDC32598D26
You must specify either the
hostWwn
attribute or theiscsiName
attribute.- iqn format
Query parameters
None.
Body
None.
Body
{ "ioControlLdevWwnIscsiId" : "0,210003e08b0256f9", "ldevId" : 0, "hostWwn" : "210003e08b0256f9", "priority" : "NonPrioritize", "upperLimitForTransferRate" : 30 }
Attribute
Type
Description
ioControlLdevWwnIscsiId
string
Object ID of the SPM information
ldevId
int
LDEV number
hostWwn
string
WWN of the HBA
iscsiName
string
iSCSI name of the HBA (iSCSI initiator)
priority
string
Prioritized or not prioritized
The value of the SPM setting is output.
- Prioritize: Prioritized
- NonPrioritize: Not prioritized
upperLimitForIops
int
Upper limit on IOPS
upperLimitForTransferRate
int
Upper limit on the transfer rate (MBps)
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X GET https://192.0.2.100/ConfigurationManager/v1/objects/io-control-ldev-wwns-iscsis/0,210003e08b0256f9
Setting Server Priority Manager information by specifying a volume and the WWN or iSCSI name of the HBA
If the number of volumes for which Server Priority Manager has been configured exceeds 4,096, the hosts of volumes configured after the 4,096th volume will have lower I/O response be lower than the hosts of the first 4,096 volumes to be configured.
Make sure the number of volumes for which Server Priority Manager has been configured does not exceed 4,096.
Storage Administrator (System Resource Management)
POST base-URL/v1/objects/io-control-ldev-wwns-iscsis
Object ID
None.
Query parameters
None.
Body
The following coding example sets the upper limit on IOPS:
{ "ldevId" : 0, "hostWwn" : "210003e08b0256f9", "upperLimitForIops" : 9999 }
The following coding example sets the upper limit on the transfer rate:{ "ldevId" : 0, "iscsiName" : "iqn.myrestapiiscsi20150907", "upperLimitForTransferRate" : 30 }
Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
hostWwn
string
(Optional) WWN of the HBA
Specify a hexadecimal number consisting of 16 characters.
You must specify either the
hostWwn
attribute or theiscsiName
attribute.iscsiName
string
(Optional) iSCSI name of the HBA (iSCSI initiator)
Specify the name in iqn format or eui format.
- iqn format
Specify a value consisting of 5 to 223 characters. You can use the following characters:
Alphanumeric characters, hyphens (-), periods (.), and colons (:)
Specification example: iqn.rest.example.of.iqn.form
-
eui format
Specify eui. followed by a hexadecimal number. The specified value must consist of a total of 20 characters.
Specification example: eui.0900ABDC32598D26
You must specify either the
hostWwn
attribute or theiscsiName
attribute.upperLimitForIops
int
(Optional) Upper limit on the IOPS (IOPS)
Specify a value in the range from 1 to 65535.
You must specify either the
upperLimitForIops
attribute or theupperLimitForTransferRate
attribute.upperLimitForTransferRate
int
(Optional) Upper limit on the transfer rate (MBps)
Specify a value in the range from 1 to 31.
You must specify either the
upperLimitForIops
attribute or theupperLimitForTransferRate
attribute.- iqn format
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the specified SPM information
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X POST --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/io-control-ldev-wwns-iscsis/
Changing the Server Priority Manager information
Storage Administrator (System Resource Management)
PATCH base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Object ID
Specify the value of
ioControlLdevWwnIscsiId
that was obtained by the processing to get the Server Priority Manager list. You can also specify the following attributes, delimited by commas:For the WWN:
ldevId,hostWwn
For the iSCSI name:
ldevId,iscsiName
Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
hostWwn
string
(Optional) WWN of the HBA
Specify a hexadecimal number consisting of 16 characters.
You must specify either the
hostWwn
attribute or theiscsiName
attribute.iscsiName
string
(Optional) iSCSI name of the iSCSI initiator
Specify the name in iqn format or eui format.
- iqn format
Specify a value consisting of 5 to 223 characters. You can use the following characters:
Alphanumeric characters, hyphens (-), periods (.), and colons (:)
Specification example: iqn.rest.example.of.iqn.form
-
eui format
Specify eui. followed by a hexadecimal number. The specified value must consist of a total of 20 characters.
Specification example: eui.0900ABDC32598D26
You must specify either the
hostWwn
attribute or theiscsiName
attribute.- iqn format
Query parameters
None.
Body
The following coding example changes the upper limit on IOPS:
{ "upperLimitForIops" : 9999 }
The following coding example changes the upper limit on the transfer rate:{ "upperLimitForTransferRate": 30 }
Attribute
Type
Description
upperLimitForIops
int
(Optional) Upper limit (IOPS)
Specify a value in the range from 1 to 65535.
You must specify either the
upperLimitForIops
attribute or theupperLimitForTransferRate
attribute.upperLimitForTransferRate
int
(Optional) Upper limit (transfer rate in MBps)
Specify a value in the range from 1 to 31.
You must specify either the
upperLimitForIops
attribute or theupperLimitForTransferRate
attribute.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the changed SPM information
None.
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X PATCH --data-binary @./InputParameters.json https://192.0.2.100/ConfigurationManager/v1/objects/io-control-ldev-wwns-iscsis/0,210003e08b0256f9
Deleting Server Priority Manager information
Storage Administrator (System Resource Management)
DELETE base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Object ID
Specify the value of
ioControlLdevWwnIscsiId
that was obtained by the processing to get the Server Priority Manager list. You can also specify the following attributes, delimited by commas:For the WWN:
ldevId,hostWwn
For the iSCSI name:
ldevId,iscsiName
Attribute
Type
Description
ldevId
int
(Required) Specify the LDEV number as a decimal (base 10) number.
hostWwn
string
(Optional) WWN of the HBA
Specify a hexadecimal number consisting of 16 characters.
You must specify either the
hostWwn
attribute or theiscsiName
attribute.iscsiName
string
(Optional) iSCSI name of the HBA (iSCSI initiator)
Specify the name in iqn format or eui format.
- iqn format
Specify a value consisting of 5 to 223 characters. You can use the following characters:
Alphanumeric characters, hyphens (-), periods (.), and colons (:)
Specification example: iqn.rest.example.of.iqn.form
-
eui format
Specify eui. followed by a hexadecimal number. The specified value must consist of a total of 20 characters.
Specification example: eui.0900ABDC32598D26
You must specify either the
hostWwn
attribute or theiscsiName
attribute.- iqn format
Query parameters
None.
Body
None.
Body
A job object is returned. For details on attributes other than
affectedResources
, see the description of job objects.Attribute
Description
affectedResources
URL of the deleted SPM information
For details on the status codes of the request for this operation, see the description of HTTP status codes.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session d7b673af189048468c5af9bcf3bbbb6f" -X DELETE https://192.0.2.100/ConfigurationManager/v1/objects/io-control-ldev-wwns-iscsis/0,210003e08b0256f9