华为云计算 云知识 创建云硬盘CreateVolume
创建云硬盘CreateVolume

 

功能介绍

创建按需或包周期 云硬盘 。 在创建包周期云硬盘的场景下:

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2.1/{project_id}/cloudvolumes

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

X-Client-Token

String

请求的幂等标识。该参数的值由客户端生成,需要确保不同请求的参数值唯一,取值为36位的UUID格式字符串,有效期为8小时。携带相同幂等标识的多个请求,会认为多个请求为同一个幂等请求,会返回相同的响应体。

表3 请求Body参数

参数

是否必选

参数类型

描述

bssParam

BssParamForCreateVolume object

按需和包周期的扩展参数

volume

CreateVolumeOption object

待创建的云硬盘信息

server_id

String

创建云硬盘并挂载到目标虚拟机。 创建的云硬盘的计费模式会与虚拟机的计费模式保持一致。 目前只支持ECS服务的虚拟机,暂不支持BMS的 裸金属服务器

OS-SCH-HNT:scheduler_hints

CreateVolumeSchedulerHints object

云硬盘调度参数,可用于指定云硬盘创建到某个专属存储池中

表4 BssParamForCreateVolume

参数

是否必选

参数类型

描述

chargingMode

String

功能说明:计费模式。默认值为postPaid。 取值范围:

  • prePaid:包年包月

  • postPaid:按需

缺省值:postPaid

枚举值:

  • postPaid

  • prePaid

isAutoPay

String

功能说明:是否立即支付。chargingMode为PrePaid时该参数会生效。默认值为false。 取值范围:

  • true:立即支付,从帐户余额中自动扣费

  • false:不立即支付,创建订单暂不支付

缺省值:false

枚举值:

  • true

  • false

isAutoRenew

String

功能说明:是否自动续订。chargingMode为prePaid时该参数会生效。默认值为false。 取值范围:

  • true:自动续订,自动续订周期与订购周期相同

  • false:不自动续订

缺省值:false

枚举值:

  • true

  • false

periodNum

Integer

功能说明:订购周期数,chargingMode为prePaid时该参数会生效,并且该参数为为必选。 取值范围:

  • periodType为month时,为[1-9]

  • periodType为year时,为[1-1]

periodType

String

功能说明:订购周期单位。chargingMode为prePaid时该参数会生效,并且该参数为必选。 取值范围:

  • month:月

  • year:年

枚举值:

  • month

  • year

表5 CreateVolumeOption

参数

是否必选

参数类型

描述

availability_zone

String

指定要创建云硬盘的可用区。

backup_id

String

备份ID,从备份创建云硬盘时为必选。

count

Integer

批量创云硬盘的个数。如果无该参数,表明只创建1个云硬盘,目前最多支持批量创建100个。 从备份创建云硬盘时,不支持批量创建,数量只能为“1”。

如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。

description

String

云硬盘的描述。最大支持255个字节。

enterprise_project_id

String

企业项目ID。创建云硬盘时,给云硬盘绑定企业项目ID。

imageRef

String

镜像 ID,指定该参数表示创建云硬盘方式为从镜像创建云硬盘。

metadata

Map<String,String>

创建云硬盘的metadata信息

可选参数如下:[__system__cmkid]metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。

说明:

请求获取密钥ID的方法请参考:"查询密钥列表"。

[__system__encrypted]metadata中的表示加密功能的字段,0代表不加密,1代表加密。不指定该字段时,云硬盘的加密属性与数据源保持一致,如果不是从数据源创建的场景,则默认不加密。

[full_clone]从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。

[hw:passthrough]

  • true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。

  • false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。

  • 该字段不存在时,云硬盘默认为VBD类型。

multiattach

Boolean

是否为共享云硬盘。true为共享盘,false为普通云硬盘。

name

String

云硬盘名称。如果为创建单个云硬盘,name为云硬盘名称。最大支持255个字节。创建的云硬盘数量(count字段对应的值)大于1时,为区分不同云硬盘,创建过程中系统会自动在名称后加“-0000”的类似标记。例如:volume-0001、volume-0002。最大支持250个字节。

size

Integer

云硬盘大小,单位为GiB,其限制如下: 系统盘:1GiB-1024GiB 数据盘:10GiB-32768GiB 创建空白云硬盘和从 镜像/快照 创建云硬盘时,size为必选,且云硬盘大小不能小于 镜像/快照 大小。 从备份创建云硬盘时,size为可选,不指定size时,云硬盘大小和备份大小一致。

