找回密码
 注册
查看: 4177|回复: 1

cinder对接多个ceph存储

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-2-5 08:00:08 | 显示全部楼层 |阅读模式

1. 检查cinder当前backend配置

使用cinder service-list,查看cinder-volume服务的Host字段格式。

旧版格式:

新版格式:

旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。

如果是旧版,需要先修改为新版,见步骤2。

如果是新版,不需要修改,直接执行步骤3。


6 s' _3 z( ^5 A3 u0 m+ H3 G5 [

2. 修改旧版backend配置为新版

编辑/etc/cinder/cinder.conf文件,删除其中原有的ceph backend相关配置:

[DEFAULT]rbd_store_chunk_size = 4rbd_max_clone_depth = 5rbd_flatten_volume_from_snapshot = truerbd_ceph_conf = /etc/ceph/ceph2.confrbd_pool = volumesrados_connect_timeout = -1volume_driver = cinder.volume.drivers.rbd.RBDDriver( d( k1 _4 t2 Y0 h3 @# e- `9 x

添加如下配置:

[DEFAULT]enabled_backends = ceph2[ceph2]rbd_pool = volumes  (cephpool-name)rbd_ceph_conf = /etc/ceph/ceph2.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=ceph2volume_driver = cinder.volume.drivers.rbd.RBDDriver
! b' `) p) o+ |9 i% P

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
  s- t+ Z5 F4 u4 N

执行cinder service-list,查看cinder-volume的Host字段是否变为新版格式。

然后更新已经创建的volume的host属性:

# cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND# t+ H( F" r+ Q6 W

例如:

# cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph
8 C' [! l9 U& u# C* j

查看volume 的os-vol-host-attr:host属性已经变为HOSTNAME@BACKEND#RBD的格式:

到此,旧版配置格式已经改成新版配置格式,进行步骤3添加另一个ceph后端。

( u# R% @( N. h3 ]. {. @0 Y+ c

3. 添加一个ceph后端

将新的ceph集群的配置文件复制到所有openstack节点(包括控制节点和计算节点)。

注意:不同ceph集群依靠配置文件的名字区分,如:已有ceph集群的配置文件为/etc/ceph/ceph.conf,如果新集群全用SAS盘,配置文件可以命名为:/etc/ceph/ceph-sas.conf。

然后编辑/etc/cinder/cinder.conf,添加新的ceph backend,编辑完后的相关配置如下:

[DEFAULT]enabled_backends = ceph,ceph-new[ceph]rbd_pool = volumesrbd_ceph_conf = /etc/ceph/ceph.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=cephvolume_driver = cinder.volume.drivers.rbd.RBDDriver[ceph-new]rbd_pool = volumesrbd_ceph_conf = /etc/ceph/ceph-new.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=ceph-newvolume_driver = cinder.volume.drivers.rbd.RBDDriver
6 E2 e( f/ U" o) `

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
0 L' Q" A, u  o

执行cinder service-list命令,可以看到每个后端对应一个cinder-volume服务:


5 y; E6 A/ g5 i8 z, T2 Y8 H

4. 配置volume-type

对于每个ceph后端,创建一个volume type,并将volume type关联配置文件中的volume_backend_name:

# cinder type-create ceph1# cinder type-key ceph set volume_backend_name=ceph1# cinder type-create ceph-new# cinder type-key ceph-new set volume_backend_name=ceph-new
, W# W! N( K) @  b# ~' E

然后执行cinder type-list可以看到配置的volume type:

. W& e& A" h* r/ k' s3 f$ [2 i0 F. d

5. 创建卷

此后创建卷时,可以指定volume type,将卷创建到指定的ceph后端:

# cinder create 30 --name vol-01 --volume-type ceph-new
4 s& T1 W* i. g

前端也可选则volume type:

注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。


4 M" M7 `+ |5 y! M0 y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-2-5 08:00:09 | 显示全部楼层
1. 检查cinder当前backend配置
使用cinder service-list,查看cinder-volume服务的Host字段格式。
旧版格式:
新版格式:
旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。
如果是旧版,需要先修改为新版,见步骤2。
如果是新版,不需要修改,直接执行步骤3。
- M/ ^2 G, j3 C/ U9 R
2. 修改旧版backend配置为新版
编辑/etc/cinder/cinder.conf文件,删除其中原有的ceph backend相关配置:
[url=]https://common.cnblogs.com/images/copycode.gif[/url]0 r9 j* V8 t$ V: z
[DEFAULT]rbd_store_chunk_size = 4rbd_max_clone_depth = 5rbd_flatten_volume_from_snapshot = truerbd_ceph_conf = /etc/ceph/ceph.confrbd_pool = volumesrados_connect_timeout = -1volume_driver = cinder.volume.drivers.rbd.RBDDriver[url=]https://common.cnblogs.com/images/copycode.gif[/url]* Z/ _, j0 t" `" v4 L

2 W$ }8 q; ]- |4 p
添加如下配置:
[url=]https://common.cnblogs.com/images/copycode.gif[/url]2 T5 i2 N) D6 V( J) T( s0 G
[DEFAULT]enabled_backends = ceph[ceph]rbd_pool = volumesrbd_ceph_conf = /etc/ceph/ceph.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=cephvolume_driver = cinder.volume.drivers.rbd.RBDDriver[url=]https://common.cnblogs.com/images/copycode.gif[/url], u- \4 U  [0 \8 V1 }9 Q

2 u. u0 v& N" q6 x! {1 n- y
重启cinder-volume服务:
# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
3 r, v0 }- {  D1 F  i
执行cinder service-list,查看cinder-volume的Host字段是否变为新版格式。
然后更新已经创建的volume的host属性:
# cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND
+ c- r$ E  [7 c6 B# g0 w# \
例如:
# cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph
3 w# F5 |" X) f2 k0 n. J1 X
查看volume 的os-vol-host-attr:host属性已经变为HOSTNAME@BACKEND#RBD的格式:
到此,旧版配置格式已经改成新版配置格式,进行步骤3添加另一个ceph后端。
- {5 G$ m1 h8 w+ w" J0 i" q2 z
3. 添加一个ceph后端
将新的ceph集群的配置文件复制到所有openstack节点(包括控制节点和计算节点)。
注意:不同ceph集群依靠配置文件的名字区分,如:已有ceph集群的配置文件为/etc/ceph/ceph.conf,如果新集群全用SAS盘,配置文件可以命名为:/etc/ceph/ceph-sas.conf。
然后编辑/etc/cinder/cinder.conf,添加新的ceph backend,编辑完后的相关配置如下:
[url=]https://common.cnblogs.com/images/copycode.gif[/url]- w; L/ P3 T- }# j/ L: ~9 x# d7 q
[DEFAULT]enabled_backends = ceph,ceph-sas[ceph]rbd_pool = volumesrbd_ceph_conf = /etc/ceph/ceph.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=cephvolume_driver = cinder.volume.drivers.rbd.RBDDriver[ceph-sas]rbd_pool = volumesrbd_ceph_conf = /etc/ceph/ceph-sas.confrbd_flatten_volume_from_snapshot = truerbd_max_clone_depth = 5rbd_store_chunk_size = 4rados_connect_timeout = -1glance_api_version = 2volume_backend_name=ceph-sasvolume_driver = cinder.volume.drivers.rbd.RBDDriver[url=]https://common.cnblogs.com/images/copycode.gif[/url]3 Q2 q' e# ]8 @$ P
6 R9 `2 O% s. B1 P5 Z
重启cinder-volume服务:
# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7: S, k+ Y, C* Y4 P
执行cinder service-list命令,可以看到每个后端对应一个cinder-volume服务:
* K) r- N$ h! T) i. L7 r' `  t9 J
4. 配置volume-type
对于每个ceph后端,创建一个volume type,并将volume type关联配置文件中的volume_backend_name:
# cinder type-create ceph# cinder type-key ceph set volume_backend_name=ceph# cinder type-create ceph-sas# cinder type-key ceph-sas set volume_backend_name=ceph-sas. x8 B+ g$ v  V
然后执行cinder type-list可以看到配置的volume type:

/ {7 b  K  P- }* n* P) a: u
5. 创建卷
此后创建卷时,可以指定volume type,将卷创建到指定的ceph后端:
# cinder create 10 --name vol-01 --volume-type ceph-sas
5 _5 e' c# N5 I( ?
前端也可选则volume type:
注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。
6 R# Z+ f' z5 \1 S6 X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:09 , Processed in 0.020997 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表