ceph与openstack的对接集成

实验环境
三节点的社区版Openstack环境
controller:172.16.1.100
computer:172.16.1.131
cinder:172.16.1.132
这里三个节点使用的IP地址为Openstack的管理地址
ceph1:172.16.1.128
ceph2:172.16.1.129
ceph3:172.16.1.130
我这里使用的Openstack云平台跟ceph分布式集群均为手动搭建的测试环境
使用rbd方式为云平台提供存储
(1)image:保存glance中的映像文件
(2)volume存储:保存cinder的volume;保存创建虚拟机时选择创建新卷;
(3)vms存储:保存创建虚拟机时不选择创新卷;

首先在云平台安装rbd相关软件(云平台三个节点上全部安装)
yum install -y python-rbd
yum install -y ceph-common
#在ceph的控制节节点创建三个POOL
ceph osd pool create volumes 128
ceph osd pool create images 128
ceph osd pool create vms 128
#初始化POOL
rbd pool init volumes
rbd pool init images
rbd pool init vms


将ceph的配置文件导入到云平台的三个节点

在ceph集群的控制节点上执行
sudo ssh [email protected]  tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf
sudo ssh [email protected]  tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf
sudo ssh [email protected]  tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf

创建ceph用户和密钥

查询用户,写入文件
#ceph auth get-or-create client.glance | ssh [email protected]  tee /etc/ceph/ceph.client.glance.keyring
#ssh [email protected] chown glance:glance /etc/ceph/ceph.client.glance.keyring
#ceph auth get-or-create client.cinder | ssh [email protected]  tee /etc/ceph/ceph.client.cinder.keyring
#ssh [email protected]  chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
#ceph auth get-or-create client.cinder-backup    |     ssh [email protected]  tee  /etc/ceph/ceph.client.cinder-backup.keyring
#ssh [email protected]  chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring
#ceph auth get-key client.cinder | ssh [email protected] tee client.cinder.key

接下来与云平台进行对接
以下操作在openstack的控制节点上执行
ceph与glance对接

#更改glance默认存储为ceph
#修改/etc/glance/glance-api.conf文件,添加一下内容
[DEFAULT]
default_store = rbddefault_store = rbd
show_image_direct_url = True
show_image_direct_url = True
[glance_store]
#stores = file,http
#default_store = file
#filesystem_store_datadir = /var/lib/glance/images/
stores = rbd
default_store = rbd
rbd_store_pool = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8
#重启服务
systemctl restart openstack-glance-api openstack-glance-registry

ceph与nova对接,在computer节点上操作
使用uuidgen获取密钥信息

编辑一个secret.xml文档
<secret ephemeral=‘no‘ private=‘no‘>
  <uuid>545ec73d-06b8-462e-8494-cbf1317dbc1a</uuid>
  <usage type=‘ceph‘>
    <name>client.cinder secret</name>
  </usage>
</secret>
virsh secret-define --file secret.xml
virsh secret-set-value --secret 545ec73d-06b8-462e-8494-cbf1317dbc1a --base64 AQAVkeJcqR2/GxAAtuPMq1MqF5wUBYTeDuDuiw==
注意--base64后面要跟的参数为ceph.client.cinder.keyring文件中的密钥信息,在cinder节点中将信息复制到此处

如果openstack有多个计算节点,所有的计算节点节点使用同一个UUID来进行标识
virsh secret-list 使用命令进行查看


在computer节点的ceph配置文件里添加一下内容

