每天5分钟复习OpenStack(十五)Ceph与Bcache结合

news/2024/9/19 3:30:22/文章来源:https://www.cnblogs.com/alex0815/p/18397410

上一章我们成功部署了bcache,这一章我们将Ceph与Bcache结合来使用,使用Bcache来为ceph的数据盘提速。

1 ceph 架构

一个标准的ceph集群可能是如下的架构,SSD/NVME 存储元数据,而SATA盘存储数据。这样的架构下,物理介质的SATA盘读写速率上限决定了存储集群Ceph的上限(木桶效应)。如果在此架构下我们给SATA盘加上一层缓存层.


在官方文档中给出了缓存层的结构如下

其整体思路都是一样,只是缓存层的方案因此长时间没有人维护。目前还处在非生产可用阶段 。

而bcache 技术则是经过了时间的洗礼,在ceph缓存技术中是比较成熟的方案。

则采用Bcache存储架构变成了如下架构。

在此架构下我们将Bcache的模式修改为writeback模式,则在使用缓存的情况下Ceph对数据盘写入性能得到了极大的提升。在生产环境中我们只需要专注于解决增加缓存的命中率即可。实际上大多数生产环境正是这么做的。

2 部署

在第十三章中我们介绍了ceph单节点的部署,如果你还没有一个单节点的ceph环境,那赶紧跳转回去,在自己的虚拟机环境上搭建一个最小的ceph环境。
我们只需要在ceph osd部署时将 --data 盘的参数指向bcache 则即可以完成上述架构的部署

ceph-volume --cluster ceph lvm create  --bluestore \--data /dev/bcache0 --block.db /dev/sde1 ceph-volume --cluster ceph lvm create  --bluestore \--data /dev/bcache1 --block.db /dev/sde2ceph-volume --cluster ceph lvm create  --bluestore \--data /dev/bcache2 --block.db /dev/sde3

此时的--data 指定了数据盘为bcache0 、bcache1、bcache2,sde盘的分区1、2、3 则对应了block.db 。

此时在查看ceph集群的状态

3 思考

每一个数据盘都对应一个三级目录结构如下

sdd                                                                        
└─bcache0                                         └─ceph--f015264a--34a3--484e--b17a--1811290fea04-osd--block--c6b8e971--5246--46db--93f8--0ceda4626015

3.1 其中这一长串都是到底是什么?


知晓LVM是什么的小伙伴可以清晰看出,右边这一侧是LV(Logical Volume编号,而左边这一侧是 VG (Volume Group)编号。

我们知道,LVM --VG --PV 对应一个三级结构,因此知道了VG ,通过 vgdisplay pvdisplay 就能知晓了PV ,而PV 一般就是一个分区或磁盘,此时对应ceph集群就是BcacheX,此时X是Bcache的编号。通过Bcache的编号,在结合lsblk 就知晓了真正存储数据的后端数据盘的盘符。

注意 lsblk输出的VGLV编号分隔符是带两个--而,vgdisplaylvdisplay都是一个-做为分隔符,因此在搜索时过滤最后1段就行)

3.2 为什么我们要知晓这些?或者换一句话说知道这些有什么用了?

我们知道ceph的数据盘在ceph中表现为一个osd.2 等数字,现在问题来了,如果osd.2 坏了需要换盘,你怎么知道osd.2对应的数据盘是哪一块盘了?

总结下来就是如下图所示

从图中可以知道osd 对应编号 和磁盘的对应关系,那和VG LVM编号又有什么关系了,通过osd的安装目录就已经知晓了 磁盘和osd的对应的关系。管他什么LV VG了。

我们试想一个这样一个场景如果bcache2坏了,此时lsblk显示的ceph字段自然也不存在了?你怎么关联osd编号和磁盘的对应关系了?此时VG和PV就派上了用途。

因此作者建议在学习时,不要做一个工具人,而是要做到知其然也要知其所以然。

3.3 有没有简单命令 一眼就能看出的其对应关系的 ?

ceph-volume lvs list 命令就可以直接实现

写在最后:

目前我们已经完成了一个最小化的ceph集群,ceph作为一个分布式存储,知晓其概念,并进行维护是一项艰巨的任务,记下来我们将从理论到实践,重点阐述下ceph运维技巧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792301.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

青岛-烟台-威海攻略

烟台 朝阳街-烟台山-所城里朝阳街 漫心酒店外小熊烟台山 烟台开埠陈列馆 烟台京剧艺术馆 冰心纪念馆 烟台地标 烟台山灯塔 旗袍博物馆所城里 宣化城墙金沙滩-滨海中路-渔人码头金沙滩城市展示中心 新城北街养马岛 可以在岛上租电驴 需要一整天酒店推荐烟台站附近 Day1 芝罘湾广…

