将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 341|回复: 1
收起左侧

cinder对接多个ceph存储

[复制链接]
发表于 2021-2-5 08:00:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?开始注册

x

1. 检查cinder当前backend配置

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

旧版格式:

https://yqfile.alicdn.com/img_06a0e9be26ae04ea98b839ca76817e2a.png

新版格式:

https://yqfile.alicdn.com/img_2608300de2b781219602c049d629900e.png

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

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

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


% k9 e% G. g( h: E$ T& Z: D

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.RBDDriver3 C6 ~  J3 D2 N( N

添加如下配置:

[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
$ w( F% ]% U; k: v: K4 X& m: U

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
# H2 l. ~, p1 |

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

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

# cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND
" a5 [8 F# P( Q' o7 @

例如:

# cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph5 {! X& c4 q, k0 |# w& l/ n1 q

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

https://yqfile.alicdn.com/img_914e6145caa528cf6a7c09020435521c.png

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

9 R9 F& j& j9 b1 L1 V; b9 Z

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
  H, k0 k/ o4 ^1 {

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
8 y$ _) M/ A; s( i  ~

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

https://yqfile.alicdn.com/img_9d8107586ee5f24baba464d1cf365933.png


2 ~0 U$ i3 K+ }3 q$ ]" c

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
7 b8 O* Z2 B' p3 ^0 |" d9 ]

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

https://yqfile.alicdn.com/img_00ead8d73e6d264ab20f598ebef66e93.png


* j% M+ F" \% `5 b1 v+ I5 L

5. 创建卷

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

# cinder create 30 --name vol-01 --volume-type ceph-new
: L4 ?+ ]! y! [* ^4 f

前端也可选则volume type:

https://yqfile.alicdn.com/img_14939ad2856ffba124d37a361a53e2e3.png

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


7 M- `/ M$ ~3 T% o% C  A8 n  ?
 楼主| 发表于 2021-2-5 08:00:09 | 显示全部楼层
1. 检查cinder当前backend配置
使用cinder service-list,查看cinder-volume服务的Host字段格式。
旧版格式:
新版格式:
旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。
如果是旧版,需要先修改为新版,见步骤2。
如果是新版,不需要修改,直接执行步骤3。

1 e( m$ N+ R8 i3 z! i7 Z
2. 修改旧版backend配置为新版
编辑/etc/cinder/cinder.conf文件,删除其中原有的ceph backend相关配置:
[url=]https://common.cnblogs.com/images/copycode.gif[/url]9 g( Q$ P  ^7 I3 a9 C* x
[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]0 v8 ~" B( {' K5 i2 K

) H1 }; n( M% t5 P6 j0 x# w7 N
添加如下配置:
[url=]https://common.cnblogs.com/images/copycode.gif[/url]( ~/ E; ?! r  F' Y% W
[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]
( h. M1 N8 {2 b) T, N2 ~- D
) D" }, ?( i% K  T
重启cinder-volume服务:
# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
1 o+ u3 u& i( A: I# l# i
执行cinder service-list,查看cinder-volume的Host字段是否变为新版格式。
然后更新已经创建的volume的host属性:
# cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND3 J" B" j7 \# H$ d/ Q# s, B7 [
例如:
# cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph
0 n$ t% S- y  N# C7 J& {
查看volume 的os-vol-host-attr:host属性已经变为HOSTNAME@BACKEND#RBD的格式:
到此,旧版配置格式已经改成新版配置格式,进行步骤3添加另一个ceph后端。
2 w2 U: A7 L0 b3 y1 h
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]
1 E' l6 P. t) D0 C[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]
# d0 u3 e' Q6 @9 G/ n, ]0 e0 k; D
! W; U) _7 {! Q
重启cinder-volume服务:
# service cinder-volume restart                    # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume        # 对于CentOS 7
, E6 \, u+ v  ], C- ?; z2 P) c
执行cinder service-list命令,可以看到每个后端对应一个cinder-volume服务:
% f& B/ J: q) E: [* A8 X
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- W* W/ O3 q$ h$ ^) s7 P& `' O
然后执行cinder type-list可以看到配置的volume type:
5 _2 V9 `# q/ F; I% r4 S' q7 D& U; ]3 n+ I
5. 创建卷
此后创建卷时,可以指定volume type,将卷创建到指定的ceph后端:
# cinder create 10 --name vol-01 --volume-type ceph-sas0 d' e" M* C9 A- n! f5 D# N4 L; _
前端也可选则volume type:
注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。

& S6 U6 Y8 J5 n* |! K8 W& ?
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2021-4-13 10:06 , Processed in 0.733572 second(s), 22 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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