Skip to main content

We've Moved!

Product Documentation has moved to docs.hitachivantara.com
Hitachi Vantara Knowledge

Optimizing I/O performance

You can optimize I/O performance between the host and the storage system by using the functions of Virtual Partition Manager, QoS (Quality of Service), and Server Priority Manager, or by changing the assignment of MP blade servers.

Overview of optimizing I/O performance

This section describes optimization of I/O performance between a host and a storage system.

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.
Managing CLPRs

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.

Performing QoS operations

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.

Using Server Priority Manager

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.

Note

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.

Assigning MP blades

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

Obtain a list of CLPRs. You can obtain information such as the cache capacity, cache usage rate, and resident cache capacity.
Execution permission

Storage Administrator (View Only)

Request line

GET base-URL/v1/objects/clprs
Request message
  • Object ID

    None.

  • Query parameters

    None.

  • Body

    None.

Response message
  • 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 (%)

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

Obtain information about a specific CLPR by specifying the CLPR ID. You can obtain information such as the cache capacity, cache usage rate, and resident cache capacity.
Execution permission

Storage Administrator (View Only)

Request line

GET base-URL/v1/objects/clprs/object-ID
Request message
  • 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.

Response message
  • 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 (%)

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

Create a CLPR.
Note

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.

Execution permission

Storage Administrator (System Resource Management)

Request line
POST base-URL/v1/objects/clprs
Request message
  • 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.

Response message
  • 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

Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example
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

Change the name, cache size, and other settings of a CLPR.
Note

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.

Execution permission

Storage Administrator (System Resource Management)

Request line
PATCH base-URL/v1/objects/clprs/object-ID
Request message
  • 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.

Response message
  • 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

Action template

None.

Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example
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

Delete a CLPR. Before deleting a CLPR, move any resources that are currently allocated to the CLPR to be deleted to other CLPRs.
Note

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.

Execution permission

Storage Administrator (System Resource Management)

Request line

DELETE base-URL/v1/objects/clprs/object-ID
Request message
  • 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.

Response message
  • 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

Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example
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

The following request assigns LDEVs to a CLPR. You can use this API function to assign LDEVs to a created CLPR or to move an already assigned LDEV to a different CLPR.
Note

If you want to assign external volumes to a CLPR, see the description of how to assign external parity groups to a CLPR.

Execution permission

Storage Administrator (System Resource Management)

Request line
POST base-URL/v1/objects/ldevs/object-ID/actions/assign-clpr/invoke
Request message
  • 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.

Response message
  • 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

Action template
GET base-URL/v1/objects/ldevs/object-ID/actions/assign-clpr
Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example

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

The following request assigns parity groups to a CLPR. You can use this API function to assign parity groups to a created CLPR or to move an already assigned parity group to a different CLPR.
Execution permission

Storage Administrator (System Resource Management)

Request line
POST base-URL/v1/objects/parity-groups/object-ID/actions/assign-clpr/invoke
Request message
  • 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.

Response message
  • 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

Action template
GET base-URL/v1/objects/parity-groups/object-ID/actions/assign-clpr
Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example

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

The following request gets a list of information about external parity groups. You can get the information such as the number of LDEVs allocated to external parity groups and the usage rate of external parity groups.
Execution permission

Storage Administrator (View Only)

Request line

GET base-URL/v1/objects/external-parity-groups
Request message
  • 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.

Response message
  • 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.
Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example
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

The following request gets information about a specific external parity group by specifying the external parity group number.
Execution permission

Storage Administrator (View Only)

Request line

GET base-URL/v1/objects/external-parity-groups/object-ID
Request message
  • 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.

Response message
  • 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)

Status codes

For details on the status codes of the request for this operation, see the description on HTTP status codes.

Coding example
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

The following request assigns external parity groups to a CLPR. You can use this API function to assign external parity groups to a created CLPR or to move an already assigned external parity group to a different CLPR.
Execution permission

Storage Administrator (System Resource Management)

Request line
POST base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-clpr/invoke
Request message
  • 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.

Response message
  • 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

Action template

GET base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-clpr
Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example

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

The following request changes the MP blade assigned to an external parity group.
Execution permission

Storage Administrator (System Resource Management)

Request line

POST base-URL/v1/objects/external-parity-groups/object-ID/actions/assign-mp-blade/invoke
Request message
  • 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

Response message
  • 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.

Action template

None.

Status codes

For details about the status codes of the request for this operation, see the description of the HTTP status codes.

Coding example
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

The following request configures the QoS settings (such as the upper and lower limits on IOPS and on the amount of data that can be transferred, and the amount of time to wait before issuing related alerts) for a specified volume.
Note
  • 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.

