本节书摘来自华章出版社《Ceph源码分析》一书中的导读,作者常涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看


目  录
序言
第1章 Ceph整体架构
1.1 Ceph的发展历程
1.2 Ceph的设计目标
1.3 Ceph基本架构图
1.4 Ceph客户端接口
1.4.1 RBD
1.4.2 CephFS
1.4.3 RadosGW
1.5 RADOS
1.5.1 Monitor
1.5.2 对象存储
1.5.3 pool和PG的概念
1.5.4 对象寻址过程
1.5.5 数据读写过程
1.5.6 数据均衡
1.5.7 Peering
1.5.8 Recovery和Backfill
1.5.9 纠删码
1.5.10 快照和克隆
1.5.11 Cache Tier
1.5.12 Scrub
1.6 本章小结
第2章 Ceph通用模块
2.1 Object
2.2 Buffer
2.2.1 buffer::raw
2.2.2 buffer::ptr
2.2.3 buffer::list
2.3 线程池
2.3.1 线程池的启动
2.3.2 工作队列
2.3.3 线程池的执行函数
2.3.4 超时检查
2.3.5 ShardedThreadPool
2.4 Finisher
2.5 Throttle
2.6 SafeTimer
2.7 本章小结
第3章 Ceph网络通信
3.1 Ceph网络通信框架
3.1.1 Message
3.1.2 Connection
3.1.3 Dispatcher
3.1.4 Messenger
3.1.5 网络连接的策略
3.1.6 网络模块的使用
3.2 Simple实现
3.2.1 SimpleMessager
3.2.2 Accepter
3.2.3 DispatchQueue
3.2.4 Pipe
3.2.5 消息的发送
3.2.6 消息的接收
3.2.7 错误处理
3.3 本章小结
第4章 CRUSH数据分布算法
4.1 数据分布算法的挑战
4.2 CRUSH算法的原理
4.2.1 层级化的Cluster Map
4.2.2 Placement Rules
4.2.3 Bucket随机选择算法
4.3 代码实现分析
4.3.1 相关的数据结构
4.3.2 代码实现
4.4 对CRUSH算法的评价
4.5 本章小结
第5章 Ceph客户端
5.1 Librados
5.1.1 RadosClient
5.1.2 IoCtxImpl
5.2 OSDC
5.2.1 ObjectOperation
5.2.2 op_target
5.2.3 Op
5.2.4 Striper
5.2.5 ObjectCacher
5.3 客户写操作分析
5.3.1 写操作消息封装
5.3.2 发送数据op_submit
5.3.3 对象寻址_calc_target
5.4 Cls
5.4.1 模块以及方法的注册
5.4.2 模块的方法执行
5.4.3 举例说明
5.5 Librbd
5.5.1 RBD的相关的对象
5.5.2 RBD元数据操作
5.5.3 RBD数据操作
5.5.4 RBD的快照和克隆
5.6 本章小结
第6章 Ceph的数据读写
6.1 OSD模块静态类图
6.2 相关数据结构
6.2.1 Pool
6.2.2 PG
6.2.3 OSDMap
6.2.4 OSDOp
6.2.5 Object_info_t
6.2.6 ObjectState
6.2.7 SnapSetContext
6.2.8 ObjectContext
6.2.9 Session
6.3 读写操作的序列图
6.4 读写流程代码分析
6.4.1 阶段1:接收请求
6.4.2 阶段2:OSD的op_wq处理
6.4.3 阶段3:PGBackend的处理
6.4.4 从副本的处理
6.4.5 主副本接收到从副本的应答
6.5 本章小结
第7章 本地对象存储
7.1 基本概念介绍
7.1.1 对象的元数据
7.1.2 事务和日志的基本概念
7.1.3 事务的封装
7.2 ObjectStore对象存储接口
7.2.1 对外接口说明
7.2.2 ObjectStore代码示例
7.3 日志的实现
7.3.1 Jouanal对外接口
7.3.2 FileJournal
7.4 FileStore的实现
7.4.1 日志的三种类型
7.4.2 JournalingObjectStore
7.4.3 Filestore的更新操作
7.4.4 日志的应用
7.4.5 日志的同步
7.5 omap的实现
7.5.1 omap存储
7.5.2 omap的克隆
7.5.3 部分代码实现分析
7.6 CollectionIndex
7.6.1 CollectIndex接口
7.6.2 HashIndex
7.6.3 LFNIndex
7.7 本章小结
第8章 Ceph纠删码
8.1 EC的基本原理
8.2 EC的不同插件
8.2.1 RS编码
8.2.2 LRC编码
8.2.3 SHEC编码
8.2.4 EC和副本的比较
8.3 Ceph中EC的实现
8.3.1 Ceph中EC的基本概念
8.3.2 EC支持的写操作
8.3.3 EC的回滚机制
8.4 EC的源代码分析
8.4.1 EC的写操作
8.4.2 EC的write_full
8.4.3 ECBackend
8.5 本章小结
第9章 Ceph快照和克隆
9.1 基本概念
9.1.1 快照和克隆
9.1.2 RDB的快照和克隆比较
9.2 快照实现的核心数据结构
9.3 快照的工作原理
9.3.1 快照的创建
9.3.2 快照的写操作
9.3.3 快照的读操作
9.3.4 快照的回滚
9.3.5 快照的删除
9.4 快照读写操作源代码分析
9.4.1 快照的写操作
9.4.2 make_writeable函数
9.4.3 快照的读操作
9.5 本章小结
第10章 Ceph Peering机制
10.1 statechart状态机
10.1.1 状态
10.1.2 事件
10.1.3 状态响应事件
10.1.4 状态机的定义
10.1.5 context函数
10.1.6 事件的特殊处理
10.2 PG状态机
10.3 PG的创建过程
10.3.1 PG在主OSD上的创建
10.3.2 PG在从OSD上的创建
10.3.3 PG的加载
10.4 PG创建后状态机的状态转换
10.5 Ceph的Peering过程分析
10.5.1 基本概念
10.5.2 PG日志
10.5.3 Peering的状态转换图
10.5.4 pg_info数据结构
10.5.5 GetInfo
10.5.6 GetLog
10.5.7 GetMissing
10.5.8 Active操作
10.5.9 副本端的状态转移
10.5.10 状态机异常处理
10.6 本章小结
第11章 Ceph数据修复
11.1 资源预约
11.2 数据修复状态转换图
11.3 Recovery过程
11.3.1 触发修复
11.3.2 ReplicatedPG
11.3.3 pgbackend
11.4 Backfill过程
11.4.1 相关数据结构
11.4.2 Backfill的具体实现
11.5 本章小结
第12章 Ceph一致性检查
12.1 端到端的数据校验
12.2 Scrub概念介绍
12.3 Scrub的调度
12.3.1 相关数据结构
12.3.2 Scrub的调度实现
12.4 Scrub的执行
12.4.1 相关数据结构
12.4.2 Scrub的控制流程
12.4.3 构建ScrubMap
12.4.4 从副本处理
12.4.5 副本对比
12.4.6 结束Scrub过程
12.5 本章小结
第13章 Ceph自动分层存储
13.1 自动分层存储技术
13.2 Ceph分层存储架构和原理
13.3 Cache Tier的模式
13.4 Cache Tier的源码分析
13.4.1 pool中的Cache Tier数据结构
13.4.2 HitSet
13.4.3 Cache Tier的初始化
13.4.4 读写路径上的Cache Tier处理
13.4.5 cache的flush和evict操作
13.5 本章小结

