- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
基于前面的openstack环境 。
glance的镜像默认情况下是存储在本地的,如果glance节点挂掉了,那么镜像也就不存在了,所以现在我们需要将glance的镜像存储在ceph集群上,这样即使glance节点挂掉了,其他的节点启动glance然后对接一下ceph,镜像依然是存在的 。
这里我们的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是对应的,说明镜像就是存在本地的,并且还是存在容器内部的 。
现在我们开始操作ceph,在ceph上要先创建池,然后创建用户授权,最后改glance的配置文件 。
[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
池就创建并初始化好了,接下来创建用户 。
[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下 。
先去管理主机创建一个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/
root@192.168.200.130'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个文件应该变成这个样子 。
[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 。
[root@openstack01 kolla]# source /root/.venv/kolla/bin/activate
(kolla) [root@openstack01 ~]# kolla-ansible -i multinode -t glance upgrade
等待ansible的剧本执行完,执行完之后我们再来上传一个镜像 。
现在我们的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集群内了 。
最后此篇关于glance对接ceph的文章就讲到这里了,如果你想了解更多关于glance对接ceph的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
大家好,我刚开始接触 ceph 对象存储,即 radosgateway,为此目的,已经推出了一个非常基本的单节点 ceph/daemon docker 容器,它对 s3cmd 和 java s3 AP
我正在使用 kubernetes v1.16.10 与 Ceph 13.2.2 模仿版 通过 进行动态卷配置的集群ceph-csi . 但后来我找到了 ceph-rbd Ceph RBD (kuber
我读过 this article调整 Ceph 的 block 大小可以提高其性能。那是怎么设置的? This document解释了如何设置 strip 大小。这就是第一篇文章中“ block 大小
我们使用 CEPH 集群来存储我们的虚拟机的图像。该集群包含 3 个监视器、4 个存储节点和 1 个管理员。 CEPH OSD 树 ID WEIGHT TYPE NAME UP/DOW
我正在尝试使用此处的快速入门指南设置 Ceph 存储集群:http://docs.ceph.com/docs/master/start/quick-ceph-deploy/ 当我尝试使用此命令部署管理
不久前,我们从 Ceph 集群中删除了两个损坏的 OSD,osd.0 和 osd.8。它们现在从大多数 Ceph 命令中消失了,但仍然以奇怪的设备名称出现在 CRUSH 映射中: # devices
我正在尝试使用rook在kubernetes集群上配置ceph,我已经运行了以下命令: kubectl apply -f common.yaml kubectl apply -f operator.y
我无法理解,我的 ceph 原始空间在哪里不见了。 cluster 90dc9682-8f2c-4c8e-a589-13898965b974 health HEALTH_WARN 72 pg
在 Internet 上运行 CEPH 集群时是否有任何安全问题? 我无法直接找到使其无法用于此用例的东西。我不需要低 I/O 响应时间,我很好。 谢谢你们。 最佳答案 虽然集群守护进程的身份验证由
我是 Ceph 的新用户。 我的 Ceph 服务器运行的是 12.2.5 版。它有 3 个节点,每个节点有 1 个 OSD 和 4TB HDD。 ceph.conf osd pool default
可以帮我解决以下问题。 我如何计算总可用的 ceph 存储空间。 假设我有 3 个节点,每个节点有 6 个 1TB 磁盘的 OSD。那是总共 18TB 存储(3* 6TB)。所有这些 18TB 空间都
因此Ceph在librbd中有一个用户空间页面缓存实现。它是否允许用户提及要分配给每个Pod的页面缓存量?如果是,我们可以动态更改分配吗? 最佳答案 根据项目github中的文档和问题,没有引用POD
在学习 Ceph 时,我不小心删除了 client.admin,使用 ceph auth del client.admin 现在我明白了 client.admin authentication err
我正在尝试在 Ceph Nautilus 14.2.19 上的 Centos 7 上手动创建 ceph-mds。 首先我在 /var/lib/ceph/mds 中创建了一个文件夹格式为 -mds.然后
我有一个带有 data_pool 的 66 个 OSD 的 Ceph 集群和一个 metadata_pool . 我想放置metadata_pool在 3 个具有 SSD 的特定 OSD 上,因为所有
我用 cephadm 配置了一个简单的 Ceph 集群,如下所示: cephadm bootstrap --mon-ip 192.168.0.4 ssh-copy-id -f -i /etc/ceph
我正在尝试使用 storageClass 设置我的 Kubernetescluster 和 Ceph 集群,这样每个 PVC 都会在 ceph 集群内自动创建一个新 PV。 但它不起作用。我已经尝试了
有人成功地使用 kubernetes 创建了一个在 docker 容器中安装 ceph rbd 的 pod 吗? 来自 kubernetes 的以下示例使用安装了 ceph 二进制文件的 Fedora
嘿,我正在尝试使用 Ceph 来存储一些数据,但有一个问题,我写入 Ceph 的内容和通过 librados++ 从 Ceph 读取的内容是不一样的。 所以我有这个简单的例子: #include #
在我的本地集群(4 个 Raspberry PI)中,我尝试配置 rgw 网关。不幸的是,该服务在 2 分钟后自动消失。 [ceph_deploy.rgw][INFO ] The Ceph Obje
我是一名优秀的程序员,十分优秀!