
ceph
老马农
这个作者很懒,什么都没留下…
展开
-
CEPH可靠性的计算方法分析
在开始正文之前,首先要感谢UnitedStack工程师朱荣泽对这篇博文的大力帮助和悉心指教。本文主要针对UnitedStack公司在巴黎峰会上对Ceph可靠性的计算方法(https://www.ustack.com/blog/build-block-storage-service/)做了一个更明确的分析和阐述,供对此话题感兴趣的朋友一起来讨论、研究,文章中如果有不当之处,还请各位高人指教。什么情况下数据会丢失?这个话题的另外一种提法就是存储的可靠性,所谓存储的可靠性最基本的一点就是数...转载 2020-05-09 18:02:31 · 1772 阅读 · 0 评论 -
Red Hat Ceph存储—《深入理解Ceph架构》
目录第1章 概览第2章 存储集群架构2.1 存储池2.2 身份认证2.3 PG(s)2.4 CRUSH2.5 I/O操作 2.5.1 副本I/O 2.5.2 纠删码I/O2.6 自管理的内部操作 2.6.1 心跳 2.6.2 同步 2.6.3 数据再平衡与恢复 2.6.4 校验(或擦除)2.7 高可用 ...转载 2020-04-26 15:40:22 · 288 阅读 · 0 评论 -
维护ceph的15条关键命令
1、ceph osd tree2、ceph osd df3 ceph osd dump从osdmap中获取信息4 ceph pg dump从pgmap中获取信息5 ceph pg map pg_id找到osd列表6 ceph daemon osd.x helposd_enable_op_tracker=truedebug_optracker=5/57 ceph da...转载 2020-04-23 11:03:45 · 522 阅读 · 0 评论 -
Red Hat Ceph存储—《深入理解Ceph架构》
目录第1章 概览第2章 存储集群架构2.1 存储池2.2 身份认证2.3 PG(s)2.4 CRUSH2.5 I/O操作 2.5.1 副本I/O 2.5.2 纠删码I/O2.6 自管理的内部操作 2.6.1 心跳 2.6.2 同步 2.6.3 数据再平衡与恢复 2.6.4 校验(或擦除)2.7 高可用 ...转载 2020-04-23 11:02:45 · 335 阅读 · 0 评论 -
ceph 网络模块
代码入手方式:1. osd的网络通信messenger在old.h中定义,如下图所示2. 然后查看cluster_messenger的创建。3. 再来查看internal_messenger的由来,是osd构造函数赋值的。4. 最后看看ms_cluster的创建,在osd初始化的时候创建的。以上,就是cluster_messenger...转载 2020-04-23 11:01:16 · 514 阅读 · 1 评论 -
BlueStore-先进的用户态文件系统《二》-BlueFS
简介上一篇文章中,介绍了BlueStore的诞生背景、逻辑架构以及设计思想,提到了在BlueStore中元数据都是存放在RocksDB中的,BlueStore又实现了一个轻量级的文件系统BlueFS供RocksDB读写数据。在本篇文章中将会描述BlueFS的设计缘由和设计原理。为什么要BlueFS?BlueStore使用RocksDB来管理元数据,但是RocksDB本身并不支持对裸...转载 2020-04-14 18:00:16 · 645 阅读 · 0 评论 -
Ceph体系结构
Ceph 独一无二地用统一的系统提供了对象、块、和文件存储功能,它可靠性高、管理简便、并且是自由软件。 Ceph 的强大足以改变贵公司的 IT 基础架构、和管理海量数据的能力。Ceph 可提供极大的伸缩性——供成千用户访问 PB 乃至 EB 级的数据。Ceph 节点以普通硬件和智能守护进程作为支撑点,Ceph 存储集群组织起了大量节点,它们之间靠相互通讯来复制数据、并动态地重分布数据。...转载 2019-11-12 11:11:07 · 236 阅读 · 0 评论 -
Ceph系统架构与基本概念
Ceph系统架构与基本概念Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式存储系统。“统一”表示Ceph一套存储系统可以同时提供对象存储、块存储和文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署和运维。“分布式”表示Ceph系统是真正的无中心结构和没有理论上限的系统规模可扩展性,在实践当中,Ceph可以被部署于上千台服务器上。作者:Younger Li...转载 2019-11-12 11:06:12 · 226 阅读 · 0 评论 -
ceph rbd:librbd的异步操作流程
总体在librbd中的代码中,几乎所有的操作都是异步的,下面以一段代码为例,分析其操作流程。下面的代码是rbd 创建image流程中,创建id obj的步骤。其最终效果是在rbd对应的pool中创建一个名为rbd_id.<image name>的对象,该对象的内容为rbd的id。 // 创建一个op对象,后续的操作会先存入该对象,不会被执行 // 所有存入的操作会按...转载 2019-11-11 15:53:59 · 1147 阅读 · 0 评论 -
【Ceph】OSD , OSDMap 和 PG, PGMap
Ceph致力于提供PB级的集群存储能力,并且提供自动故障恢复,方便的扩容和缩容能力,这些能力在典型的分布式存储系统就需要 Metadata Server 来提供,因为完全分布式系统对于数据迁移和扩容有着非常强的痛点,但是 Metadata Server 另一方面又需要避免单点故障和数据瓶颈的问题。,在这里,Ceph 要提供更自由和更强大的集群自动故障处理和恢复能力,这使得 Metadata S...转载 2019-11-11 10:27:33 · 334 阅读 · 0 评论 -
Ceph源码解析:读写流程
一、OSD模块简介1.1 消息封装:在OSD上发送和接收信息。cluster_messenger -与其它OSDs和monitors沟通client_messenger -与客户端沟通1.2 消息调度:Dispatcher类,主要负责消息分类1.3 工作队列:1.3.1 OpWQ: 处理ops(从客户端)和sub ops(从其他的OSD)。运行在op_tp线程池。1....转载 2019-11-09 18:04:32 · 1646 阅读 · 0 评论 -
ceph的数据存储之路(4) ----- rbd client 端的数据请求处理
2016-11-01更新 start:--------------------------------------------------------------------------------------最近比较多的人私下问我,改了ceph的源码,重新编译了,但是在使用本节提供的python脚本测试librbd的时候出现了错误,怎么解决出现的这个错误。这应该是个好现象,很多人都深入到代码...转载 2019-11-09 16:45:13 · 1349 阅读 · 0 评论 -
Ceph学习——Librados与Osdc实现源码解析
LibradosRadosClient类IoctxImplAioCompletionImplOSDCObjectOperation 封装操作op_target 封装PG信息Op 封装操作信息分片 Striper本文介绍Ceph客户端方面的某些模块的实现。客户端主要是实现了接口,对外提供访问的功能。上层可以通过接口来访问Ceph存储。Librados 与 Osdc 位于Ceph客户...转载 2019-11-09 11:05:17 · 553 阅读 · 0 评论 -
ceph的librados api解释
librados 的模块用于在客户端用来访问 rados对象存储设备, 其结构图如下:如上图所示,各个模块的架构图。librados就是 操作 rados 对象存储的接口。 其接口分为两种:一个是c 接口,其定义在include/librados.h 中。 一个是 c++ 接口,定义在include/librados.hpp中,实现都在librados.cc中实现。本文档主要从流程上阐...转载 2019-11-09 10:56:58 · 933 阅读 · 0 评论 -
解析Ceph和9000分布式存储
http://www.360doc.com/content/17/0822/09/46248428_681150085.shtml Ceph是呼声很高的开源分布式的SDS产品存储系统。同时提供对象存储、块存储和文件系统存储三种功能,满足不同应用需求。Ceph使用C++语言开发,遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph...转载 2019-11-09 10:52:20 · 513 阅读 · 0 评论 -
Ceph Monitor源码机制分析
0 前言最近终于有点时间可以看看Ceph的代码了,接下来准备就Ceph monitor这个Ceph集群中最重要的组件进行深入的分析。1 Monitor的作用Monitor在Ceph集群中扮演着管理者的角色,维护了整个集群的状态(抽象成几张map,包括osdmap、monmap、mdsmap、auth、log等),保证集群的相关组件在同一时刻能够达成一致,相当于集群中的领导层。之所以说是相关...转载 2019-11-09 10:43:51 · 1495 阅读 · 0 评论 -
Ceph介绍及原理架构分享
1. Ceph架构简介及使用场景介绍1.1 Ceph简介Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。...转载 2019-11-09 10:42:57 · 232 阅读 · 0 评论 -
Ceph源码目录架构
1 简介该代码架构基于版本10.0.5整理,先整理根目录里的代码,再整理出src目录的架构。2 代码架构2.1 Ceph源码根目录Ceph的根目录下包含了一些文件夹和若干编译、代码格式相关的文件。[admin]:架设Document服务器,包括依赖内容并介绍修改doc的流程。[bin]:目前只包含一个在当前目录针对所有内容生产tar包的脚本[cmake]:Ceph对cmake...转载 2019-11-09 10:37:54 · 231 阅读 · 1 评论 -
ceph存储引擎bluestore解析
转自: http://www.sysnote.org/2016/08/19/ceph-bluestore/ceph后端支持多种存储引擎,以插件式的方式来进行管理使用,目前支持filestore,kvstore,memstore以及最新的bluestore,目前默认使用的filestore,但是因为filestore在写数据前需要先写journal,会有一倍的写放大,并且filestore一开转载 2017-09-12 10:08:15 · 5125 阅读 · 0 评论 -
Ceph网络模块(3)——AsyncMessenger代码流程分析
1、消息模块的生命周期如图所示以OSD为例描述了消息模块的生命周期,本文如果没有特殊说明均指的是OSD守护进程。在守护进程的main()函数中首先注册并创建了一个Messenger,然后对注册的Messenger进行绑定,绑定后开启消息模块进行工作,消息模块启动后即启动OSD的初始化,在OSD的初始化中让Messenger处于ready状态,即准备工作状态。当消息模块工作结束后处于wait转载 2017-09-02 22:22:03 · 751 阅读 · 0 评论 -
Ceph网络模块(2) - AsyncMessenger数据结构分析
本文主要介绍AsyncMessenger的代码框架结构和主要使用到的数据结构上图表示Ceph的AsyncMessenger模块中各个关键类之间的联系。在AsyncMessenger模块中用到的类主要有14个,下面逐一介绍每个类的作用,以及其中包含的主要成员变量和方法。1、 AsyncMessenger类、SimplePolicyMessenger类和Messenger类Asyn转载 2017-09-02 22:03:11 · 623 阅读 · 0 评论 -
Ceph性能测试工具和方法。
转载:http://www.cnblogs.com/gaohong/p/5818086.html0. 测试环境同 Ceph 的基本操作和常见故障排除方法 一文中的测试环境。1. 测试准备1.1 磁盘读写性能1.1.1 单个 OSD 磁盘写性能,大概 165MB/s。root@ceph1:~# echo 3 > /proc/sys/vm/drop_cachesr转载 2017-09-13 17:16:41 · 2144 阅读 · 0 评论