openstack kilo 集成ceph

1,环境准备

10.0.1.100    cephdeploy

10.0.1.110 cephmon1

10.0.1.120 cephmon2

10.0.1.130 cephosd1

10.0.1.140 cephosd2

10.0.1.150 cephosd3

10.0.1.11     controller

10.0.1.31     compute1

10.0.1.41     block

ceph和 openstack的安装略

2.创建3个pool

ceph osd pool create volumes 128
ceph osd pool create images 128
ceph osd pool create vms 128

3,拷贝ceph.conf到openstack各节点

ssh {your-openstack-server} sudo tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf

4,安装ceph包 在openstack节点上

glance-api节点

apt-get install  python-rbd

其他节点nova 和volumes

apt-get install ceph-common

5,设置认证

ceph auth get-or-create client.cinder mon ‘allow r‘ osd ‘allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images‘
ceph auth get-or-create client.glance mon ‘allow r‘ osd ‘allow class-read object_prefix rbd_children, allow rwx pool=images‘

6,拷贝认证到各节点

ceph auth get-or-create client.glance | ssh 10.0.1.11 sudo tee /etc/ceph/ceph.client.glance.keyring
ssh 10.0.1.11 sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring
ceph auth get-or-create client.cinder | ssh 10.0.1.41 sudo tee /etc/ceph/ceph.client.cinder.keyring
ssh 10.0.1.41 sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder | ssh 10.0.1.31 sudo tee /etc/ceph/ceph.client.cinder.keyring
ceph auth get-key client.cinder | ssh 10.0.1.31 tee client.cinder.key

5.compute节点配置

#uuidgen

17abcd6f-109d-4e95-8115-4c31a6caa084

#cat > secret.xml <<EOF

<secret ephemeral=‘no‘ private=‘no‘>

<uuid>17abcd6f-109d-4e95-8115-4c31a6caa084</uuid>

<usage type=‘ceph‘>

<name>client.cinder secret</name>

</usage>

</secret>

EOF

#sudo virsh secret-define --file secret.xml

#sudo virsh secret-set-value --secret 17abcd6f-109d-4e95-8115-4c31a6caa084 --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml

编辑/etc/ceph/ceph.conf最后加上如下内容

[client]
rbd cache = true
rbd cache writethrough until flush = true
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok
log file = /var/log/qemu/qemu-guest-$pid.log
rbd concurrent management ops = 20

编辑/etc/nova/nova.conf 在[DEFAULT]字段配置加入如下,uuid参考上面的保持同步

libvirt_images_type = rbd
libvirt_images_rbd_pool = vms
libvirt_images_rbd_ceph_conf = /etc/ceph/ceph.conf
libvirt_disk_cachemodes="network=writeback"
rbd_user = cinder
rbd_secret_uuid = 17abcd6f-109d-4e95-8115-4c31a6caa084
libvirt_inject_password = false
libvirt_inject_key = false
libvirt_inject_partition = -2
libvirt_live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"

设置权限

mkdir -p /var/run/ceph/guests/ /var/log/qemu/
chown libvirt-qemu:libvirtd /var/run/ceph/guests /var/log/qemu/

重启启动nova-compute服务

6,glance节点配置

编辑/etc/glance/glance-api.conf

[DEFAULT]

show_image_direct_url = True

[glance_store]

default_store = rbd

stores = rbd

rbd_store_pool = images

rbd_store_user = glance

rbd_store_ceph_conf = /etc/ceph/ceph.conf

rbd_store_chunk_size = 8

重启glance-api服务

7,cinder配置  vim /etc/cinder/cinder.conf  uuid和之前一致

[DEFAULT]

enabled_backends = ceph

[ceph]

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 = 17abcd6f-109d-4e95-8115-4c31a6caa084

重启cinder-volumes服务

效果测试

我创建一个50g的硬盘 并连接c2

在这台主机上我们查看这个硬盘

在ceph-deploy上查看使用情况,发现volume已经开始在使用了

写入一个数据,我写入一个2G的文件

再次查看ceph-delpoy,发现volumes使用如下:

时间: 2024-08-03 14:05:16

openstack kilo 集成ceph的相关文章

理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]

理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 基础数据结构 (5)Ceph 与 OpenStack 的集成 1. Glance 与 Ceph RBD 集成 1.1 代码 Kilo 版本中,glance-store 代码被从 glance 代码中分离出来了,地址在 https://github.com/openstack/glance_store. Glance 中与 Ceph 相关的配置项

OpenStack Kilo版加CEPH部署手册

OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.com/s__biz=MzAxOTAzMDEwMA==&mid=209225237&idx=1&sn=357afdabafc03e8fb75eb4e1fb9d4bf9&scene=5&ptlang=2052&ADUIN=724042315&ADSESSION

高可用OpenStack(Queen版)集群-15.Glance&amp;Cinder集成Ceph

参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html Ceph: http://docs.ceph.com/docs/master/start/int

高可用OpenStack(Queen版)集群-16.Nova集成Ceph

参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html Ceph: http://docs.ceph.com/docs/master/start/int

OpenStack Kilo版本新功能分析

OpenStack Kilo版本已经于2015年4月30日正式Release,这是OpenStack第11个版本,距离OpenStack项目推出已经整整过去了5年多的时间.在这个阶段OpenStack得到不断的增强,同时OpenStack社区也成为即Linux之后的第二大开源社区,参与的人数.厂商众多,也成就了OpenStack今天盛世的局面.虽然OpenStack在今年经历了一些初创型企业的倒闭,但是随着国内的传统行业用户对OpenStack越来越重视,我们坚信OpenStack明天会更好.

[译] OpenStack Kilo 版本中 Neutron 的新变化

OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些新的关键功能. 1. 扩展 Neutron 开发社区 (Scaling the Neutron development community) 为了更好地扩展 Neutron 开发社区的规模,我们在Kilo开发周期中主要做了两项工作:解耦核心插件以及分离高级服务.这些变化不会直接影响 OpenStac

Install OpenStack Kilo

安装openstack k版本 OS:CentOS Linux release 7.0.1406 (Core)host: node1  (管理):10.10.0.10   10.20.0.10 10.30.0.10node2(网络):10.10.0.20    10.20.0.20  10.30.0.20    192.168.74.211node2(计算):10.10.0.30    10.20.0.30   10.30.0.30 1:环境准备1):关闭防火墙 systemctl stop f

openstack kilo开启lbaas功能

centos7系统openstack kilo开启lbaas功能 1.安装haproxy和neutron-lbaas(在openstack资源里) Setup the RDO repositories: #sudo yum install -y https://rdoproject.org/repos/rdo-release.rpm #yum -y install openstack-neutron-lbaas haproxy 2.编辑配置文件 Enable the HAProxy plug-i

openStack kilo manual ins

openStack kilo manual ins Preface: one controller node one network node one compute node diagram simplity expains 一. 网络规划(neutron) 1, controller node: contains one network interface on the management network 2, network node: one network interface on