ceph对接openstack环境
环境准备:
保证openstack节点的hosts文件里有ceph集群的各个主机名,也要保证ceph集群节点有openstack节点的各个主机名
一、使用rbd方式提供存储如下数据:
二、实施步骤:
(1)客户端也要有cent用户:
useradd cent && echo "123" | passwd --stdin cent
echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
chmod 440 /etc/sudoers.d/ceph
(2)openstack要用ceph的节点(比如compute-node和storage-node)安装下载的软件包:
yum localinstall ./* -y
或则:每个节点安装 clients(要访问ceph集群的节点):
yum install python-rbd
yum install ceph-common
(3)部署节点上执行,为openstack节点安装ceph:
ceph-deploy install controller
ceph-deploy admin controller
(4)客户端执行
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
5)创建存储池,分别名为images、vms、volumes

[root@controller ~]#ceph osd pool create images 128
pool 'images' created
[root@controller ~]# ceph osd pool create vms 128
pool 'vms' created
[root@controller ~]# ceph osd pool create volumes 128
pool 'volumes' created

6)查看pool列表
ceph osd lspools
0 rbd,1 images,2 vms,3 volumes,
如果你启用了 cephx 认证,需要分别为 Nova/Cinder 和 Glance 创建新用户
7)在ceph集群中创建glance和cinder用户,由于是all in one环境所以这里我们就在部署节点上创建这两个用户即可。
useradd glance
useradd cinder
8)给与这两个用户输出一个对应的密钥环

[root@controller ceph]# ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
[client.glance]
key = AQCZggNd3TrTDBAAFgWrEAXhXt7xv4xcnn0eWA==
[root@controller ceph]# 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'
[client.cinder]
key = AQCtggNdHrFuHhAAsI/rt4cVujt8QEYZOODRFw==

每创建一个用户会输出一个对应用户的秘钥环,秘钥环是其他节点访问集群的钥匙(client.glance/cinder )
9)拷贝密钥环,并发给需要的节点,我们这里就在controller节点上拷贝然后发给storage节点

root@controller ceph]# ceph auth get-or-create client.glance > /etc/ceph/ceph.client.glance.keyring
[root@controller ceph]# ceph auth get-or-create client.cinder > /etc/ceph/ceph.client.cinder.keyring
[root@controller ceph]# scp ceph.client.glance.keyring ceph.client.cinder.keyring compute:/etc/ceph/
ceph.client.glance.keyring 100% 64 15.4KB/s 00:00
ceph.client.cinder.keyring 100% 64 31.4KB/s 00:00
[root@controller ceph]# scp ceph.client.glance.keyring ceph.client.cinder.keyring storage:/etc/ceph/
ceph.client.glance.keyring 100% 64 14.1KB/s 00:00
ceph.client.cinder.keyring 100% 64 28.0KB/s 00:00

10)更改下面keyring文件的属组属组,不然没有权限访问。
[root@controller ceph]# chown glance:glance /etc/ceph/ceph.client.glance.keyring
[root@controller ceph]# chown cinder:cinder /etc/ceph/ceph.client.glance.keyring
注意:必须已经在controller节点上安装过ceph包,也就是要有/etc/ceph这个文件夹,完成后可以在controller下面的/etc/ceph目录下看到ceph.client.glance.keyring秘钥环
运行着 glance-api 、 cinder-volume 、 nova-compute 或 cinder-backup 的主机被当作 Ceph 客户端
11)更改libvirt权限,只需要在nova-compute节点上操作就行
生成一个uuid,并将uuid写入/etc/ceph/uuid
[root@compute ceph]# uuidgen
3e3314c9-bfb0-439e-8764-61896c621b7e
[root@compute ceph]# vim uuid
3e3314c9-bfb0-439e-8764-61896c621b7e
在/etc/ceph目录下创建secret文件,添加以下内容

cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
<uuid>940f0485-e206-4b49-b878-dcd0cb9c70a4</uuid>
<usage type='ceph'>
<name>client.cinder secret</name>
</usage>
</secret>

将secret文件发送到其他compute节点,并执行以下操作

[root@compute ceph]# ceph auth get-key client.cinder > ./client.cinder.key
[root@compute ceph]# ls
ceph.client.admin.keyring ceph.conf secret.xml
ceph.client.cinder.keyring client.cinder.key tmpJKjseK
ceph.client.glance.keyring rbdmap uuid
[root@compute ceph]# virsh secret-set-value --secret 3e3314c9-bfb0-439e-8764-61896c621b7e --base64 $(cat ./client.cinder.key)
secret 值设定

15)在horizon页面删除镜像和实例
16)在controller节点上修改glance-api.conf配置文件,然后重启

[DEFAULT]
default_store = rbd [glance_store]
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

[root@controller ceph]# systemctl restart openstack-glance-api
17)查看并重新创建image镜像
[root@controller ceph]# openstack image create "cirros" --file cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --public
更改后镜像就存储在ceph集群glance pool里。
18)storage节点上修改cinder配置文件(两处),并重启controller节点相关服务和storage节点相关服务
enabled_backends = ceph
systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service(controller节点)
systemctl restart openstack-cinder-volumes(storage节点)
19)horizon界面创建卷验证
[root@controller gfs]# rbd ls volumes
volume-43b7c31d-a773-4604-8e4a-9ed78ec18996
20)在nova-compute节点修改nova配置文件,重启controller的nova相关服务和storage节点的相关服务
21)horizon界面创建虚拟机验证

ceph对接openstack环境的更多相关文章
- ceph对接openstack环境(4)
ceph对接openstack环境 环境准备: 保证openstack节点的hosts文件里有ceph集群的各个主机名,也要保证ceph集群节点有openstack节点的各个主机名 一.使用rbd方式 ...
- ceph 对接openstack liberty
Ceph 准备工作 官方文档:http://docs.ceph.com/docs/master/rbd/rbd-openstack/ 官方中文文档:http://docs.ceph.org.cn/rb ...
- ceph对接openstack
一.使用rbd方式提供存储如下数据: (1)image(glance):保存glanc中的image: (2)volume(cinder)存储:保存cinder的volume:保存创建虚拟机时选择创建 ...
- OpenStack学习系列之十二:安装ceph并对接OpenStack
Ceph 是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.Ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常 ...
- “CEPH浅析”系列之六——CEPH与OPENSTACK
在 <"Ceph浅析"系列之二--Ceph概况>中即已提到,关注Ceph的原因之一,就是OpenStack社区对于Ceph的重视.因此,本文将对Ceph在OpenSta ...
- Ceph在OpenStack中的地位
对Ceph在OpenStack中的价值进行简要介绍,并且对Ceph和Swift进行对比. 对于一个IaaS系统,涉及到存储的部分主要是块存储服务模块.对象存储服务模块.镜像管理模块和计算服务模块.具体 ...
- Ceph与OpenStack整合(仅为云主机提供云盘功能)
1. Ceph与OpenStack整合(仅为云主机提供云盘功能) 创建: linhaifeng,最新修改: 大约1分钟以前 ceph ceph osd pool create volumes 128 ...
- The Dos and Don'ts for Ceph for OpenStack
Ceph和OpenStack是一个非常有用和非常受欢迎的组合. 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们 使用 show_image_direct ...
- 用命令测试安装好的OpenStack环境
OpenStack三个节点icehouse-gre模式部署一文部署了一套OpenStack环境,接下来使用命令测试一遍. 首先要明确几个概念: 外网:可分配floating ip绑定到虚拟机,外部就可 ...
随机推荐
- jsp,velocity,freemark页面引擎的比較
在java领域.表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术 长处: 1.功能强大,能够写java代码 2.支持jsp标签(jsp tag) 3.支 ...
- python基础练习-猜年龄、编写登陆接口小程序
python基础练习: 一.猜年龄 , 可以让用户最多猜三次! age=40 count = 1 while count <=3 : user_guess=int(input("i ...
- CoffeeScript里的or
CoffeeScript里的or,其实会被编译为 || 这并没有什么令人惊奇之处.我惊讶的是类似这样一个表达式: word = null hi = word or "Hello World! ...
- ping测试局域网内主机是否alive
[root@zabbix ~]# cat alivehost.sh #!/bin/bash #Checks to see if hosts 192.168.1.100-192.168.1.200 ar ...
- 【Ubuntu】某灯图标过大
发现某灯在桌面上图标过大,点击resize拖动没反应,遂查找原因 发现是它图标只有128x128的版本,所以显得比别的图标大 打开lantern.desktop(不知道.desktop请看https: ...
- WIZnet的网络产品怎样选型
文章来源:成都浩然 我们在选用WIZnet的网络产品的时候.面对诸多的器件不知怎样选择,这里介绍一些方法以帮助project师高速准确地选择产品. WIZnet的产品有一个共同的特性.那就硬件TCPI ...
- 51nod 1611 金牌赛事
被亮亮D飞啦!!QWQ 这题明明是最大权闭合子图+线段树优化构图好不好 被迫考虑DP,并且考虑f[i]表示到第i个位置的最大值(第i个位置可选可不选) 对于最终的答案,我们可以分割成一段一段的,也就是 ...
- [python基础]xml_rpc远程调控supervisor节点进程
supervisor提供的两种管理方式,supervisorctl和web其实都是通过xml_rpc来实现的. xml_rpc其实就是本地可以去调用远端的函数方法,在python中只需要引入xmlrp ...
- PCB 加投率计算实现基本原理--K最近邻算法(KNN)
PCB行业中,客户订购5000pcs,在投料时不会直接投5000pcs,因为实际在生产过程不可避免的造成PCB报废, 所以在生产前需计划多投一定比例的板板, 例:订单 量是5000pcs,加投3%,那 ...
- 关于C++ const 变量
const 的全局变量是储存在一个只读数据段中,虽然你可以定义一个指向它的指针,却会在运行时,在对该地址赋值的时候发生运行错误,而局部的const变量是储存在栈中的,离开作用域后同样会被释放,并且可以 ...