首页 > 其他分享 >glance对接ceph

glance对接ceph

时间:2024-10-08 21:33:40浏览次数:1  
标签:对接 ceph 镜像 glance root openstack01 kolla

目录

glance对接ceph

基于前面的openstack环境

glance的镜像默认情况下是存储在本地的,如果glance节点挂掉了,那么镜像也就不存在了,所以现在我们需要将glance的镜像存储在ceph集群上,这样即使glance节点挂掉了,其他的节点启动glance然后对接一下ceph,镜像依然是存在的

1. 上传镜像

这里我们的glance目前还没有对接ceph,现在上传一个镜像来看看他是不是存在本地

[root@openstack01 ~]# source .venv/kolla/bin/activate
(kolla) [root@openstack01 ~]# source /etc/kolla/admin-openrc.sh

下载一个cirros镜像

(kolla) [root@openstack01 ~]# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
(kolla) [root@openstack01 kolla]# openstack image create --disk-format qcow2 --container-format bare --progress  --public --file /root/cirros-0.4.0-x86_64-disk.img test_image 

(kolla) [root@openstack01 kolla]# openstack image list
+--------------------------------------+------------+--------+
| ID                                   | Name       | Status |
+--------------------------------------+------------+--------+
| c5d3998d-51a7-4732-9cd9-fb34ff2d3e94 | cirros     | active |
| 1add255d-d797-4c5a-8e74-f902ca3c45b6 | test_image | active |
+--------------------------------------+------------+--------+

这样,一个镜像就上传好了。来看看他是不是将镜像存在本地了

(kolla) [root@openstack01 kolla]# openstack image show test_image |grep file |head -1
| file             | /v2/images/1add255d-d797-4c5a-8e74-f902ca3c45b6/file 

他的回显是/v2/images/1add255d-d797-4c5a-8e74-f902ca3c45b6/file 这个路径,直接进入glance容器内

(kolla) [root@openstack01 kolla]# docker exec -it glance_api /bin/bash
(glance-api)[glance@openstack01 /]$ cd /var/lib/glance/images/
(glance-api)[glance@openstack01 /var/lib/glance/images]$ ls
1add255d-d797-4c5a-8e74-f902ca3c45b6  c5d3998d-51a7-4732-9cd9-fb34ff2d3e94

这个目录下有2个文件,每个文件都与我们的镜像ID是对应的,说明镜像就是存在本地的,并且还是存在容器内部的

2. 对接ceph

现在我们开始操作ceph,在ceph上要先创建池,然后创建用户授权,最后改glance的配置文件

2.1 创建池

[root@ceph ~]# ceph osd pool create images
pool 'images' created
[root@ceph ~]# ceph osd pool application enable images rbd
enabled application 'rbd' on pool 'images'
[root@ceph ~]# rbd pool init -p images

池就创建并初始化好了,接下来创建用户

2.2 创建用户

[root@ceph ~]# ceph auth get-or-create client.glance mon 'profile rbd' osd 'profile rbd pool=images' -o /etc/ceph/ceph.client.glance.keyring

glance用户的密钥环就输出到了/etc/ceph下

2.3 下发ceph文件

先去管理主机创建一个glance目录

管理主机也就是当时部署openstack的那台机器

[root@openstack01 config]# cd /etc/kolla/config/
[root@openstack01 config]# mkdir glance

将ceph.conf和glance用户的密钥环发送到管理主机的/etc/kolla/config/

[root@ceph ~]# scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.glance.keyring 192.168.200.130:/etc/kolla/config/glance/
[email protected]'s password: 
ceph.conf                                                           100%  181   256.9KB/s   00:00    
ceph.client.glance.keyring                                          100%   64    67.6KB/s   00:00 

注意一个坑,在管理主机上打开这2个文件,将里面的缩进给删除,或者将缩进改为空格键,不然会报错,因为等会升级glance是使用ansible读取配置,yaml是不允许tab键的

[root@openstack01 glance]# cat ceph.conf 
# minimal ceph.conf for 601f8e36-2faa-11ef-9c62-000c294ff693
[global]
fsid = 601f8e36-2faa-11ef-9c62-000c294ff693
mon_host = [v2:192.168.200.100:3300/0,v1:192.168.200.100:6789/0]

[root@openstack01 glance]# cat ceph.client.glance.keyring 
[client.glance]
key = AQD+d5JmAtybHBAARluqjWc6/W4xYoWPC4VHXA==

最后这2个文件应该变成这个样子

2.4 修改globals文件

[root@openstack01 kolla]# vim globals.yml 
ceph_glance_user: "glance"
ceph_glance_keyring: "client.{{ ceph_glance_user }}.keyring"
ceph_glance_pool_name: "images"
glance_backend_ceph: "yes"
glance_backend_file: "no"

这里的keyring不要在前边加上ceph.因为等会执行的时候ansible会自动给带上,写上了反而报错

将globals文件改为这样就可以了,然后我们执行升级glance

2.5 更新glance配置

[root@openstack01 kolla]# source /root/.venv/kolla/bin/activate
(kolla) [root@openstack01 ~]# kolla-ansible -i multinode -t glance upgrade 

等待ansible的剧本执行完,执行完之后我们再来上传一个镜像

3. 上传镜像到ceph

现在我们的glance配置文件就已经自动更新好了,接下来我们上传一个镜像看看是不是存在ceph集群里面了

