OpenStack Juno系列之结合ceph

简介:

OpenStack Juno系列之结合ceph

原文链接:http://docs.ceph.com/docs/master/rbd/rbd-openstack/  

1.创建两个池。

 ceph osd pool create volumes 128

 ceph osd pool create images 128

补充内容:
在glance节点
apt-get install python-ceph
在nova-compute节点和cinder节点
apt-get install ceph-common

2.ceph配置文件拷贝到glance节点和cinder-volumes节点

sshX.X.X.X sudo tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf

3.Ceph授权用户

ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-readobject_prefix rbd_children, allow rwx pool=volumes, allow rx pool=images'

ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-readobject_prefix rbd_children, allow rwx pool=images'

4.把密钥拷贝到glance节点和cinder-volumes节点、nova-compute 节点

ceph auth get-or-create client.glance | ssh X.X.X.X sudo tee /etc/ceph/ceph.client.glance.keyring

sshX.X..X.X sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring

ceph auth get-or-create client.cinder | ssh X.X.X.X sudo tee/etc/ceph/ceph.client.cinder.keyring

sshX.X.X.X sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring

ceph auth get-key client.cinder | ssh X.X.X.X tee client.cinder.key  这里是把cinder密钥拷贝到计算节点

5.配置glance节点,在glance-api配置文件中修改以下内容

default_store= rbd

stores= glance.store.rbd.Store

rbd_store_ceph_conf= /etc/ceph/ceph.conf

rbd_store_user= glance

rbd_store_pool= images

rbd_store_chunk_size= 8

show_image_direct_url = True

配置完重启glance-api服务即可

6.配置cinder-volume节点,添加以下内容

glance_host= XXXXX

volume_driver= cinder.volume.drivers.rbd.RBDDriver

rbd_pool= volumes

rbd_ceph_conf= /etc/ceph/ceph.conf

rbd_flatten_volume_from_snapshot= false

rbd_max_clone_depth= 5

rbd_store_chunk_size= 4

rados_connect_timeout= -1

glance_api_version= 2

rbd_user= cinder

rbd_secret_uuid= bfe573d1-0a91-42e8-941a-49d5730c4150

 

UUID需要自己生成

uuidgen命令

7.配置nova-compute节点

cat> secret.xml <<EOF

  <secret ephemeral='no' private='no'>

 <uuid>bfe573d1-0a91-42e8-941a-49d5730c4150</uuid>

  <usage type='ceph'>

  <name>client.cinder secret</name>

  </usage>

  </secret>

  EOF

sudovirsh secret-define --file secret.xml

sudovirsh secret-set-value --secret bfe573d1-0a91-42e8-941a-49d5730c4150 --base64$(cat client.cinder.key)

编辑nova.conf文件,添加以下内容

[libvirt]

images_type= rbd

images_rbd_pool= volumes

images_rbd_ceph_conf= /etc/ceph/ceph.conf

rbd_user= cinder

rbd_secret_uuid= bfe573d1-0a91-42e8-941a-49d5730c4150

libvirt_live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST"

配置完成之后重启nova-compute服务

8.验证copy on write功能

1.)上传一个 raw 镜像到 glance

2.cinder create  --image-id <image_id>  10

3.)ceph节点查看

rbd lsvolumes -l

类似于以下这个比如出现snap字样

volume-1147d5ee-5cae-4819-b58e-9eb1723f6c1340960M volumes/e5b6d62f-2876-40e5-a4d8-27d41552a631@snap   2 

补充排错:

Cinder节点

问题类型:

RBD的时候出现类似于这种情况一般都是RBD配置有问题

解决方法:

RBD相关内容放在[DEFAULT]选项中

wKiom1TUiw_x8afSAAUq8O4lM8o902.jpg

出现以下情况可能是因为cinder-volumes节点和ceph节点通信有问题导致驱动无法初始化

wKioL1TUi_2AHsHWAAvdmJKHJBg389.jpg

Nova-compute节点

nova上配置RBD的时候遇见以下情况,一般都是RBD配置问题。

wKiom1TUixDSOTCJAAPmHaakUsA234.jpg

解决方法把RBD相关内容放在[DEFAULT]选项中

libvirt_images_type = rbd

libvirt_images_rbd_pool = volumes

libvirt_images_rbd_ceph_conf = /etc/ceph/ceph.conf

rbd_user = cinder

rbd_secret_uuid = 6badfb2f-7e11-4810-bc11-40a73373259e

libvirt_live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST"


本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1610676


相关文章
|
存储 缓存 运维
openstack对接ceph存储
openstack对接ceph存储
|
存储 网络安全
【Openstack】Ceph 与Openstack存储对接
Ceph 与Openstack存储对接
5045 12
【Openstack】Ceph 与Openstack存储对接
|
运维 架构师 安全
|
虚拟化 KVM 机器学习/深度学习
下一篇
无影云桌面