更新时间:2024-07-16 GMT+08:00

弹性云服务器挂载磁盘

功能介绍

把磁盘挂载到弹性云服务器上。

本接口为异步接口,当前弹性云服务器挂载磁盘请求下发成功后会返回job_id,此时弹性云服务器挂载磁盘并没有立即完成,需要通过调用查询任务的执行状态查询job状态,当Job状态为 SUCCESS 时代表弹性云服务器磁盘挂载成功。

URI

POST /v1/{project_id}/cloudservers/{server_id}/attachvolume

参数说明请参见表1
表1 参数说明

参数

是否必选

描述

project_id

项目ID。

获取方法请参见获取项目ID

server_id

云服务器ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

volumeAttachment

Object

云服务器挂载信息,参考表3

dry_run

Boolean

是否只预检此次请求。

  • true:发送检查请求,不会挂载磁盘。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回响应结果。
  • false:发送正常请求,通过检查后并且进行挂载磁盘请求。

默认值:false

表3 volumeAttachment数据结构说明

参数

是否必选

参数类型

描述

volumeId

String

待挂载磁盘的磁盘ID,UUID格式。

device

String

磁盘挂载点。

说明:
  • 新增加的磁盘挂载点不能和已有的磁盘挂载点相同。
  • 对于采用XEN虚拟化类型的弹性云服务器,device为必选参数;系统盘挂载点请指定/dev/sda;数据盘挂载点请按英文字母顺序依次指定,如/dev/sdb,/dev/sdc,如果指定了以“/dev/vd”开头的挂载点,系统默认改为“/dev/sd”。
  • 对于采用KVM虚拟化类型的弹性云服务器,系统盘挂载点请指定/dev/vda;数据盘挂载点可不用指定,也可按英文字母顺序依次指定,如/dev/vdb,/dev/vdc,如果指定了以“/dev/sd”开头的挂载点,系统默认改为“/dev/vd”。
  • 对于仅支持SCSI类型磁盘的弹性云服务器,系统盘挂载点为“/dev/sda”,数据盘的挂载点请按英文字母顺序依次指定,如/dev/sdb,/dev/sdc,系统不会修改默认挂载点。

volume_type

String

云硬盘类型。

该字段在dry_run为true并且volumeId不存在时有效且为必选字段。

count

Integer

云硬盘的个数。

该字段在dry_run为true并且volumeId不存在时有效,如果该字段不存在,默认为1。

hw:passthrough

String

  • true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令
  • false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,VBD只能支持简单的SCSI读写命令。

该字段于dry_run为true并且volumeId不存在时有效且为必选字段。

响应消息

请参考响应(任务类)

请求示例

挂载SCSI类型的云硬盘到云服务器,挂载点为“/dev/sda”。

POST https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/attachvolume

{
    "volumeAttachment": {
         "volumeId": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
         "device": "/dev/sda",
         "volume_type": "SSD",
         "count": 5,
         "hw:passthrough": "true"
    },
    "dry_run": false
}

响应示例

{
    "job_id": "ff80808288d41e1b018990260955686a"
}

返回值

请参考通用请求返回值

错误码

请参考错误码