snapshot_id

String

快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘。

volume_type

String

云硬盘类型。目前支持"SATA","SAS","GPSSD","SSD","ESSD","GPSSD2","ESSD2"七种。- "SATA"为普通IO云硬盘(已售罄)- "SAS"为高IO云硬盘- "GPSSD"为通用型SSD云硬盘- "SSD"为超高IO云硬盘- "ESSD"为极速IO云硬盘- "GPSSD2"为通用型SSD V2云硬盘- "ESSD2"为极速型SSD V2云硬盘当指定的云硬盘类型在avaliability_zone内不存在时,则创建云硬盘失败。> 说明:> 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。> 了解不同云硬盘类型的详细信息,请参见 云硬盘类型及性能介绍

枚举值:

  • SATA

  • SAS

  • GPSSD

  • SSD

  • ESSD

  • GPSSD2

  • ESSD2

tags

Map<String,String>

云硬盘标签信息。

iops

Integer

给云硬盘配置iops,购买GPSSD2、ESSD2类型的云硬盘时必填,其他类型不能设置。说明:1、了解GPSSD2、ESSD2类型的iops大小范围,请参见 云硬盘类型及性能介绍里面的云硬盘性能数据表。2、只支持按需计费。

throughput

Integer

给云硬盘配置吞吐量,单位是MiB/s,购买GPSSD2类型云盘时必填,其他类型不能设置。说明:1、了解GPSSD2类型的吞吐量大小范围,请参见 云硬盘类型及性能介绍里面的云硬盘性能数据表。2、只支持按需计费。

表6 CreateVolumeSchedulerHints

参数

是否必选

参数类型

描述

dedicated_storage_id

String

指定专属存储池ID,表示将云硬盘创建在该ID对应的存储池中。

响应参数

状态码: 202

表7 响应Body参数

参数

参数类型

描述

job_id

String

任务ID,云硬盘为按需计费时返回该参数。> > > 如果需要查询job的状态,请参考:"查询job的状态"。

order_id

String

订单ID,云硬盘为包周期计费时返回该参数。> 直接在包周期 云服务器 上新增云硬盘,系统会自动将云硬盘挂载到包周期云服务器上。该情形下也会返回该参数。>> > - 如果您需要支付订单,请参考:

volume_ids

Array of strings

待创建的云硬盘ID列表。> 说明:> 通过云硬盘ID查询云硬盘详情 ,若返回404 可能云硬盘正在创建中或者已经创建失败。> 通过JobId查询云硬盘创建任务是否完成查询job的状态

状态码: 400

表8 响应Body参数

参数

参数类型

描述

error

Error object

出现错误时,返回的错误信息,具体请参见 error参数说明

表9 Error

参数

参数类型

描述

code

String

出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明

message

String

出现错误时,返回的错误消息。

请求示例

创建一个带标签的共享云硬盘,云硬盘的类型为普通IO,大小为120GiB,包年计费,从帐户余额中自动扣费,且自动续订。

POST https://{endpoint}/v2.1/{project_id}/cloudvolumes

{
  "volume" : {
    "name" : "test_volume_3",
    "availability_zone" : "az1.dc1",
    "volume_type" : "SATA",
    "size" : 120,
    "description" : "test",
    "multiattach" : true,
    "count" : 1,
    "tags" : {
      "key1" : "value1",
      "key2" : "value2"
    }
  },
  "bssParam" : {
    "chargingMode" : "prePaid",
    "periodType" : "year",
    "periodNum" : 1,
    "isAutoPay" : "true",
    "isAutoRenew" : "true"
  }
}

响应示例

状态码: 202

Accepted

{
  "job_id" : "70a599e0-31e7-49b7-b260-868f441e862b",
  "volume_ids" : [ "e1fa3e72-8c92-4871-9152-bf66fef0afe9" ]
}

状态码: 400

Bad Request

{
  "error" : {
    "message" : "XXXX",
    "code" : "XXX"
  }
}

状态码

状态码

描述

202

Accepted

400

Bad Request

错误码

请参见错误码

 

上一篇:备份裸金属服务器 下一篇:Mongoose文档手册学习与基本介绍

云硬盘 EVS

云硬盘(Elastic Volume Service)是一种为ECS、BMS等计算服务提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。您可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储