Execution permission

Storage Administrator (System Resource Management)

Request line

POST base-URL/v1/objects/ldevs/object-ID/actions/set-qos/invoke
Request message
  • 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 the lowerIops attribute.

    To disable this setting, specify 0. If you disable both the upperIops attribute and the upperTransferRate attribute, the upperAlertAllowableTime 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 the lowerTransferRate attribute.

    To disable this setting, specify 0. If you disable both the upperIops attribute and the upperTransferRate attribute, the upperAlertAllowableTime 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 and upperTransferRate 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 the upperIops attribute.

    To disable this setting, specify 0. If you disable both the lowerIops attribute and the lowerTransferRate attribute, the lowerAlertAllowableTime attribute will also be disabled.

    You can specify this parameter if the storage system model is VSP E series, 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 the upperTransferRate attribute.

    To disable this setting, specify 0. If you disable both the lowerIops attribute and the lowerTransferRate attribute, the lowerAlertAllowableTime attribute will also be disabled.

    You can specify this parameter if the storage system model is VSP E series, 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 and lowerTransferRate attributes are already set.

    To disable this setting, specify 0.

    You can specify this parameter if the storage system model is VSP E series, 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, the responseAlertAllowableTime attribute will also be disabled.

    You can specify this parameter if the storage system model is VSP E series, 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 E series, VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.

Response message
  • 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

Action template

None.

Status codes

For details about the status codes of the request for this operation, see the description of the HTTP status codes.

Coding example
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 request specifies the LDEV number of a volume on which QoS has been set up, and gets performance information about that volume. You can check the average performance of the volume over the last second. Use this request to check the performance of volumes during operations or when an alert is issued. You can concurrently run multiple instances of this request, but we recommend running no more than five instances at one time.
Execution permission

Storage Administrator (View Only)

Request line
GET base-URL/v1/objects/qos-monitor-ldevs/object-ID
Request message
  • 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.

Response message
  • 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 E series, VSP G350, G370, G700, G900, VSP F350, F370, F700, F900.

Status codes

For details on the status codes of the request for this operation, see the section explaining HTTP status codes.

Coding example
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

When the storage system is VSP 5000 series, 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 on Operations on QoS groups.

Getting a list of Server Priority Manager information

The following request gets a list of Server Priority Manager information for which operations can be performed by using the REST API. You can check the Server Priority Manager information of hosts for which the LDEV numbers of volumes and the WWNs or iSCSI names of the HBAs have been set.
Execution permission

Storage Administrator (View Only)

Request line
GET base-URL/v1/objects/io-control-ldev-wwns-iscsis
Request message
  • 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

  • Body

    None.

Response message
  • 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)

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

The following request allows you to get Server Priority Manager information by specifying the LDEV number of a volume and the WWN or iSCSI name of an HBA.
Execution permission

Storage Administrator (View Only)

Request line
GET base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Request message
  • 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 the iscsiName 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 the iscsiName attribute.

  • Query parameters

    None.

  • Body

    None.

Response message
  • 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)

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

The following request sets, in Server Priority Manager, the upper limit on the transfer rate or IOPS of a low-priority host by specifying the LDEV number of the volume and the WWN or iSCSI name of the HBA.
Note

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.

Execution permission

Storage Administrator (System Resource Management)

Request line
POST base-URL/v1/objects/io-control-ldev-wwns-iscsis
Request message
  • 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 the iscsiName 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 the iscsiName 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 the upperLimitForTransferRate 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 the upperLimitForTransferRate attribute.

Response message
  • 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

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

The following request changes the upper limit on the transfer rate or IOPS for hosts for which the LDEV number of a volume and the WWN or iSCSI name of the HBA are already specified in Server Priority Manager.
Execution permission

Storage Administrator (System Resource Management)

Request line
PATCH base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Request message
  • 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 the iscsiName 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 the iscsiName attribute.

  • 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 the upperLimitForTransferRate 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 the upperLimitForTransferRate attribute.

Response message
  • 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

Action template

None.

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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

The following request allows you to remove the currently set upper limit on the transfer rate or IOPS of a host by specifying the LDEV number of a volume and the WWN or iSCSI name of the HBA, to remove the host from the management targets of Server Priority Manager.
Execution permission

Storage Administrator (System Resource Management)

Request line
DELETE base-URL/v1/objects/io-control-ldev-wwns-iscsis/object-ID
Request message
  • 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 the iscsiName 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 the iscsiName attribute.

  • Query parameters

    None.

  • Body

    None.

Response message
  • 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

Status codes

For details on the status codes of the request for this operation, see the description of HTTP status codes.

Coding example
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