OpenStack--Cinder(G版)中的volume type

 

一、volume type的相关操作

Cinder中的卷类型,是卷的一种标识,各个OpenStack的发行者可根据自身对系统的约束来定义卷类型的使用。G版的Cinder中与卷类型相关的两种资源:type和extra_specs,对应的API操作有:
创建type
查询(单个/批量)type
删除type
创建type的extra_specs
删除type的extra_specs
查询(单个/批量)type的extra_specs
更新type的extra_specs

 

二、使用命令行

命令行中与上述两种资源对应的操作有,后面有相应的英文解释:

type-create         Create a new volume type.
type-delete         Delete a specific volume type
type-key            Set or unset extra_spec for a volume type.
type-list           Print a list of available 'volume types'.
extra-specs-list    Print a list of current 'volume types and extra specs'

能否使用相应命令,依赖于系统中对权限的配置。下面是使用举例:

1. 创建卷类型

root@openstack:~# cinder type-create lvm
+--------------------------------------+------+
|                  ID                  | Name |
+--------------------------------------+------+
| fb18bbb9-7989-4b5d-b4d6-f61e5d071338 | lvm  |
+--------------------------------------+------+

2. 查询卷类型:

root@openstack:~# cinder type-list
+--------------------------------------+------+
|                  ID                  | Name |
+--------------------------------------+------+
| fb18bbb9-7989-4b5d-b4d6-f61e5d071338 | lvm |
+--------------------------------------+------+

3. 设置卷类型的extra_spec
在命令行,设置extra_spec操作分为两种:set和unset。set就是传入一个key/value对;unset只需传入一个key值,意思是删除与这个key值匹配的extra_spec。
由于我当前环境的Cinder版本是1.0.2.20,这个功能有点问题,所以这里只贴出命令:

cinder type-key lvm set volume_backend_name=LVM_iSCSI

 

4. 查询卷类型的extra_spec

root@openstack:~# cinder extra-specs-list
+--------------------------------------+------+----------------------------------------+
|                  ID                  | Name |              extra_specs               |
+--------------------------------------+------+----------------------------------------+
| 390dc489-7290-4b46-a7d5-64ec0ed0ad8b | lvm  | {u'volume_backend_name': u'LVM_iSCSI'} |
+--------------------------------------+------+----------------------------------------+

 

 

三、使用RestAPI

我使用的工具是chrome下的扩展工具:Postman,一个图形化的Rest消息客户端,当然你也可以直接使用cURL命令行工具。

1. 创建卷类型

2. 创建type的extra_specs

3. 查询卷类型
经过上面的操作,查询卷类型时的返回应该如下:

4. 删除extra_specs
这里需要注意的是URL中最后面部分就是要删除的extra_specs的key。

 

四、multi-backend

那么卷类型有什么用呢?这里就不得不说G版中新增的cinder的multi-backend支持了。关于multi-backend的支持,建议大家看官方文档,通过看代码理解吧。

原文地址:https://www.cnblogs.com/gzxbkk/p/7799011.html