(kolla) [root@openstack01 ~]# openstack image create --disk-format qcow2 --container-format bare --public --file ./cirros-0.4.0-x86_64-disk.img ceph_test_image
(kolla) [root@openstack01 ~]# openstack image list
+--------------------------------------+-----------------+--------+
| ID                                   | Name            | Status |
+--------------------------------------+-----------------+--------+
| cfe7ca03-896d-4020-90e8-bc45e71068aa | ceph_test_image | active |
| c5d3998d-51a7-4732-9cd9-fb34ff2d3e94 | cirros          | active |
| 1add255d-d797-4c5a-8e74-f902ca3c45b6 | test_image      | active |
+--------------------------------------+-----------------+--------+

还是进入容器去查看

(glance-api)[glance@openstack01 /var/lib/glance/images]$ ls
1add255d-d797-4c5a-8e74-f902ca3c45b6  c5d3998d-51a7-4732-9cd9-fb34ff2d3e94

通过这里可以看见,他的回显依然是2个,也就是本地只存了2个,第3个镜像存到ceph里去了,我们回到ceph集群来查看

[root@ceph ~]# rbd ls -p images
cfe7ca03-896d-4020-90e8-bc45e71068aa

他给我们的回显正好是镜像的ID,确实已经存储到ceph集群内了

标签:对接,ceph,镜像,glance,root,openstack01,kolla
From: https://www.cnblogs.com/fsdstudy/p/18453098

相关文章

  • Go语言对接微信支付与退款全流程指南
    目录:一、准备工作二、初始化微信支付客户端三、实现支付功能1.付款时序图2.实现不同场景下的支付WAP端支付PC端支付Android端支付3.解析支付回调四、实现退款功能退款时序图发起退款解析退款回调五、总结在互联网技术日益发展的今天,线上支付已成为不可或缺的一......
  • CEPH 运维记录
    基于l版本。1、osd状态ceph-sactive:PG处于活动状态,正在处理读写请求。clean:PG中的所有对象都是最新的,所有副本都已同步,没有缺失或未完成的操作。scrubbing:PG正在进行数据校验过程,确保所有数据都是一致的。Scrubbing是定期的检查,以防止数据损坏。deep:表示正在进行深......
  • Recaptcha2 图像识别 API 对接说明
    Recaptcha2图像识别API对接说明本文将介绍一种Recaptcha2图像识别2API对接说明,它可以通过用户输入识别的内容和Recaptcha2验证码图像,最后返回需要点击的小图像的坐标,完成验证。接下来介绍下Recaptcha2图像识别API的对接说明。申请流程要使用API,需要先到Re......
  • 物联网虚拟仿真系统对接ThingsBoard云平台实现数据的读取与组态控制
    面对物联网相关课程缺少设备或者设备难管理的问题,我们设计了一套物联网虚拟仿真系统,系统集成了多种虚拟传感器和网关设备,无需实体硬件即可模拟真实物联网环境。系统支持HTTP、modbusRTU、modbusTCP、MQTT、websocket等通信协议对接,因此支持app开发、微信小程序、web前端开发、......
  • 什么是优惠充值话费接口?如何对接?
    一、了解话费充值API接口话费充值API接口的定义:话费充值API接口是能够让大家实现话费充值平台的一个接口,只有接入了话费充值API接口才能够实现话费充值,它适用于对话费充值有长期稳定需求的企业或者商家。API接口充值与批量充值对比批量充值:操作简单,只要将号码和金额复制到表......
  • 踩坑集之demosaic对接VDMA
    免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。读者在使用本文信息时,应自行验......
  • uniapp [安卓苹果App端] - 详细实现手机蓝牙连接打印机及打印票据小票/标签/面单/热敏
    前言网上的教程乱七八糟,文本提供优质示例代码。在uni-appApp端(安卓APP|苹果APP)开发中,详解实现“手机蓝牙连接并使用蓝牙打印机”,uniAppApp端手机使用蓝牙连接打印机进行打印的相关功能,uniapp苹果安卓app实现开启蓝牙并搜索附近范围的蓝牙打印机对接全流程,支持打印......
  • API接口对接全攻略:从入门到精通
    在数字化时代,API(应用程序接口)已经成为了不同软件系统间信息交互的桥梁。对于开发者而言,掌握API接口的对接技术,无疑是通往更高效、更智能的软件开发之路的钥匙。本文将为大家提供从入门到精通的API接口对接全攻略,助力您在API的世界里游刃有余。​​​​​​一、入门篇:初识API接口......
  • API 接口是什么?怎么对接 API?
    API接口解释API接口(ApplicationProgrammingInterface,应用程序编程接口)是一组预定义的方法和协议,用于与某个软件组件或系统进行交互。API定义了软件组件之间的通信方式,允许不同的应用程序之间进行数据交换和功能调用。简而言之,API接口是一种接口标准,通过它,软件系统允许其他软......
  • vue3对接-捷宇SDK高拍仪
    vue3对接捷宇的sdk高拍仪。一般来说拿到捷宇对接资料,拿到控件,安装到需要的机器上不同的设备型号,插件会不一样,捷宇只适合windos系统。对接资料大概这些在对应的机器上安装控件(如果控件版本较老,则只支持IE浏览器)控件无脑安装就行,控件安装完成后需要去注册表搜索......