探索Matplotlib-Gallery:Python数据可视化的游乐园

探索matplotlib-gallery:Python数据可视化的游乐园在数据科学的世界里,数据可视化是一个不可或缺的工具,它帮助我们理解数据、发现模式、并传达信息。Matplotlib是Python中最强大的数据可视化库之一,而其Gallery则是一个展示各种可视化技巧和图表类型的宝库。今天,我们将一…

freeRTOS源码解析4--task.c 2

4、task.c解析 时隔两年,还是决定继续把这个系统解析完成,有始有终。不过这次源码又从官网上下载了最新的,可能和我以前看的略有区别,但应该基本不影响理解。 接下来正式开始。4.1.3 新增或是遗漏的两个宏1 /* Returns pdTRUE if the task is actively running and not…

Charles - 夜神模拟器证书安装App抓包-charles监控手机出现unknown 已解决

1.Openssl安装 http://slproweb.com/products/Win32OpenSSL.html exe下载安装后进行配置 新建系统变量OPENSSL_HOME,变量值设为(绝对路径)软件安装目录下的bin 直接浏览 编辑用户变量path,新建%OPENSSL_HOME%,最后点击确定 查看openssl版本,输入命令:openssl version2.夜…

基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真

1.课题概述基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,对比UKF,EKF迭代UKF,迭代EKF四种卡尔曼滤波的控制效果。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a%迭代扩展卡尔曼滤波 X_iukf = zeros(2, Times1); X_iukf(:,1) = state0; P_iukf = zeros(2…

支持大模型的小模型

https://www.arxiv.org/pdf/2408.12748 (SLM Meets LLM: Balancing Latency, Interpretability and Consistency in Hallucination Detection )平衡会话 AI 幻觉检测中的延迟、可解释性和一致性 介绍 大型语言模型(llm)在实时任务(如同步的会 话 ui)中与延迟作斗争。 当额外的…

基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序

1.算法运行效果图预览 (完整程序运行后无水印)将FPGA仿真结果导入到matlab显示结果:测试样本1测试样本2测试样本32.算法运行软件版本 vivado2019.2matlab2022a3.部分核心程序 (完整版代码包含注释和操作步骤视频)`timescale 1ns / 1ps // // Company: // Engineer: // //…

exkmp/Z函数

扩展 KMP/exKMP(Z 函数) 首先我们求出 \(ne\) 数组。代表 \(b\) 与 \(b\) 的每一个后缀的最长公共前缀长度。 我们设当前要求 \(ne_x\),且 \(k\) 为使得 \(p=k+ne_k-1\) 最大的位置且 \(0\le k<x\)。于是我们得到了两个蓝块相同。再通过这个图,得出两个绿块相等。

群晖搭建个人图书馆

概述 本文依赖于 github 项目 talebook (https://github.com/talebook ) 本文依赖于 github 项目(GitHub - cxfksword/douban-api-rs: 简单的豆瓣api,主要用于在jellyfin中刮削电影信息) 其实就是面向于新手的个人图书馆项目搭建,但是作者本人也是新手[/笑哭]。 搭建 tale…

业务类中处理点赞、收藏和浏览量

在对点赞、收藏和浏览量进行操作时,获取分布式锁,以确保并发情况下数据的准确性。 先更新缓存,然后将更新数据库的操作放入消息队列中异步处理,以提高响应速度。 缓存预热 在系统启动或定期将热门文章的相关数据加载到缓存中,减少首次访问时的数据库查询。描述 点赞、收藏…

极速全景图下载出错显示Permission denied怎么回事

在极速全景图下载大师下载拼接全景图的过程中, 出现了错误, 提示错误信息: creating file kvmem_xxxxx_xxxxx.swap failed: Permission denied (errno=13)经过排查, 上述错误是由以下原因导致的: - 系统运行内存不足, 导致在拼接过程无法创建缓存文件, 导致出错 解决方案: 检查…

关于园子求救信有感

毕业七年了,写了七年的博客,养成了记录的习惯。7年写了800篇随笔,很杂。前端,java,mysql,linux,php用到啥学啥,学到啥就记录啥。 最近不是很好,工作且算顺利,七年的爱情摇摇欲坠,未来很是模糊,说起来有写记录的习惯也是源于恋爱日记,现在看来全是泪啊。 前几天,看…