Ceph源码分析PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:常涛编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:7111552079
- 页数:250 页
第1章 Ceph整体架构 1
1.1 Ceph的发展历程 1
1.2 Ceph的设计目标 2
1.3 Ceph基本架构图 2
1.4 Ceph客户端接口 3
1.4.1 RBD 4
1.4.2 CephFS 4
1.4.3 RadosGW 4
1.5 RADOS 6
1.5.1 Monitor 6
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 Peering 11
1.5.8 Recovery和Backfill 11
1.5.9 纠删码 11
1.5.10 快照和克隆 12
1.5.11 Cache Tier 12
1.5.12 Scrub 13
1.6 本章小结 13
第2章 Ceph通用模块 14
2.1 Object 14
2.2 Buffer 16
2.2.1 buffer::raw 16
2.2.2 buffer::ptr 17
2.2.3 buffer::list 17
2.3 线程池 19
2.3.1 线程池的启动 20
2.3.2 工作队列 20
2.3.3 线程池的执行函数 21
2.3.4 超时检查 22
2.3.5 ShardedThreadPool 22
2.4 Finisher 23
2.5 Throttle 23
2.6 SafeTimer 24
2.7 本章小结 25
第3章 Ceph网络通信 26
3.1 Ceph网络通信框架 26
3.1.1 Message 27
3.1.2 Connection 29
3.1.3 Dispatcher 29
3.1.4 Messenger 29
3.1.5 网络连接的策略 30
3.1.6 网络模块的使用 30
3.2 Simple实现 32
3.2.1 SimpleMessager 33
3.2.2 Accepter 33
3.2.3 DispatchQueue 33
3.2.4 Pipe 34
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 Map 40
4.2.2 Placement Rules 42
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 Librados 53
5.1.1 RadosClient 54
5.1.2 IoCtxImpl 56
5.2 OSDC 56
5.2.1 ObjectOperation 56
5.2.2 op_target 57
5.2.3 Op 57
5.2.4 Striper 58
5.2.5 ObjectCacher 59
5.3 客户写操作分析 59
5.3.1 写操作消息封装 60
5.3.2 发送数据op_submit 61
5.3.3 对象寻址_calc_target 61
5.4 Cls 62
5.4.1 模块以及方法的注册 62
5.4.2 模块的方法执行 63
5.4.3 举例说明 64
5.5 Librbd 65
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 Pool 74
6.2.2 PG 75
6.2.3 OSDMap 75
6.2.4 OSDOp 77
6.2.5 Object_info_t 77
6.2.6 ObjectState 78
6.2.7 SnapSetContext 79
6.2.8 ObjectContext 79
6.2.9 Session 80
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 FileJournal 103
7.4 FileStore的实现 109
7.4.1 日志的三种类型 110
7.4.2 JournalingObjectStore 111
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 CollectionIndex 120
7.6.1 CollectIndex接口 122
7.6.2 HashIndex 123
7.6.3 LFNIndex 124
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_full 133
8.4.3 ECBackend 133
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.4 PG创建后状态机的状态转换 154
10.5 Ceph的Peering过程分析 156
10.5.1 基本概念 156
10.5.2 PG日志 159
10.5.3 Peering的状态转换图 166
10.5.4 pg_info数据结构 167
10.5.5 GetInfo 169
10.5.6 GetLog 176
10.5.7 GetMissing 181
10.5.8 Active操作 183
10.5.9 副本端的状态转移 187
10.5.10 状态机异常处理 188
10.6 本章小结 188
第11章 Ceph数据修复 189
11.1 资源预约 190
11.2 数据修复状态转换图 191
11.3 Recovery过程 193
11.3.1 触发修复 193
11.3.2 ReplicatedPG 195
11.3.3 pgbackend 199
11.4 Backfill过程 205
11.4.1 相关数据结构 205
11.4.2 Backfill的具体实现 205
11.5 本章小结 210
第12章 Ceph一致性检查 211
12.1 端到端的数据校验 211
12.2 Scrub概念介绍 213
12.3 Scrub的调度 213
12.3.1 相关数据结构 214
12.3.2 Scrub的调度实现 214
12.4 Scrub的执行 217
12.4.1 相关数据结构 217
12.4.2 Scrub的控制流程 219
12.4.3 构建ScrubMap 221
12.4.4 从副本处理 224
12.4.5 副本对比 225
12.4.6 结束Scrub过程 228
12.5 本章小结 228
第13章 Ceph自动分层存储 230
13.1 自动分层存储技术 230
13.2 Ceph分层存储架构和原理 231
13.3 Cache Tier的模式 231
13.4 Cache Tier的源码分析 234
13.4.1 pool中的Cache Tier数据结构 234
13.4.2 HitSet 236
13.4.3 Cache Tier的初始化 237
13.4.4 读写路径上的Cache Tier处理 238
13.4.5 cache的flush和evict操作 245
13.5 本章小结 250
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《分析化学》陈怀侠主编 2019
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《行测资料分析》李永新主编 2019
- 《药物分析》贡济宇主编 2017
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《药物分析》童珊珊,余江南 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019