Cinder的多后端存储服务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weiyang7545/article/details/51741666

以前版本的cinder一般都是使用LVM做为卷的后端存储管理,从openstack Havana开始,cinder开始同时支持多个卷存储后端,同时正式支持glusterfs,这里我们使用了俩个后端——LVM和Glusterfs,具体配置如下:

 配置前提:1、LVM卷存储后端已配置完成,具体可参考openstack Havana  的安装文档;

                        2、Glusterfs存储后端已安装,具体安装可以查看glusterfs 安装与配置文档;

3、cinder服务已正常,可参考openstack Havana的安装文  档中关于cinder的配置部分;

具体配置如下:

1、修改/etc/cinder/cinder.conf配置文件:

参考配置如下:

[DEFAULT]

verbose = True

auth_strategy = keystone

rootwrap_config =/etc/cinder/rootwrap.conf

sql_connection =mysql://cinder:cinder@10.0.0.15:3306/cinder

api_paste_config =/etc/cinder/api-paste.ini

storage_availability_zone =volume_storage

 

use_default_quota_class = true

quota_driver =cinder.quota.DbQuotaDriver

quota_volumes=10

quota_snapshots=10

quota_gigabytes=1000

 

logdir = /var/log/cinder

lock_path = /var/lock/cinder

 

scheduler_default_filters =AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter

scheduler_driver =cinder.scheduler.filter_scheduler.FilterScheduler

 

my_ip = 10.0.0.44

glance_host = 10.0.0.42

glance_api_servers = 10.0.0.42:9292

rpc_backend =cinder.openstack.common.rpc.impl_kombu

rabbit_hosts =10.0.0.21:5672,10.0.0.31:5672

rabbit_port = 5672

rabbit_userid = admin

rabbit_password = admin

rabbit_virtual_host = /

rabbit_ha_queues = true

 

iscsi_port = 3260

iscsi_ip_address = 10.0.0.44

iscsi_helper = ietadm                            //使用iscsitarget作为LVM逻辑卷的服务端

volume_name_template = volume-%s

snapshot_name_template =snapshot-%s

default_volume_type=glusterfs

 

enabled_backends =lvmdriver,glusterfs    //指定卷的存储后端,可以同时允许多个

 

[lvmdriver]

volume_driver = cinder.volume.drivers.lvm.LVMISCSIDriver

volume_group = cinder-volumes                      //卷组名

volume_backend_name =LVM_iSCSI        //指定LVM存储后端名

 

[glusterfs]

volume_driver =cinder.volume.drivers.glusterfs.GlusterfsDriver

glusterfs_shares_config =/etc/cinder/glusterfs_shares 

//挂载的源路径,只有在使用命令安装glusterfs时才会生效,配置文件型的需要手动挂载,该语句不生效;

 

glusterfs_mount_point_base =/var/lib/nova       

//挂载的本地路径,一般挂载时,会自动在其后生成一个文件夹,用于存储卷文件。

 

glusterfs_disk_util = df

glusterfs_qcow2_volumes = true

glusterfs_sparsed_volumes = true

volume_backend_name = GlusterFS                //指定Glusterfs存储后端名

2、挂载glusterfs存储端(如果使用命令形式安装glusterfs则这步可以省略):

执行命令:mount -t glusterfs /etc/glusterfs/glusterd.vol  /var/lib/nova

3、重启cinder的所有服务:

 for i in apischeduler volume; do service cinder-${i} restart; done

4、查看服务是否正常启动:

cinder-manage host list

cinder-manage service list

5、创建卷类型:

cinder type-create lvm
cinder type-create glusterfs

6、创建类型与存储后端的映射:

cinder type-key lvm set volume_backend_name=”LVM_iSCSI”
cinder type-key glusterfs set volume_backend_name=“GlusterFS”

后端名由cinder.conf配置文件指定,这里一定不能对应出错,否者卷的创建过程下会报错。

7、查看映射关系:

cinder extra-specs-list

弹出结果类似如下:

|      ID          |   Name   |              extra_specs               |

+--------------------------------------+-----------+----------------------------------------+

|06ec36d0-51d5-4eae-b614-d7a2cd32dbef|lvm|{u'volume_backend_name':

u 'LVM_iSCSI'} |

|56f7553b-8b9a-403b-a02a-4b283af8c592|glusterfs|{u'volume_backend_name':u 'GlusterFS'}  |

重启所有服务:

root@cinder: for i in api scheduler volume; doservice cinder-${i} restart; done

root@cinder: service iscsitarget restart

好了,现在所有的设置都完成了,你可以开始正常使用cinder卷服务了,卷的创建的工作可以在horizon仪表盘里完成。

 

参考文档:

http://www.gluster.org/category/glusterfs-openstack-cinder/

http://www.gluster.org/community/documentation/index.php/GlusterFS_Cinder#8._Verify_GlusterFS_Integration_with_Cinder

 

 

 

展开阅读全文

没有更多推荐了,返回首页