OpenStack集群安装CEPH----实操

OpenStack集群安装CEPH----实操

一、实验环境准备

由于设备的限制,所以先提前准备好了OpenStack集群:一个控制节点(包含网络节点和计算节点)、一个计算节点。CEPH集群也是在此基础上创建。如果硬件设备支持的话,希望大家准备三个节点做实验:1.控制节点(计算+网络)、CPU:双核双线程-CPU虚拟化开启、内存:8G 硬盘:300G+1024G(充当CEPH块存储)。
2.计算节点1(计算)、CPU:双核双线程-CPU虚拟化开启、内存:8G 硬盘:300G+1024G(充当CEPH块存储)。
3.计算节点2(计算)、CPU:双核双线程-CPU虚拟化开启、内存:8G 硬盘:300G+1024G(充当CEPH块存储)。
而在真正的生产环境中,在OpenStack集群中至少需要准备两台控制节点服务器、两台计算节点服务器和一台网络节点服务器。并且需要准备三台服务器作为CEPH集群与OpenStack集群做关联。

二、搭建实验流程

本次实验是在安装好OpenStack集群的基础上实验的。我会在后面的博客中更新如何一键部署安装OpenStack集群。
** 因为我使用的是centos 7.5版本的系统**可能会存在一些问题,所以在安装CEPH之前在检查一下防火墙有没有完全关闭。

安装CEPH

1.#需要在所有节点上安装CEPH所需要的插件、环境
#每个节点安装Python-setuptools工具,
yum -y install python-setuptools

#在控制节点,创建ceph配置文件目录
mkdir -p /etc/ceph

#在控制节点安装ceph-deploy
yum -y install ceph-deploy
2.#在三个节点安装ceph软件
yum -y install ceph
3.#在控制节点的ceph目录下
cd /etc/ceph

#获取节点信息
ceph-deploy new control compute

在这里插入图片描述

4.#查看节点获取的信息
more /etc/ceph/ceph.conf

#初始化mon 并收集秘钥
#一定要在cd /etc/ceph
cd /etc/ceph
ceph-deploy mon create-initial

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.#创建osd,/etc/ceph的目录
ceph-deploy osd create --data /dev/sdb control
ceph-deploy osd create --data /dev/sdb compute


#使用ceph-deploy下发配置文件和admin秘钥下发到所有节点
ceph-deploy admin control compute

在这里插入图片描述

6.#给每个节点的keyring增加读的权限
chmod +x /etc/ceph/ceph.client.admin.keyring

#查看ceph集群状态
ceph -s
ceph osd tree
#缺少mgr管理服务

在这里插入图片描述
在这里插入图片描述

7.#创建mgr管理服务
ceph-deploy mgr create control compute

CEPH集群处于健康状态
在这里插入图片描述

8.#创建三个与openstack对接的pool(volumes、vms、images)64是PG
ceph osd pool create volumes 64
ceph osd pool create vms 64
ceph osd pool create images 64

#查看CEPH状态
ceph mon stat
ceph osd status
#查看所创建的池	
ceph osd lspools	

在这里插入图片描述
在这里插入图片描述
这样CEPH集群就搭建好了,但是还没有与OpenStack集群做关联OpenStack里面的数据无法存储到CEPH之中。

安装CEPH控制台

1.#启用dashboard模块
ceph mgr module enable dashboard

#创建https证书
ceph dashboard create-self-signed-cert

#查看mgr服务,证书是由mgr生成
ceph mgr services

#设置账号密码,admin用户名,111111是密码
ceph dashboard set-login-credentials admin 111111  

在这里插入图片描述
通过8443端口登陆
在这里插入图片描述
这样就可以通过图形化界面去查看CEPH的使用情况和集群的健康状态。

OpenStack集群与CEPH对接环境初始化准备

1.#控制节点创建client.cinder并设置权限
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.glance并设置权限
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=images'
2.#传送秘钥到对接的节点,因为glance自身就装在控制节点所以不需要发送到其他的节点
ceph auth get-or-create client.glance |tee /etc/ceph/ceph.client.glance.keyring 
chown  glance.glance /etc/ceph/ceph.client.glance.keyring 

#将client.cinder节点 因为这个默认也是安装在controller上 ,所以不需要传递到其他节点,如果在其他节点就执行第一条语句
ceph auth get-or-create client.cinder | tee /etc/ceph/ceph.client.cinder.keyring
chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring

在这里插入图片描述

3.#同时也需要将client.cinder 传递到计算节点
#由于计算节点需要将用户的client.cinder用户的密钥文件存储在libvirt中,所以需要执行如下操作
ceph auth get-key client.cinder |ssh compute tee client.cinder.key 

到此群集的初始化已经完成了。

进行uuid认证和修改底层配置文件

1.#获取uuid认证
uuidgen
2b83fb33-a60e-4925-b63e-bb459807b7aa

