Ceph源码分析 Ceph入门教程书 Ceph整体框架设计与开发 Ceph架构剖析 ceph分布式存pdf下载

Ceph源码分析 Ceph入门教程书 Ceph整体框架设计与开发 Ceph架构剖析 ceph分布式存百度网盘pdf下载

作者:
简介:Ceph源码分析 Ceph入门教程书 Ceph整体框架设计与开发 Ceph架构剖析 ceph分布式存
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

D4

书名:Ceph源码分析

常涛 著

定价:59.00元

出版社: 机械工业出版社 

ISBN:9787111552079

 

本书作者通过多年的开发经验,总结了自己使用Ceph的实战经验,并对Ceph的框架和主要源代码进行了分析,为开发分布式系统提供了重要参考。主要内容包括:Ceph整体架构、Ceph通用模块、Ceph网络通信模块、Ceph客户端实现、CephCRUSH算法、Ceph底层对象存储机制、CephOsd、Cephmon等。

序言 
前言 
1章 Ceph整体架构1 
1.1 Ceph的发展历程1 
1.2 Ceph的设计目标2 
1.3 Ceph基本架构图2 
1.4 Ceph客户端接口3 
1.4.1 RBD4 
1.4.2 CephFS4 
1.4.3 RadosGW4 
1.5 RADOS6 
1.5.1 Monitor6 
1.5.2 对象存储7 
1.5.3 pool和PG的概念7 
1.5.4 对象寻址过程8 
1.5.5 数据读写过程9 
1.5.6 数据均衡10 
1.5.7 Peering11 
1.5.8 Recovery和Backfill11 
1.5.9 纠删码11 
1.5.10 快照和克隆12 
1.5.11 Cache Tier12 
1.5.12 Scrub13 
1.6 本章小结13 
2章 Ceph通用模块14 
2.1 Object14 
2.2 Buffer16 
2.2.1 buffer::raw16 
2.2.2 buffer::ptr17 
2.2.3 buffer::list17 
2.3 线程池19 
2.3.1 线程池的启动20 
2.3.2 工作队列20 
2.3.3 线程池的执行函数21 
2.3.4 时检查22 
2.3.5 ShardedThreadPool22 
2.4 Finisher23 
2.5 Throttle23 
2.6 SafeTimer24 
2.7 本章小结25 
3章 Ceph网络通信26 
3.1 Ceph网络通信框架26 
3.1.1 Message27 
3.1.2 Connection29 
3.1.3 Dispatcher 29 
3.1.4 Messenger29 
3.1.5 网络连接的策略30 
3.1.6 网络模块的使用30 
3.2 Simple实现32 
3.2.1 SimpleMessager33 
3.2.2 Accepter33 
3.2.3 DispatchQueue33 
3.2.4 Pipe34 
3.2.5 消息的发送35 
3.2.6 消息的接收36 
3.2.7 错误处理37 
3.3 本章小结38 
4章 CRUSH数据分布算法39 
4.1 数据分布算法的挑战39 
4.2 CRUSH算法的原理40 
4.2.1 层级化的Cluster Map40 
4.2.2 Placement Rules42 
4.2.3 Bucket随机选择算法46 
4.3 代码实现分析49 
4.3.1 相关的数据结构49 
4.3.2 代码实现50 
4.4 对CRUSH算法的评价52 
4.5 本章小结52 
5章 Ceph客户端53 
5.1 Librados53 
5.1.1 RadosClient54 
5.1.2 IoCtImpl56 
5.2 OSDC56 
5.2.1 ObjectOperation56 
5.2.2 op_target57 
5.2.3 Op57 
5.2.4 Striper58 
5.2.5 ObjectCacher59 
5.3 客户写作分析59 
5.3.1 写作消息封装60 
5.3.2 发送数据op_submit61 
5.3.3 对象寻址_calc_target61 
5.4 Cls62 
5.4.1 模块以及方法的注册62 
5.4.2 模块的方法执行63 
5.4.3 举例说明64 
5.5 Librbd65 
5.5.1 RBD的相关的对象65 
5.5.2 RBD元数据作66 
5.5.3 RBD数据作67 
5.5.4 RBD的快照和克隆69 
5.6 本章小结71 
6章 Ceph的数据读写72 
6.1 OSD模块静态类图72 
6.2 相关数据结构73 
6.2.1 Pool74 
6.2.2 PG75 
6.2.3 OSDMap75 
6.2.4 OSDOp77 
6.2.5 Object_info_t77 
6.2.6 ObjectState78 
6.2.7 SnapSetContet79 
6.2.8 ObjectContet79 
6.2.9 Session80 
6.3 读写作的序列图81 
6.4 读写流程代码分析83 
6.4.1 阶段1:接收请求83 
6.4.2 阶段2:OSD的op_wq处理85 
6.4.3 阶段3:PGBackend的处理95 
6.4.4 从副本的处理95 
6.4.5 主副本接收到从副本的应答95 
6.5 本章小结96 
7章 本地对象存储97 
7.1 基本概念介绍98 
7.1.1 对象的元数据98 
7.1.2 事务和日志的基本概念98 
7.1.3 事务的封装99 
7.2 ObjectStore对象存储接口100 
7.2.1 对外接口说明101 
7.2.2 ObjectStore代码示例101 
7.3 日志的实现102 
7.3.1 Jouanal对外接口102 
7.3.2 FileJournal103 
7.4 FileStore的实现109 
7.4.1 日志的三种类型110 
7.4.2 JournalingObjectStore111 
7.4.3 Filestore的更新作112 
7.4.4 日志的应用115 
7.4.5 日志的同步115 
7.5 omap的实现116 
7.5.1 omap存储117 
7.5.2 omap的克隆118 
7.5.3 部分代码实现分析119 
7.6 CollectionInde120 
7.6.1 CollectInde接口122 
7.6.2 HashInde123 
7.6.3 LFNInde124 
7.7 本章小结124 
8章 Ceph纠删码125 
8.1 EC的基本原理125 
8.2 EC的不同插件126 
8.2.1 RS编码126 
8.2.2 LRC编码126 
8.2.3 SHEC编码128 
8.2.4 EC和副本的比较129 
8.3 Ceph中EC的实现129 
8.3.1 Ceph中EC的基本概念129 
8.3.2 EC支持的写作130 
8.3.3 EC的回滚机制131 
8.4 EC的源代码分析132 
8.4.1 EC的写作132 
8.4.2 EC的write_full133 
8.4.3 ECBackend133 
8.5 本章小结133 
9章 Ceph快照和克隆134 
9.1 基本概念134 
9.1.1 快照和克隆134 
9.1.2 RDB的快照和克隆比较135 
9.2 快照实现的核心数据结构137 
9.3 快照的工作原理139 
9.3.1 快照的创建139 
9.3.2 快照的写作139 
9.3.3 快照的读作140 
9.3.4 快照的回滚141 
9.3.5 快照的删除141 
9.4 快照读写作源代码分析141 
9.4.1 快照的写作141 
9.4.2 make_writeable函数142 
9.4.3 快照的读作145 
9.5 本章小结146 
10章 Ceph Peering机制147 
10.1 statechart状态机147 
10.1.1 状态147 
10.1.2 事件 148 
10.1.3 状态响应事件148 
10.1.4 状态机的定义149 
10.1.5 contet函数150 
10.1.6 事件的特殊处理150 
10.2 PG状态机151 
10.3 PG的创建过程151 
10.3.1 PG在主OSD上的创建151 
10.3.2 PG在从OSD上的创建153 
10.3.3 PG的加载154 
10