《Ceph源码分析》——导读相关推荐

  1. 《应用时间序列分析:R软件陪同》——1.5 习题

    本节书摘来自华章计算机<应用时间序列分析:R软件陪同>一书中的第1章,第1.5节,作者:吴喜之,刘苗著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.5 ...

  2. 《应用时间序列分析:R软件陪同》——2.3 随机游走

    本节书摘来自华章计算机<应用时间序列分析:R软件陪同>一书中的第2章,第2.3节,作者:吴喜之,刘苗著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看.

  3. 《应用时间序列分析:R软件陪同》——导读

    ** 前言 ** 首先,一些教材偏重于数学理论和推导.作者多为数学出身,他们习惯于数学的严格性和导出精确而又漂亮的数学结论.这些书适用于那些愿意为时间序列的数学理论研究做出贡献的读者. 其次,国内教材 ...

  4. arima模型_时间序列分析(R)‖ARIMA模型预测实例

    背景 十九大报告,对教育方面做出了详细说明.近年来,随着研究生招生规模的逐渐扩大,报名参加硕士研究生考试的人数也逐年增加.大多数关于研究生的文章是以研究生的现状.研究生的教育.研究生的就业等方面为主题 ...

  5. R语言入门(1)时间序列分析

    时间序列分析 使用软件为Rstudio,参考CRAN中时间序列分析分析函数和package,拿手上的数据练习一下时间序列分析. 1.原始数据说明 选择连续9天的数据,共2025条,时间间隔为5分钟.具 ...

  6. r软件时间序列分析论文_高度比较的时间序列分析-一篇论文评论

    r软件时间序列分析论文 数据科学 , 机器学习 (Data Science, Machine Learning) In machine learning with time series, using ...

  7. 时间序列分析及应用r语言pdf_R语言:时间序列经典分析法(二)

    题记:本文是个人的读书笔记,仅用于学习交流使用.本文将深入研究时间序列技术. 01 解决什么问题? 前面一章,介绍了时间序列中涉及到的基本概念,本章将在此基础上介绍如何对时间序列的资料进行分析,怎么选 ...

  8. 使用R语言对股票数据进行时间序列分析

    tushareID:469251 R语言相对于python在做统计分析是十分方便的软件,时间序列分析在数理统计理论方面很有支撑,解释性也很强,理论已经很成熟,不了解的小伙伴可以去搜下相关课程. 这里记 ...

  9. R语言mgcv包时间序列分析在空气污染与健康领域的应用(3)---模型自由度选择

    广 义 相 加 模 型 ( generalized additional model,GAM)是对传统广义线性模型的非参数拓展,可有效处理解释变量与效应变量间复杂的非线性关系.GAM 目前已广泛应用于 ...

  10. R语言mgcv包时间序列分析在空气污染与健康领域的应用(1)

    在空气污染与健康研究领域,经常需要用时间序列方法将随时间变化的污染物暴露资料和随时间变化的事件发生数资料联系起来,分析人群健康结局与暴露水平之间的关系. 时间序列分析是根据系统观测得到的时间序列数据, ...

