跳转至

存储卷

创建存储卷

接口描述

创建存储卷(磁盘)。

接口路径

POST /v1/storages/volumes

请求参数

参数名称 参数类型 是否必须 默认值 描述
name string 磁盘名称
capacity int 磁盘大小(单位GB)
filesystem string Windows为ntfs,Linux为ext4 磁盘文件系统
storage_pool_id int 存储池Id
~~server_id~~ ~~int~~ ~~否~~ ~~服务器Id~~
~~storage_pool~~ ~~string~~ ~~否~~ ~~存储池名称~~
backing_file_id int backing file所在存储池Id
~~backing_file~~ ~~string~~ ~~否~~ ~~创建qcow2磁盘时指定backing file~~
~~backing_file_pool~~ ~~string~~ ~~否~~ ~~创建qcow2磁盘时指定backing file所在存储池~~

请求示例:

# 在指定服务器上创建一个100G的qcow2磁盘
{
    "server_id": 2,
    "name": "test001",
    "storage_pool": "local_system",
    "format": "qcow2",
    "filesystem": "ntfs",
    "capacity": 100
}

# 在指定服务器上创建qcow2磁盘,并指定backing file
{
    "server_id": 2,
    "name": "test001_001",
    "storage_pool": "local_system",
    "backing_file": "test001.qcow2",
    "backing_file_pool": "local_system"
}

# 在指定服务器上创建qcow2磁盘,并指定backing file
{
    "name": "test001_002",
    "storage_pool_id": 1,
    "backing_file_id": 15
}

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data int 存储卷ID
reason string 异常时的原因

删除存储卷

接口描述

删除存储卷(磁盘)。

接口路径

DELETE /v1/storages/volumes/:id

请求参数

路径参数

参数名称 参数类型 是否必须 备注
id int 存储卷ID

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
reason string 异常时的原因

查看存储卷列表

接口描述

查看存储卷列表。

接口路径

GET /v1/storages/volumes

请求参数

参数名称 是否必须 示例 备注
datacenter_id ?datacenter_id=10 数据中心ID
storage_pools ?storage_pools=1,2,3 存储池id,多个以逗号分割
limit ?limit=100 限制查询数量
offset ?offset=100 指定查询时跳过的数量

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data []object 存储卷信息
reason string 异常时的原因

响应示例:

{
    "code": 100001,
    "msg": "success",
    "data": {
        "count": 1,
        "items": [
            {
                "id": 3, // volume id
                "created_at": "2024-06-25T15:49:05.574+08:00",  // 创建时间
                "updated_at": "2024-06-25T15:49:05.574+08:00",  // 更新时间
                "volume_name": "014d4025217e418191f2cfb86d711c72",  // volume文件名
                "capacity": 40,  // volume 容量
                "type": "file", // volume 类型
                "is_system": true, // 是否是虚拟机系统盘
                "backing_file": "/opt/export/baseimg/win10_21h1_debug.qcow2",  // qcow2的backing file
                "backing_file_pool": "baseimg",  // qcow2的backing file所在存储池
                "backing_file_format": "qcow2",
                "mount_flag": "persistent", // 磁盘被挂载到虚机的flag
                "disk_type": "SSD",
                "filesystem": "",
                "path": "/opt/srv/kvm/014d4025217e418191f2cfb86d711c72", // volume路径
                "storage_pool": "local_system", // volume所在存储池
                "storage_pool_name": "local_system",  // volume存储池路径
                "storage_pool_id": 1,  // 存储池id
                "format": "qcow2",  // volume格式
                "datacenter_name": "office", // 数据中心
                "virtual_machine_id": 3 // 虚拟机id
            }
        ]
    }
}

查看存储卷

接口描述

查看存储卷详情。

接口路径

GET /v1/storages/volumes/:id

请求参数

参数名称 参数类型 是否必须 备注
id int 存储卷ID

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data object 存储卷信息
reason string 异常时的原因

响应示例:

{
    "code": 100001,
    "msg": "success",
    "data": {
        "id": 12, // volume id
        "created_at": "2025-01-22T15:57:07.17+08:00",  // 创建时间
        "updated_at": "2025-01-22T15:57:07.17+08:00",  // 更新时间
        "name": "v-Vile.qcow2",  // 存储卷name
        "volume_name": "v-Vile.qcow2", // 存储卷文件名
        "capacity": 100,  // 存储卷容量
        "type": "file",  // 存储卷类型
        "disk_type": "SSD",
        "filesystem": "ntfs",  // 文件系统
        "path": "/opt/srv/kvm/v-Vile.qcow2",  // 存储卷文件路径
        "storage_pool": "local_system", // 存储卷所在存储池
        "storage_pool_name": "local_system",
        "format": "qcow2", // 存储卷格式
        "datacenter_name": "office",
        "volume_type": "volume",
        "uid": 1,
        "aged": false,
        "children": []
    }
}

上传存储卷

接口描述

上传存储卷(磁盘)。

接口为异步接口,返回有任务ID和存储卷ID,可用任务ID去查询上传存储卷任务状态。

上传存储卷任务超时时间180分钟。

接口路径

POST /v1/storages/volumes/upload

请求参数

参数名称 参数类型 是否必须 备注
name string 存储卷名称(标识名称,非存储卷文件名)
source_format string 源格式(qcow2、raw)
storage_service string 存储服务类型(http、s3、oss。注意:预签名的oss url应视为http)
storage_endpoint string 存储卷下载地址
storage_access_key string 对象存储 access key
storage_secret_key string 对象存储 secret key
storage_region string 对象存储 region
storage_bucket string 对象存储 bucket
storage_object_path string 对象存储 object path
storage_use_ssl string 下载地址是否启用https
server_id int 服务器ID(把存储卷上传到指定服务器上)
storage_pool_id int 存储池ID

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
data object
- task_id int 任务ID
- volume_id int 存储卷ID(可以用作创建存储卷backing_file_id参数的值,不建议直接挂载)
reason string 异常时的原因

响应示例:

{
    "code": 100001,
    "msg": "success",
    "data": {
        "task_id": 17,
        "volume_id": 569
    }
}

修改磁盘容量

接口描述

修改磁盘大小(仅支持qcow2格式)。

接口路径

PUT /v1/storages/volumes/:id/capacity

请求参数

参数名称 类型 是否必须 默认值 备注
capacity int 存储卷容量(单位GB)

返回数据

名称 类型 描述
code int 状态码(100001表示成功,其它表示异常)
msg string 状态码描述信息
reason string 异常时的原因