Attaching a Disk to an ECS

Function

This API is used to attach a disk to an ECS.

Constraints

  1. If you attach a bootable disk to an ECS, you must specify the disk drive letter.

  2. A disk created using a backup cannot be attached to an ECS as the system disk.

  3. An ECS in the SUSPENDED or PAUSED state, which is specified using the OS-EXT-STS:vm_state parameter of the ECS, cannot have a disk attached.

  4. The EVS must be in the available status.

  5. The EVS disk and the target ECS must be located in the same AZ.

  6. VBD EVS disks cannot be attached to BMSs.

URI

POST /v2.1/{project_id}/servers/{server_id}/os-volume_attachments

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.

server_id

Yes

Specifies the ECS ID.

Request

Table 2 describes the request parameters.

Table 2 Request parameters

Parameter

Mandatory

Type

Description

volumeAttachment

Yes

Object

Specifies the volumes to be attached. For details, see Table 3.

Table 3 volumeAttachment field description

Parameter

Mandatory

Type

Description

volumeId

Yes

String

Specifies the ID of the disk to be attached. The value is in UUID format.

device

No

String

Specifies the device name, such as /dev/sda or /dev/sdb.

The new disk device name cannot be the same as an existing one.

The device name must be specified based on the sequence of existing device names. Otherwise, the system automatically generates one.

Note

VBD disk device names can only be /dev/vdb through /dev/vdx. You are advised to attach the VBD disks in alphabetical order. Otherwise, the disk drive letters may be incorrect on the ECS.

Response

Table 4 describes the response parameters.

Table 4 Response parameters

Parameter

Type

Description

volumeAttachment

Object

Specifies the disks attached to an ECS. For details, see Table 5.

Table 5 volumeAttachment field description

Parameter

Type

Description

device

String

Specifies the device name.

serverId

String

Specifies the ID of the target ECS in UUID format.

id

String

Specifies the disk ID in UUID format.

volumeId

String

Specifies the attaching ID, which is the same as the UUID.

Example Request

Attach the disk whose ID is 54667652-3029-4af8-9222-2d53066fd61c to /dev/sdb of a specified ECS.

POST https://{endpoint}/v2.1/{project_id}/servers/{server_id}/os-volume_attachments

{
    "volumeAttachment": {
        "volumeId": "54667652-3029-4af8-9222-2d53066fd61c",
        "device": "/dev/sdb"
    }
}

Example Response

{
    "volumeAttachment": {
        "device": "/dev/vdb",
        "serverId": "ab258e25-e351-47c7-b6e3-0749c5d9ed6a",
        "id": "54667652-3029-4af8-9222-2d53066fd61c",
        "volumeId": "54667652-3029-4af8-9222-2d53066fd61c"
    }
}

Returned Values

See Returned Values for General Requests.