最新文章

  1. 5年後、10年後の自分のイメージ
  2. 「SNOI2019」
  3. 谈谈分布式事务之三: System.Transactions事务详解[下篇]
  4. 推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题
  5. Qt / QPainter、QPen、QBrush 如何理解
  6. KEIL 默认 char 是无符号的
  7. SD2.0-课程等待时候的摘抄
  8. java处理xls_Java处理Excel文件
  9. 个人知识管理能解决什么问题?
  10. 安卓微信本地数据库解密与删除聊天记录恢复 EnMicroMsg.db FTS5IndexMicroMsg_encrypt.db
  11. opencv-python中文文档
  12. 俄亥俄州立大学计算机专业排名,OSU的Computer Science and Engineering「俄亥俄州立大学计算机科学与工程系」...
  13. Android Alpha换算表
  14. 列宽一字符等于多少厘米_Excel中行高与列宽单位和厘米的转换
  15. matlab显示hsi,matlab实现RGB与HSI的相互转换
  16. 闲山:龙的出现,没有中文字幕怎么办? 自己编程搞一个试试
  17. 防复制防破解小区门禁梯控升级非联网CPU卡脱机写卡门禁梯控一卡通系统92HID623CPU V5.00操作说明之用户卡加密发卡设置说明
  18. hbase数据库 数据存入_七个星期中的七个数据库– Hbase第二天
  19. 【论文翻译】 Clustering by Passing Messages Between Data Points
  20. 运营商大数据精准获客是怎么做到的?企业如何以低成本获取精准客户?

热门文章

  1. FFmpeg源码分析:avformat_open_input()打开媒体流
  2. 绿色 . IT . 从小事做起
  3. 中西医结合,缓解肝癌晚期疼痛
  4. 微信、博客和我的SAP B1
  5. edonkey和emule电驴和电骡的区别
  6. 看朝阳大悦城、银泰百货如何用大数据进行有效分析!
  7. linux之creat函数解析
  8. pycharm 取消空格(复制代码括号逗号前自动添加的)
  9. nacos1.4.1启动报错acos is starting with cluster
  10. 推荐几个优质的公众号