专栏首页云+技术OpenStack Juno系列之结合ceph

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 p_w_picpaths 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=p_w_picpaths'

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

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= p_w_picpaths

rbd_store_chunk_size= 8

show_p_w_picpath_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]

p_w_picpaths_type= rbd

p_w_picpaths_rbd_pool= volumes

p_w_picpaths_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  --p_w_picpath-id <p_w_picpath_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]选项中

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

Nova-compute节点

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

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

libvirt_p_w_picpaths_type = rbd

libvirt_p_w_picpaths_rbd_pool = volumes

libvirt_p_w_picpaths_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"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 多云数据管理深度实践中 | 配置OpenSDS多后端(LVM、Cinder、Ceph)

    上篇文章我们通过Ansible安装了OpenSDS,本文我们继续深入了解OpenSDS,相信细心的童鞋会发现我们上篇在简短介绍OpenSDS的时候说到了可以纳管...

    DevinGeng
  • ceph 运维常用命令总结

        cluster be1756f2-54f7-4d8f-8790-820c82721f17

    DevinGeng
  • 从传统运维到云运维演进历程之软件定义存储(六)完结

    回到最初的Ceph运维工程师的问题,本系列讲述的是传统运维向新一代云运维转型之软件定义存储部分的转型,运维是企业业务系统从规划、设计、实施、交付到运维的最后一个...

    DevinGeng
  • Ceph集群部署

    近期进行公司业务容器化改造,在为kubernetes提供存储选型方面,在选型中本地存储不可跨node,NFS共享存储不好做高可用,因此选型Ceph来为k8s提供...

    KaliArch
  • ceph 10.3版的安装

    domain0
  • Ceph简单搭建

    Ceph基础介绍 ​ Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务...

    院长技术
  • PICE(3):CassandraStreaming - gRPC-CQL Service

      在上一篇博文里我们介绍了通过gRPC实现JDBC数据库的streaming,这篇我们介绍关于cassandra的streaming实现方式。如果我们需要从一...

    用户1150956
  • SDP(7):Cassandra- Cassandra-Engine:Streaming

      akka在alpakka工具包里提供了对cassandra数据库的streaming功能。简单来讲就是用一个CQL-statement读取cassandra...

    用户1150956
  • Linux:mv 命令的10个实用例子

    当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么 mv 命令是完成这个任务的首选。本文中总结了十个 Linux mv 命令的实例,希望能给大家带来一...

    张戈
  • SDWebImage源码分析 原

         SDWebImage是iOS开发中非常流行的一个网络图片加载库,如果你观察其源码,会发现其中的文件非常多,虽然文件数很多,但是作者的代码结构和条理却是...

    珲少

扫码关注云+社区

领取腾讯云代金券