您的位置:首页 > 运维架构

【OpenStack】Cinder(G版)中的volume type

2013-04-23 15:09 183 查看
声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW;

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!

一、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的支持,建议大家看官方文档,通过看代码理解吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: