logo
分类于: 互联网 计算机基础

简介

Ceph设计原理与实现

Ceph设计原理与实现 7.2分

资源最后更新于 2020-11-15 07:59:40

作者:谢型果

出版社:机械工业出版社

出版日期:2017-01

ISBN:9787111578420

文件格式: pdf

标签: 存储 ceph 计算机 分布式存储 C++ 数据库

简介· · · · · ·

诞生于2006年的Ceph,是开源社区的明星项目,也是私有云事实上的标准——OpenStack的默认存储后端。作为当前炙手可热的分布式存储系统,Ceph拥有诸多引人注目的特性。本书侧重介绍RADOS及三大核心应用组件——RBD、RGW和CephFS.书中大部分内容基于社区新(2017年1月)发布的Kraken稳定版,侧重于BlueStore、ECoverwrites、QoS等一众新增组件和新增特性的介绍,写作时每章务必追求从基本原理切入,采用循序渐进的方式自然过渡和推广至Ceph,并结合Ceph的核心设计理念指出需要进行哪些必要的改进和裁剪,使得读者不但能够知其然,而且能够知其所以然。此外,为了进一步加深读者印象,每个章节都穿插了不少实用案例,后一章的素材更是全部源于我们日常积累的、从客户处收集的生产案例,极具代表性和通用性,如果读者能够在阅读、学习...

直接下载

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

Contents
推荐序一
推荐序二
前 言
第1章 计算为王—— 基于可扩展哈希的受控副本分布策略CRUSH 1
1.1 straw及straw2算法简介 2
1.2 CRUSH 算法详解 6
1.2.1 集群的层级化描述——Cluster Map 7
1.2.2 数据分布策略——Placement Rule 9
1.3 调制CRUSH 14
1.3.1 编辑 CRUSH Map 15
1.3.2 定制CRUSH规则 19
1.3.3 数据重平衡 21
1.4 总结与展望 23
第2章 性能之巅——新型对象存储引擎BlueStore 25
2.1 设计理念与指导原则 26
2.2 磁盘数据结构 30
2.2.1 PG 30
2.2.2 对象 38
2.3 缓存管理 46
2.3.1 常见的缓存淘汰算法 46
2.3.2 BlueStore中的缓存管理 49
2.4 磁盘空间管理 53
2.4.1 常见磁盘空间管理模式 53
2.4.2 BitmapFreelistManager 56
2.4.3 BitmapAllocator 57
2.5 BlueFS 59
2.5.1 RocksDB与BlueFS 59
2.5.2 磁盘数据结构 62
2.5.3 块设备 65
2.6 实现原理 66
2.6.1 mkfs 66
2.6.2 mount 67
2.6.3 read 69
2.6.4 write 72
2.7 使用指南 77
2.7.1 部署BlueStore 77
2.7.2 配置参数 80
2.8 总结与展望 83
第3章 时空博弈——纠删码原理与overwrites支持 84
3.1 RAID技术概述 85
3.2 RS-RAID和Jerasure 90
3.2.1 计算校验和 92
3.2.2 数据恢复 92
3.2.3 算术运算 93
3.2.4 缺陷与改进 99
3.2.5 Jerasure 100
3.3 纠删码在Ceph中的应用 102
3.3.1 术语 104
3.3.2 概述 105
3.3.3 新写 106
3.3.4 读 108
3.3.5 覆盖写 110
3.3.6 日志 112
3.3.7 Scrub 113
3.4 总结与展望 113
第4章 迁移之美 —— PG 读写流程与状态迁移详解 116
4.1 PG概述 117
4.2 读写流程 120
4.2.1 消息接收与分发 127
4.2.2 do_request 129
4.2.3 do_op 129
4.2.4 execute_ctx 136
4.3 状态迁移 146
4.3.1 状态机概述 147
4.3.2 创建 PG 150
4.3.3 Peering 154
4.3.4 Recovery 169
4.3.5 Backfill 172
4.4 总结与展望 173
第5章 控制先行——存储服务质量QoS 175
5.1 研究现状 176
5.2 dmClock算法原理 177
5.2.1 mClock 177
5.2.2 dmClock 179
5.3 QoS的设计与实现 180
5.3.1 优先级队列(prio) 181
5.3.2 权重的优先级队列(wpq) 183
5.3.3 dmClock队列 184
5.3.4 Client的设计 191
5.4 总结与展望 192
第6章 无心插柳——分布式块存储RBD 195
6.1 RBD架构 195
6.2 存储组织 196
6.2.1 元数据 197
6.2.2 数据 209
6.3 功能特性 211
6.3.1 快照 211
6.3.2 克隆 216
6.4 总结与展望 219
第7章 应云而生——对象存储网关RGW 220
7.1 总体架构 221
7.2 数据组织和存储 222
7.2.1 用户 225
7.2.2 存储桶 228
7.2.3 对象 229
7.2.4 数据存储位置 231
7.3 功能实现 232
7.3.1 功能特性 233
7.3.2 I/O路径 235
7.3.3 存储桶创建 240
7.3.4 对象上传 242
7.3.5 对象下载 244
7.4 总结与展望 244
第8章 经典重现—— 分布式文件系统 CephFS 246
8.1 文件系统基础知识 247
8.1.1 文件系统 247
8.1.2 文件系统中的元数据 249
8.1.3 硬链接和软链接 250
8.1.4 日志 251
8.2 分布式文件系统CephFS 252
8.2.1 CephFS设计框架和背景 252
8.2.2 MDS的作用 254
8.3 MDS设计原理与实现 255
8.3.1 MDS元数据存储 255
8.3.2 MDS负载均衡实现 260
8.3.3 MDS故障恢复 268
8.4 总结与展望 271
第9章 运用之妙—— 应用案例实战 272
9.1 实战案例一:Ceph 集群定时Scrub 272
9.2 实战案例二:Ceph对接OpenStack 274
9.3 实战案例三:Ceph数据重建配置策略 288
9.4 实战案例四:Ceph集群Full紧急处理 290
9.5 实战案例五:Ceph快照在增量备份的应用 292
9.6 实战案例六:Ceph集群异常watcher处理 297
9.7 总结与展望 298