N版本之后cinder提供了generic volume group,通用卷组功能。N版本之前cinder提供的是一致性组(consistency group),但是一致性组的功能只有一部分的driver支持,那么cinder中的组有哪些功能:

——通过一致性组可以对组内的块存储进行统一的操作,保证数据的一致性

——可以把一类或者某个应用使用的多个块归到一个组中,便于管理

之前的一致性组中的某一个块的驱动不支持一致性组功能,那么就没有什么意义了,generic volume group正是用来解决这个问题,最终提供一个不依赖后端驱动的通用的组功能。

这里主要记录下generic volume group(后面提到的groups即为现在的通用组,consistency group为以前的一致性组)的使用。

基本要素

group某种程度上和volume在使用上是类似的,一个group对应一个group type,group type可以设置key-value的spec(猜测可以在group上直接设置块的qos,有待验证),这和volume很像,一个volume对应一个volume type,对type可以设置qos spec,所以从这样一个角度来看group的操作使用就很了然了创建type,设置spec,创建group,绑定type。group除了对应一个group type之外可以对应多个volume type,毕竟一个group需要关联多个volume。

使用

cinder从V3的API开始支持group操作的,使用命令行的时候可以通过–os-volume-api-version指定具体的版本。group snapshot的版本最早在3.14支持的,这里统一使用3.14。

创建group-type

 

设置spec

 

创建group

创建volume并添加到group

 

先创建一个1G大小的volume,t1,并通过指定group id来添加到group当中

同样的方式再创建一个t2,2G大小的volume,也添加到group中。

创建组快照

 

查看快照列表:

 

查看具体信息可以看出来,两个快照分别是t1,t2的快照,这里两个快照使用的都是创建group快照时候的name,由于是通过group创建的快照,两个快照是保证了一致性的:

能看到两个快照的create_at与updated_at是一样的。

就酱紫,记录下这个功能基本用法,遗留问题:

1.group的spec能否对volume设置qos

2.代码解析

 

作者:cheneydc

链接:http://www.jianshu.com/p/97531d23998d

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

投稿邮箱:openstackcn@sina.cn