[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
[client.cinder]
keyring = /etc/ceph/ceph.client.cinder.keyring

#重启服务
systemctl restart libvirtd.service openstack-nova-compute.service

ceph与cinder对接

#修改/etc/cinder/cinder.conf配置文件,注意:将之前的lvm的配置都删掉
[DEFAULT]
#enabled_backends = lvm
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 = ff2e1190-30f5-4849-9c1c-886b1e1ee181
 #重启服务
systemctl restart openstack-cinder-volume.service


在执行命令时如果出现下面的命令则说明认证信息出现错误,需要把ceph.client.admin.keyring文件拷贝到控制节点下。

创建一个新的虚拟机映像
glance image-create --name cirros_image --disk-format=qcow2 --container-format=bare < cirros-0.3.1-x86_64-disk.img

创建一个2G大小的cinder卷组
cinder create --display-name ceph-volume01 --display-description "cinder volume on CEPH storage" 2

创建完之后可以在ceph集群的控制台看到Pools选项下面出现volumes以及images池

然后登录云平台进行虚拟机创建

原文地址:https://blog.51cto.com/11970509/2398594

时间: 2024-11-13 02:58:47

ceph与openstack的对接集成的相关文章

ceph(5)--Ceph 与 OpenStack 集成的实现

理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs 1. Glance 与 Ceph RBD 集成 1.1 代码 Kilo 版本中,glance-store 代码被从 glance 代码中分离

Ceph与OpenStack整合(仅为云主机提供云盘功能)

1. Ceph与OpenStack整合(仅为云主机提供云盘功能) 创建: linhaifeng,最新修改: 大约1分钟以前 ceph ceph osd pool create volumes 128 128 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,

Ceph与OpenStack整合(与glance整合)

2. Ceph与OpenStack整合(与glance整合) 创建: linhaifeng,最新修改: 昨天4:18 下午 思路:1.ceph集群monitor节点创建存储池images-pool,创建访问该存储池的用户images,导出秘钥文件ceph.client.images.keyring,发送ceph.conf和ceph.client.images.keyring到glance客户端的/etc/ceph目录下 2.所有glance节点安装python-rbd软件包,修改glance.a

Ceph与OpenStack整合(将云主机磁盘镜像文件直接建在ceph集群vms存储池中)

思路及实现: 1.承接前两篇文章,镜像服务的存储 池为images,云盘的存储池为volumes,目前要完成openstack新建云主机磁盘镜像文件直接存放到ceph中去(在ceph中新建存储池vms). 云主机在启动时需要有能访问镜像存储池images和云盘存储池volumes的能力,所以你需要在ceph集群的monitor节点新建存储池vms,同时新建账号,该账号具有对vms,images, 以及volumes三个存储池的rwx权限 2.这里请务必注意一个细节:回忆第一篇ceph与opens

Ceph 整合OpenStack kilo 遇到问题解决

第7章 Ceph 整合OpenStack 遇到问题解决 7.1 一个日志引发的错误追踪 1) Ceph 问题起因 http://bbs.ceph.org.cn/question/161 错误日志   2) 找到 vim nova/virt/libvirt/driver.py 代码处 3090 行 ************************     def _get_guest_disk_config(self, instance, name, disk_mapping, inst_type

使用Ceph作为OpenStack的后端存储

概述 libvirt配置了librbd的QEMU接口,通过它可以在OpenStack中使用Ceph块存储.Ceph块存储是集群对象,这意味着它比独立的服务器有更好的性能. 在OpenStack中使用Ceph块设备,必须首先安装QEMU,libvirt和OpenStack,下图描述了 OpenStack和Ceph技术层次结构: http://my.oschina.net/JerryBaby/blog/376580 我翻译的官方文档,仅供参考 ^ ^. 系统规划 OpenStack集群: 控制节点:

Ceph对象存储RGW对接企业级网盘OwnCloud三步走

上篇文章我们把Ceph对象存储搭建成功了,但是成功了之后我们怎么用呢?下面我们本文就来讲下Ceph对象存储对接企业私有云网盘OwnCloud. OwnCloud分为企业版和社区版,我们只说社区版,在这里我就不多赘述了. 那么Ceph对接OwnCloud分三步走. 第一:安装Ceph配置RGW对象存储 第二:安装OwnCloud 第三:对接 第一步在上个文章里面已经做了,那么第二步是安装OwnCloud,可以看下我之前的文章进行安装. 如何搭建OwnCloud网盘 主要讲下第三步 要点:网盘节点D

Ceph作为OpenStack后端存储

Total PGs = (Total_number_of_OSD * 100) /max_replication_count) 1.  Create pool for OpenStack pg=256 ceph osd pool create volumes $pg   #disk_pool ceph osd pool create images $pg    #image_pool ceph osd pool create vms $pg      #host_pool ceph osd po

Ceph介绍

1. 介绍 云硬盘是IaaS云平台的重要组成部分,云硬盘给虚拟机提供了持久的块存储设备.目前的AWS 的EBS(Elastic Block store)给Amazon的EC2实例提供了高可用高可靠的块级存储卷,EBS适合于一些需要访问块设备的应用,比如数据库.文件系统等. 在OpenStack中,可以使用Ceph.Sheepdog.GlusterFS作为云硬盘的开源解决方案,下面我们来了解Ceph的架构. Ceph是统一存储系统,支持三种接口. Object:有原生的API,而且也兼容Swift