文章目录
本文章由公号【开发小鸽】发布!欢迎关注!!!
老规矩–妹妹镇楼:
1.cinder卷服务的API测试
(1)卷的概述
卷是类似于 USB 硬盘驱动器的可拆卸块存储设备。您可以将一个卷附加到一个实例,如果该卷是合适的卷类型,则一个卷可以附加到多个实例。
(2)卷的状态
creating 正在创建卷。
available 卷已准备好附加到实例。
reserved 该卷保留用于附加或搁置。
attaching 卷正在附加到一个实例。
detaching 卷正在与实例分离。
in-use 该卷附加到一个实例。
maintenance 卷已锁定并正在迁移。
deleting 正在删除卷。
awaiting-transfer 卷正在等待传输。
error 发生卷创建错误。
error_deleting 发生卷删除错误。
backing-up 正在备份卷。
restoring-backup 正在将备份还原到该卷。
error_backing-up 发生备份错误。
error_restoring 发生备份恢复错误。
error_extending 尝试扩展卷时出错。
downloading 卷正在下载图像。
uploading 卷正在上传到图像。
retyping 卷正在将类型更改为另一种卷类型。
extending 正在扩大音量。
(3)获取所有的卷类型
传入参数:
得到响应即所有的卷类型,可以看到目前只有一个默认的卷类型:
{
"volume_types": [
{
"name": "__DEFAULT__",
"qos_specs_id": null,
"extra_specs": {},
"os-volume-type-access:is_public": true,
"is_public": true,
"id": "52ac55f2-108d-4857-9651-ccc906da4207",
"description": "Default Volume Type"
}
]
}
(4)创建卷类型
传入参数:
得到响应即一个新的卷类型:
{
"volume_type": {
"name": "vol-type-001",
"extra_specs": {
"capabilities": "gpu"
},
"os-volume-type-access:is_public": true,
"is_public": true,
"id": "29721444-347d-43f5-a711-e66548c920c0",
"description": "volume type 0001"
}
}
(5)获取所有可访问的卷
传入参数:
得到响应即简单的卷信息:
{
"volumes": [
{
"id": "b808671e-2438-41d5-9174-bff847a1e25d",
"links": [
{
"href": "http://192.168.112.146:8776/v3/a7d812868cb74f1a978035530f55f1d0/volumes/b808671e-2438-41d5-9174-bff847a1e25d",
"rel": "self"
},
{
"href": "http://192.168.112.146:8776/a7d812868cb74f1a978035530f55f1d0/volumes/b808671e-2438-41d5-9174-bff847a1e25d",
"rel": "bookmark"
}
],
"name": "volume1"
}
]
}
(6)获取所有的卷的详细信息
传入参数:
得到响应,即所有详细的卷信息,即卷的名称,大小,:
{
"volumes": [
{
"migration_status": null,
"attachments": [],
"links": [
{
"href": "http://192.168.112.146:8776/v3/a7d812868cb74f1a978035530f55f1d0/volumes/b808671e-2438-41d5-9174-bff847a1e25d",
"rel": "self"
},
{
"href": "http://192.168.112.146:8776/a7d812868cb74f1a978035530f55f1d0/volumes/b808671e-2438-41d5-9174-bff847a1e25d",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"os-vol-host-attr:host": "computer@lvm#LVM",
"encrypted": false,
"updated_at": "2021-10-08T08:04:54.000000",
"replication_status": null,
"snapshot_id": null,
"id": "b808671e-2438-41d5-9174-bff847a1e25d",
"size": 20,
"user_id": "9942eb4321644336a0c7383d9f1c2bed",
"os-vol-tenant-attr:tenant_id": "a7d812868cb74f1a978035530f55f1d0",
"os-vol-mig-status-attr:migstat": null,
"metadata": {},
"status": "available",
"description": null,
"multiattach": false,
"source_volid": null,
"consistencygroup_id": null,
"os-vol-mig-status-attr:name_id": null,
"name": "volume1",
"bootable": "false",
"created_at": "2021-09-09T16:10:45.000000",
"volume_type": "__DEFAULT__"
}
]
}
(7)创建单个卷
创建卷,要创建可引导卷,请imageRef在请求正文的属性中包含要从中创建卷的映像的 UUID 。
先决条件
• 您必须有足够的剩余卷存储配额才能创建请求大小的卷。
异步后置条件
• 使用正确的权限,您可以available通过 API 调用查看卷状态 。
• 通过正确访问,您可以在 OpenStack Block Storage 管理的存储系统中看到创建的卷。
故障排除
• 如果卷状态保持creating或显示另一个错误状态,则请求失败。确保您满足先决条件,然后调查存储后端。
• 卷不是在 OpenStack Block Storage 管理的存储系统中创建的。
• 存储节点需要足够的可用存储空间来匹配卷创建请求的大小。
传入参数:
得到响应,就是一个新的卷,包括卷的名称,大小,状态,卷是否支持作为启动盘,卷的类型,卷是否是多挂载,是否使用镜像制作卷:
{
"volume": {
"status": "creating",
"migration_status": null,
"user_id": "9942eb4321644336a0c7383d9f1c2bed",
"attachments": [],
"links": [
{
"href": "http://192.168.112.146:8776/v3/a7d812868cb74f1a978035530f55f1d0/volumes/2259da55-9158-4775-99fb-bd0ec7baffaf",
"rel": "self"
},
{
"href": "http://192.168.112.146:8776/a7d812868cb74f1a978035530f55f1d0/volumes/2259da55-9158-4775-99fb-bd0ec7baffaf",
"rel": "bookmark"
}
],
"availability_zone": "nova",
"bootable": "false",
"encrypted": false,
"created_at": "2021-10-09T02:47:33.000000",
"description": null,
"updated_at": null,
"volume_type": "__DEFAULT__",
"name": "test_val",
"replication_status": null,
"consistencygroup_id": null,
"source_volid": null,
"snapshot_id": null,
"multiattach": false,
"metadata": {},
"id": "2259da55-9158-4775-99fb-bd0ec7baffaf",
"size": 1
}
}
(8)删除单个卷
传入参数:
得到响应,该卷已经被删除了。
(9)扩展一个卷的大小
将卷的大小扩展到请求的大小,以 gibibytes (GiB) 为单位。os-extend在请求正文中指定操作。
先决条件
• 在微版本之前,3.42卷状态必须是available。从 microversion 开始, 可以根据策略和后端卷以及云中的计算驱动程序约束来扩展3.42具有状态的附加卷in-use。请注意,这reserved不是扩展的有效状态。
• 必须有足够的存储空间来扩展卷。
• 用户配额必须有足够的卷存储空间。
后置条件
• 如果请求处理成功,卷状态将更改为 extending正在扩展卷大小。
• 成功完成扩展操作后,卷状态将恢复到其原始值。
• 从 microversion 开始3.42,当扩展附加卷的大小时,块存储服务会通知计算服务附加卷已扩展。Compute 服务将异步处理相关服务器实例的卷大小更改。这可以使用计算服务中的API进行监控。GET /servers/{server_id}/os-instance-actions
故障排除
• 一个error_extending音量状态表明请求失败。确保您满足先决条件并重试请求。如果请求再次失败,请调查存储后端。
传入参数:
得到响应,可以看到该卷的大小修改为了3GB:
(10)将卷作为镜像上传到glance中
传入参数:
得到响应,即是该镜像的各种信息:
{
"os-volume_upload_image": {
"status": "uploading",
"container_format": "bare",
"image_name": "test_img",
"visibility": "shared",
"updated_at": "2021-10-04T05:03:01.000000",
"image_id": "c8456166-c756-4c51-ab52-6c29f85fd5a0",
"display_description": null,
"id": "b808671e-2438-41d5-9174-bff847a1e25d",
"size": 20,
"disk_format": "qcow2",
"volume_type": {
"name": "__DEFAULT__",
"qos_specs_id": null,
"deleted": false,
"created_at": "2021-09-09T15:59:10.000000",
"updated_at": "2021-09-09T15:59:10.000000",
"extra_specs": {},
"is_public": true,
"deleted_at": null,
"id": "52ac55f2-108d-4857-9651-ccc906da4207",
"description": "Default Volume Type"
},
"protected": false
}
}
(11)列出所有的卷快照的简单信息
传入参数:
(12)创建指定的卷快照
传入参数:
得到响应,就是一个快照的信息:
{
"snapshot": {
"status": "creating",
"size": 20,
"metadata": {},
"name": "snap-001",
"volume_id": "b808671e-2438-41d5-9174-bff847a1e25d",
"created_at": "2021-10-09T06:22:03.684725",
"description": "Daily backup",
"id": "fdba816e-1431-46b4-9acc-f251c3f22881",
"updated_at": null
}
}
(13)列出所有的卷快照的详细信息
传入参数:
得到响应:
{
"snapshots": [
{
"status": "available",
"description": "Daily backup",
"updated_at": "2021-10-09T06:22:04.000000",
"volume_id": "b808671e-2438-41d5-9174-bff847a1e25d",
"id": "fdba816e-1431-46b4-9acc-f251c3f22881",
"size": 20,
"os-extended-snapshot-attributes:progress": "100%",
"name": "snap-001",
"os-extended-snapshot-attributes:project_id": "a7d812868cb74f1a978035530f55f1d0",
"created_at": "2021-10-09T06:22:03.000000",
"metadata": {}
}
]
}