
ceph核心理论
勤学-365
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ceph CRUSH
文章目录引言计算PGCeph中的逻辑层Ceph中的物理层使用HASH代替CRUSH?引入CRUSH算法CRUSH算法的应用CRUSH里的虚虚实实Ceph中的CRUSH总结 引言 把一份数据存到一群Server中分几步? Ceph的答案是:两步。 1、计算PG 2、计算OSD 计算PG 首先,要明确Ceph的一个规定:在Ceph中,一切皆对象。 不论是视频,文本,照片等一切格式的数据,Ceph统一将...原创 2020-01-27 10:07:16 · 358 阅读 · 0 评论 -
ceph-cache-tier
缓存池原理** 缓存分层特性也是在Ceph的Firefly版中正式发布的,这也是Ceph的Firefly版本中被谈论最多的一个特性。缓存分层是在更快的磁盘(通常是SSD),上创建一个Ceph池。这个缓存池应放置在一个常规的复制池或erasure池的前端,这样所有的客户端I/O操作都首先由缓存池处理。之后,再将数据写回到现有的数据池中。客户端能够在缓存池上享受高性能,而它们的数据显而易见最终是被写入...原创 2020-01-27 10:08:57 · 3033 阅读 · 0 评论 -
有限状态机
一、基本概念 英语:Finite-state machine简称FSM,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型 二、概念术语: 状态:存储过去的信息,就是说:它反映从系统开始到现在时刻的输入变化 转移:指示状态变更,并且用“满足确使转移发生的条件”来描述它 动作:在给定时刻要进行的活动的描述 a、进入动作:在进入状态时进行 b、退出动作:在退...原创 2020-01-27 10:32:54 · 619 阅读 · 0 评论 -
ceph秘钥管理机制
文章目录引言CephX 是什么?CephX 的命名规则默认用户谁才是 CephX 中的鼻祖?CephX 使用场景MONOSDClient细说 capsMON权限介绍r 权限w 权限x 权限* 权限profile osd 权限OSD丢失所有秘钥的恢复流程cephx -> nonekeyring 的分布配置只能访问一个RBD的用户权限总结 引言 这篇文章主要介绍了 Ceph 中的一个重要系统 –...原创 2020-01-27 10:08:44 · 3158 阅读 · 0 评论 -
rocksdb配置参数
配置参数: 参数含义 附加说明 [DBOptions] new_table_reader_for_compaction_inputs=false recycle_log_file_num=0 avoid_flush_during_shutdown=false skip_stats_update_on_db_open=false use_dir...原创 2020-01-27 10:32:58 · 4296 阅读 · 0 评论 -
Ceph BlueStore BlueFS
文章目录IntroductionData StructureBlueFS InitConfigMetricSummary Introduction BlueStore存储引擎实现中,需要存储数据和元数据。由于kv存储系统自身的高效性以及对事务的支持,所以选择kv存储元数据是理所当然的(对象的omap属性算作数据,也是存放在kv中的)。Luminous目前默认采用RocksDB来存储元数据(Rock...原创 2020-01-27 10:08:33 · 805 阅读 · 0 评论 -
浅谈分布式存储之SSD基本原理
文章目录前言SSD简介闪存基础存储原理读写流程GC机制Trim机制Bit-ErrorRead-DisturbProgram-DisturbIO抖动因素 前言 随着制造工艺的不断进步,SSD(Solid State Drive)性能和容量不断突破,价格不断降低,迎来了快速的发展,目前已经是商用服务器、高性能存储服务中非常流行的存储介质。作为开发人员,需要了解SSD的基本原理,以便开发时能更好地发挥其...原创 2020-01-27 10:08:27 · 2382 阅读 · 1 评论 -
BlueStore源码分析之事物状态机
文章目录前言状态机queue_transactionsSTATE_PREPARESTATE_AIO_WAITSTATE_IO_DONESTATE_KV_QUEUEDSTATE_KV_SUBMITTEDSTATE_KV_DONESTATE_DEFERRED_QUEUEDSTATE_DEFERRED_CLEANUPSTATE_FINISHINGSTATE_DONE延迟分析IO保序SimpleWrite...原创 2020-01-27 10:13:16 · 1160 阅读 · 0 评论 -
浅谈分布式存储之sync详解
文章目录前言posixsyncfsyncmsyncfdatasyncO_SYNCsync_file_range 前言 由于内存比磁盘读写速度快了好几个数量级,为了弥补磁盘IO性能低,Linux内核引入了页面高速缓存(PageCache)。我们通过Linux系统调用(open—>write)写文件时,内核会先将数据从用户态缓冲区拷贝到PageCache便直接返回成功,然后由内核按照一定的策略把...原创 2020-01-27 10:13:32 · 1368 阅读 · 0 评论 -
BlueStore源码分析之BlockDevice
文章目录前言数据结构初始化设备同步IO异步IOAIO架构AIO读写AIO线程SyncDiscard 前言 Ceph新的存储引擎BlueStore已成为默认的存储引擎,抛弃了对传统文件系统的依赖,直接管理裸设备,通过Libaio的方式进行读写。抽象出了BlockDevice基类,提供统一的操作接口,后端对应不同的设备类型的实现(Kernel、NVME、NVRAM)等。除此之外,还引入了支持NVME的...原创 2020-01-27 10:13:40 · 1169 阅读 · 0 评论 -
BlueStore源码分析之BitMap分配器
文章目录前言名词解释通用接口架构设计类定义空间分配空间回收 前言 块是磁盘进行数据操作的最小单位。任意时刻磁盘中的每个块只能是占用或空闲两种状态之一,如果将磁盘空间按照块进行切分、编号,然后每个块使用唯一的一个Bit表示其状态,那么所有的Bit最终会形成一个有序的Bit流,通过这个Bit流我们可以索引磁盘中任意空间的状态,这种磁盘空间管理方式我们称为位图。 BlueStore直接管理裸设备,那么必...原创 2020-01-27 10:13:47 · 970 阅读 · 0 评论 -
BlueStore源码分析之Stupid分配器
文章目录前言伙伴算法数据结构初始化插入删除空间分配空间回收优劣分析 前言 前面介绍了BlueStore的BitMap分配器,我们知道新版本的Bitmap分配器的优势在于使用连续的内存空间从而尽可能更多的命中CPU Cache以提高分配器性能。在这里我们了解一下基于区间树的Stupid分配器(类似于Linux Buddy内存管理算法),并对比分析一下其优劣。 伙伴算法 Linux内存管理算法为了能够...原创 2020-01-27 10:13:50 · 483 阅读 · 0 评论 -
BlueStore源码分析之对象IO
文章目录前言稀疏写名词解释Onode结构onodePExtentLExtentBlobbig-writesmall-writesimple-writedeferred-writeIO流程 前言 BlueStore中的对象非常类似于文件系统中的文件,每个对象在BlueStore中拥有唯一的ID、大小、从0开始逻辑编址、支持扩展属性等,因此对象的组织形式,类似于文件也是基于Extent。 稀疏写 我们...原创 2020-01-27 10:22:26 · 1438 阅读 · 0 评论 -
Ceph BlueStore Cache
文章目录IntroductionCache InitCnodeOnodeBufferTrimConfigSummary Introduction BlueStore自己管理裸设备,没有文件系统,操作系统的page cache利用不上,需要自己管理缓存,包括元数据的缓存和object data的缓存,缓存系统的性能直接影响整个BlueStore的性能。 缓存的主要对象包括: 1、pg对应的Colle...原创 2020-01-27 10:22:33 · 884 阅读 · 0 评论 -
Ceph BlueStore FreelistManager
文章目录IntroductionData StructureInitAllocate & ReleaseConfigSummary Introduction 因为BlueStore采用裸设备,所以需要自己管理磁盘空间的分配和回收。如果以block表示磁盘的最小存储单位(Ceph中默认为4k),一个block的状态可以为使用和空闲两种状态,实现中只需要记录一种状态的block,就可以推导出另...原创 2020-01-27 10:22:38 · 430 阅读 · 0 评论 -
Ceph BlueStore Allocator
文章目录疑问1:为什么有了FreelistManager还需要Allocator问题澄清Data StructureInitUsageBlueFSBlueStoreConfigSummary 疑问1:为什么有了FreelistManager还需要Allocator 问题澄清 1、BlueFS不用FreelistManager管理块设备空间的使用情况,而是将其持久化记录在文件系统的日志文件中 2、B...原创 2020-01-27 10:22:37 · 1340 阅读 · 0 评论 -
ceph bluestore 架构简介
文章目录前言设计理念整体架构核心模块BlueFSAlloactorFreeListManagerCacheIO流程读流程写流程相关专业术语解释1、ACID2、RMW3、COW4、LRU(Least Recently Used)5、LFU(Least Frequently Used)6、ARC7、2Q大牛blog 前言 Ceph早期的单机对象存储引擎是FileStore,为了维护数据的一致性,写入之...原创 2020-01-27 10:14:04 · 1612 阅读 · 0 评论 -
ceph架构
文章目录一、架构图二、相关名词解释三、三种存储类型块存储文件存储对象存储四、Ceph IO流程及数据分布正常IO流程图步骤:异常io流程图步骤:五、Ceph IO算法流程Ceph IO伪代码流程六、Ceph RBD IO流程Ceph RBD IO框架图七、Ceph Pool和PG分布情况八、Ceph心跳机制1 心跳介绍2 Ceph 心跳检测3 Ceph OSD之间相互心跳检测4 Ceph OSD与...原创 2020-01-27 10:22:56 · 1194 阅读 · 0 评论