|
1. 检查cinder当前backend配置 使用cinder service-list,查看cinder-volume服务的Host字段格式。 旧版格式: 4 t- E. g' W; h( O$ C$ O
新版格式:
! l* Y- }/ h. o% n旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。 如果是旧版,需要先修改为新版,见步骤2。 如果是新版,不需要修改,直接执行步骤3。
) q4 {& D/ A" |- P" w2. 修改旧版backend配置为新版 编辑/etc/cinder/cinder.conf文件,删除其中原有的ceph backend相关配置: [backcolor=rgb(245, 245, 245) !important][url=] [/url]
" a7 O' K% l3 b; t; p[DEFAULTrbd_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[backcolor=rgb(245, 245, 245) !important][url=] [/url] Z( k' C5 h$ {: |3 A+ e) y4 w/ x
. x. Z# g# c- z
添加如下配置: [backcolor=rgb(245, 245, 245) !important][url=] [/url]
8 T/ t; m. N; n# `/ x[DEFAULTenabled_backends = ceph[cephrbd_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[backcolor=rgb(245, 245, 245) !important][url=] [/url]" O3 U/ h" A2 e) o& C
* {- z6 S2 K- @( N8 }' G# |
重启cinder-volume服务: # service cinder-volume restart # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume # 对于CentOS 7( c* {$ _$ C; @+ G, g! S* \
执行cinder service-list,查看cinder-volume的Host字段是否变为新版格式。 然后更新已经创建的volume的host属性: # cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND _4 h9 v8 j& x1 @8 d
例如: # cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph
0 N7 T1 f$ A; g( }5 a' X( `1 f查看volume 的os-vol-host-attr:host属性已经变为HOSTNAME@BACKEND#RBD的格式: ( u: F- E* t8 |; ]2 K
到此,旧版配置格式已经改成新版配置格式,进行步骤3添加另一个ceph后端。 * H' c( l" e; A; m. H( q
3. 添加一个ceph后端 将新的ceph集群的配置文件复制到所有openstack节点(包括控制节点和计算节点)。 注意:不同ceph集群依靠配置文件的名字区分,如:已有ceph集群的配置文件为/etc/ceph/ceph.conf,如果新集群全用SAS盘,配置文件可以命名为:/etc/ceph/ceph-sas.conf。 然后编辑/etc/cinder/cinder.conf,添加新的ceph backend,编辑完后的相关配置如下: [backcolor=rgb(245, 245, 245) !important][url=] [/url]
( A+ ^* l/ H; n- k0 u[DEFAULTenabled_backends = ceph,ceph-sas[cephrbd_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-sasrbd_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[backcolor=rgb(245, 245, 245) !important][url=] [/url]: \4 |' S Y, `# h! ^5 Y+ T9 u
9 n3 u) v' k: A2 l8 @, W重启cinder-volume服务: # service cinder-volume restart # 对于Ubuntu 14.04# systemctl restart openstack-cinder-volume # 对于CentOS 7
8 w& i9 f' k5 v0 Q6 T9 p执行cinder service-list命令,可以看到每个后端对应一个cinder-volume服务: 3 W( w4 w& H. r6 F
5 V% I- d0 C+ |' A. I% c
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
7 j9 X( i; n" G) Y然后执行cinder type-list可以看到配置的volume type:
: W- o$ w8 x% t8 w/ W7 E, ~( W& k
$ n* L! R- p/ s& k; S/ H9 M$ }5. 创建卷 此后创建卷时,可以指定volume type,将卷创建到指定的ceph后端: # cinder create 10 --name vol-01 --volume-type ceph-sas( y, }+ o% O4 Q, F8 B$ Q
前端也可选则volume type: ! b" g; u4 c6 P! D* ]' K
注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。 |