Ceph源码分析
¥
28.99
4.9折
¥
59
九品
仅1件
作者常涛 著
出版社机械工业出版社
出版时间2016-11
版次1
装帧平装
货号A4
上书时间2024-12-01
商品详情
- 品相描述:九品
图书标准信息
-
作者
常涛 著
-
出版社
机械工业出版社
-
出版时间
2016-11
-
版次
1
-
ISBN
9787111552079
-
定价
59.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
250页
-
字数
350千字
-
丛书
大数据技术丛书
- 【内容简介】
-
本书作者通过多年的开发经验,总结了自己使用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 IoCtxImpl56
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 SnapSetContext79
6.2.8 ObjectContext79
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 CollectionIndex120
7.6.1 CollectIndex接口122
7.6.2 HashIndex123
7.6.3 LFNIndex124
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 context函数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
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价