Ceph: vdbench 测试ceph存储rbd块设备

目录

2.搭建ceph

3.vdbench环境


准备

笔记本架构:x86 i5 8 代

虚拟化软件:virtualBox 7.0

操作系统:CentOS Linux release 7.9.2009 (Core)

测试虚拟机操作系统:CentOS Linux release 7.9.2009 (Core)

节点

外部网络

内部网络

Server205

172.17.11.205

192.168.56.101

Server206

172.17.11.206

192.168.56.108

Server207

172.17.11.207

192.168.56.109

节点之间做主机名映射

 

为了省事,关闭防火墙

节点之间做ssh免密互信,注意每个节点都执行以下命令:

Ssh-keygen -t rsa

Ssh-copy-id server20*

每个节点检测java环境喝pip环境,如无请安装

Yum install java -y

Yum install -y python-pip

节点间同步时间,每个节点都执行:

Yum install ntpdate

为了省事,直接同步aliyun的时间,每个节点执行:

ntpdate  ntp.aliyun.com

思想准备:

每个节点上的数据盘符和数据盘数量尽量保持一致

三节点上的3副本上创建的块存储,在默认情况下只能有3分之一的容量可用

2.搭建ceph

Ceph版本:2.0.1

Ceph工作流程概要:

最小的存储单元是object,object分组为pg,pg是ceph分布式核心设计,因为其可以在离客户端最近的osd上进行注册。Osd是ceph的核心程序是最基础的请求响应的进程服务,osd将注册在集群cluster map中,客户端通过访问map获取离自己最接近的osd位置,然后与其建立直接通信,最终在数据网络中形成客户端到具体服务进程的P2P的请求相应模式。客户端和osd是多对多关系,osd分布在不同的宿主机上,通过crush算法进行数据的位置分配,并通过ec,通过多副本和EC校验完成数据的可靠性和一致性。

ceph是高性能,高兼容性的统一存储,提供对象、块、文件的存储。本次测试主要针对块设备。块设备在服务器中体现为rbd进程服务,在集群创建好之后,首先需要创建一个资源池,将节点上的数据盘进行接管,然后通过rbd进程进一步将其划分为不同的块文件,最终将rbd挂载在不同的文件目录下完成云硬盘的创建,保障虚拟机磁盘生效和运行。

本册ceph搭建、以及存储池的创建,rbd的创建请参考“aa一叶知秋aa博主的连接,其中有我时间过程中的问题和知识点交流过程,可以参考:

Ceph分布式存储系统的介绍及详细安装部署过程:详细实战版(保姆级)_存储部署-CSDN博客

Ceph----RBD块存储的使用:详细实践过程实战版-CSDN博客

Ceph的监控工具Dashboard安装部署,详细实战过程_ceph dashboard启动-CSDN博客

  1. RBD分布状态,三个节点都应如下现象是正确的

3.vdbench环境

下载vdbench:

解压到每个节点并安装固定的目录下

这里提供vdbench的学习网址一篇:

【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch - bdy - 博客园 (cnblogs.com)

在这里分享一下我的test配置文件

  1. 附带配置文件 执行vdbench

以下是最终分析结果

  • 15
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ceph是一个分布式存储系统,包括多个组件,其中包括Librbd存储库。在Ceph中,Librbd提供了一种将RBD块设备)映射到客户端的方法,并使客户端能够读写这些设备。在本文中,我们将分析Librbd存储库的源代码以及RBD的读写过程。 1. Librbd源码分析 Librbd存储库的源代码位于src/librbd目录下。其中,包括librbd.cc、ImageCtx.cc、ImageWatcher.cc、Journal.cc等多个源代码文件。这些源代码文件组成了Librbd存储库的核心。 其中,librbd.cc是Librbd存储库的主要源代码文件。在这个文件中,包括了Librbd的初始化、映射、卸载等方法。ImageCtx.cc则是Image上下文,用于管理Image的状态、锁定、映射等信息。ImageWatcher.cc用于监控Image的状态变化,Journal.cc则是Librbd的Journal日志管理。 2. RBD读写流程源码分析 在Ceph中,RBD由client和server两个部分组成。client在客户端上运行,提供了将RBD映射到客户端的方法。server在存储集群中运行,提供了RBD存储和管理。 RBD的读写流程如下: 1)客户端向Ceph Monitor请求RBD映射信息,Monitor返回Image ID和Image特性; 2)客户端向Ceph OSD请求RBD数据块,OSD返回数据块内容; 3)客户端将数据写入或读取到本地块设备; 4)客户端向Ceph OSD写入或读取数据块,OSD返回操作结果; 5)客户端向Ceph Monitor请求解除RBD映射,Monitor返回解除结果。 在上述过程中,涉及到的源代码文件有:librbd.cc、ImageCtx.cc、ImageWatcher.cc、Journal.cc等。 总结 Librbd存储库和RBD读写流程是Ceph存储系统的核心组件之一,通过分析源代码可以更加深入地了解Ceph存储系统的实现原理。同时,对于开发者来说,也有助于在Ceph存储系统上构建更加高效、稳定的存储应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千码君2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值