Updated on 2024-07-23 GMT+08:00

Attaching a Specified Shared EVS Disk to Multiple ECSs

Function

This API is used to attach a specified shared EVS disk to multiple ECSs.

This API is an asynchronous API. After the attachment request is successfully delivered, a job ID is returned. This does not mean the attachment is complete. You need to call the API by referring to Querying Task Execution Status to query the job status. The SUCCESS status indicates that the attachment is successful.

Constraints

No more than 23 disks have been attached to each of these ECSs.

URI

POST /v1/{project_id}/batchaction/attachvolumes/{volume_id}

Table 1 describes the parameters in the URI.
Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Specifies the project ID.

For details about how to obtain the ID, see Obtaining a Project ID.

volume_id

Yes

Specifies the shared EVS disk ID.

Request

Table 2 describes the request parameters.
Table 2 Request parameters

Parameter

Mandatory

Type

Description

serverinfo

Yes

Array of objects

Specifies the list of ECSs to which the shared EVS disk is to be attached. For details, see Table 3.

Table 3 serverinfo field description

Parameter

Mandatory

Type

Description

server_id

Yes

String

Specifies the ID of the ECS to which the shared EVS disk is to be attached.

device

No

String

Indicates the disk device name.

NOTE:
  • The new disk device name cannot be the same as an existing one.
  • This parameter is mandatory for Xen ECSs. Set the parameter value to /dev/sda for the system disks of such ECSs and to /dev/sdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the device names of the two data disks to /dev/sdb and /dev/sdc, respectively. If you set a device name starting with /dev/vd, the system uses /dev/sd by default.
  • For KVM ECSs, set the parameter value to /dev/vda for system disks. The device names for data disks of KVM ECSs are optional. If the device names of data disks are required, set them in alphabetical order. For example, if there are two data disks, set the device names of the two data disks to /dev/vdb and /dev/vdc, respectively. If you set a device name starting with /dev/sd, the system uses /dev/vd by default.
  • For ECSs that only support SCSI disks, set the device names of data disks in alphabetical order, for example, /dev/sdb and /dev/sdc. The system will not change the default device names.

Response

For details, see Responses (Task).

Example Request

Attach a shared data disk to the ECSs whose IDs are a26887c6-c47b-4654-abb5-dfadf7d3f803 and a26887c6-c47b-4654-abb5-dfadf7d3fa05.

POST https://{endpoint}/v1/{project_id}/batchaction/attachvolumes/{volume_id}

{
    "serverinfo": [
        {
            "server_id": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
            "device": "/dev/sdb"
        },
        {
            "server_id": "a26887c6-c47b-4654-abb5-dfadf7d3fa05",
            "device": "/dev/sda"
        }
    ]
}

Example Response

{      
    "job_id": "ff80808288d41e1b018990260955686a" 
}

Error Codes

See Error Codes.