#用如下内容创建一个秘钥文件确保使用上一步骤中生成唯一的UUID
cd /root
cat >secret.xml <<EOF
<secret ephemeral='no' private='no'>
   <uuid>2b83fb33-a60e-4925-b63e-bb459807b7aa</uuid>
   <usage type='ceph'>
    <name>client.cinder secret</name>
   </usage>
</secret>
EOF

在这里插入图片描述
这里的额uuid非常重要,因为在后面的OpenStack模块的验证中需要这个uuid所以一定要记下来。

2.#定义秘钥,并将其保存。后续步骤中使用这个秘钥
virsh secret-define --file secret.xml

#将secret.xml发送到其他节点上
virsh secret-define --file secret.xml
virsh secret-set-value --secret 2b83fb33-a60e-4925-b63e-bb459807b7aa --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
3.#控制节点执行
ceph osd pool application enable vms mon
ceph osd pool application enable images mon
ceph osd pool application enable volumes mon
CEPH启动监控三个资源池。

ceph对接glance模块

1.#登录到glance 所在的节点 然后修改

#备份配置文件
cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
2.修改glance的配置文件
[glance_store]
stores = rbd					修改存储的类型格式
default_store = rbd				修改修改默认的存储格式类型
#filesystem_store_datadir = /var/lib/glance/images/	将默认储存本地注销掉
rbd_store_chunk_size = 8			去掉注释			
rbd_store_pool = images			    去掉注释
rbd_store_user = glance			    去掉注释、指定glance用户,不知道可以查
rbd_store_ceph_conf = /etc/ceph/ceph.conf		去掉注释  指定CEPH配置文件的路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.#重启OpenStack-glance-api服务
systemctl restart openstack-glance-api

#检查glance服务,上传镜像格式为raw
4.#上传镜像
#查看ceph镜像大小
ceph df

#查看镜像id号
rbd ls images

在这里插入图片描述

ceph与cinder块存储对接

1.#在安装cinder的节点上备份cinder.conf配置文件
cp /etc/cinder/cinder.conf /etc/cinder/cinder.conf.bak
2.#修改cinder.conf,这里需要注意的是在[default]中将enabled_backends = ceph,lvm 修改为:enabled_backends = ceph

在这里插入图片描述

3.#在配置文件最后将[lvm]的内容全部注释,添加新的[CEPH].
#这里uuid为之前的uuidkeygen
[ceph]
default_volume_type= ceph
glance_api_version = 2  
volume_driver = cinder.volume.drivers.rbd.RBDDriver
volume_backend_name = ceph
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
rbd_user = cinder
rbd_secret_uuid = 2b83fb33-a60e-4925-b63e-bb459807b7aa
4.#重启cinder服务
systemctl restart openstack-cinder-volume
systemctl status openstack-cinder-volume

#查看cinder卷的类型有
source /root/keystonerc_admin
cinder type-list

在这里插入图片描述
在这里插入图片描述

5.#命令行创建cinder 的ceph存储后端相应的type 
source /root/keystone_admin
cinder type-create  ceph 

#设置后端的存储类型 volume_backend_name=ceph一定要顶格写不能有空格
cinder type-key ceph set volume_backend_name=ceph   

#创建一个卷,类型为ceph
#查看卷id
rbd ls volumes

在这里插入图片描述
在这里插入图片描述

Ceph与Nova 对接

1.#到一个计算节点,备份计算节点配置文件
cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
2.#修改所有计算节点配置文件
vi /etc/nova/nova.conf  
[libvirt]
images_type = rbd				去掉注释、修改类型RBD
images_rbd_pool = vms			去掉注释、改为VMS在CEPH中声明的
images_rbd_ceph_conf = /etc/ceph/ceph.conf	去掉注释、添加CEPH配置文件路径
rbd_user = cinder				去掉注释、添加cinder
rbd_secret_uuid =ef8a4912-5389-48dc-8142-5f7fb62b437c	去掉注释、添加UUID值
disk_cachemodes="network=writeback"		添加"network=writeback"硬盘缓存模式
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"		在live_migration附近添加整行  是否启用热迁移
hw_disk_discard=unmap		、去掉注释、添加unmap

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.#所有计算节点安装libvirt
yum -y install libvirt
4.#修改计算节点的ceph配置文件
vi /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

#设置权限
mkdir -p /var/run/ceph/guests/ /var/log/qemu/

chown 777 -R /var/run/ceph/guests/ /var/log/qemu/

#将控制节点的秘钥发给所有计算节点
cd /etc/ceph

scp ceph.client.cinder.keyring root@compute:/etc/ceph
5.创建实例

在这里插入图片描述
到此CEPH关联OpenStack中的cinder、glance和nova模块实验已经完成。本次实验流程很长,但是做好了准备做起来还是非常的顺利的。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值