![]()
内容推荐 谢型果、严军著的《Ceph之RADOS设计原理与实现》是继《Ceph设计原理与实现》之后,中兴通讯Clove团队在Ceph领域的又一全新力作。Clove团队是Ceph开源社区国内最负盛名的组织贡献者之一,自Jewel版起,连续4个版本代码贡献量位列世界前三。目前该团队拥有社区技术委员会成员一名,Ceph Mermber三名。鉴于Clove团队在Ceph不断发展与壮大过程中做出的杰出贡献,创始人SageWeil先生再次为本书亲自作序。 存储是云计算的基石,Ceph是开源分布式软件定义存储解决方案中的领头羊。本书以大量存储技术的基本原理(例如分布式一致性、文件系统等)为主线,系统剖析了Ceph核心组件RADOS的设计原理与具体实现。通过阅读本书可以掌握Ceph的核心设计理念与高级应用技巧,从而快速提升自身对于Ceph的研发与运维能力。 目录 序1 序2 序3 前言 第1章 一生万物——RADOS导论 1.1 RADOS概述 1.2 存储池与PG 1.3 对象演进与排序 1.4 stable_mod与客户端寻址 1.5 PG分裂与集群扩容 1.6 总结和展望 第2章 计算寻址之美与数据平衡之殇——CRUSH 2.1 抽签算法 2.2 CRUSH算法详解 2.2.1 集群的层级化描述——cluster map 2.2.2 数据分布策略——placemen trule 2.3 调制CRUSH 2.3.1 编辑CRUSH map 2.3.2 定制CRUSH规则 2.4 数据重平衡 2.4.1 reweight 2.4.2 weight-set 2.4.3 upmap 2.4.4 balancer 2.5 总结和展望 第3章 集群的大脑——Monitor 3.1 集群表OSDMap 3.2 集群管理 3.2.1 OSD管理 3.2.2 存储池管理 3.2.3 告警管理 3.3 总结和展望 第4章 存储的基石——OSD 4.1 OSD概述 4.1.1 集群管理 4.1.2 网络通信 4.1.3 公共服务 4.2 OSD上电 4.3 故障检测 4.4 空间管理 4.5 总结和展望 第5章 高效本地对象存储引擎——BlueStore 5.1 设计原理 5.2 磁盘数据结构 5.2.1 PG 5.2.2 对象 5.3 缓存机制 5.3.1 概述 5.3.2 实现 5.4 磁盘空间管理 5.4.1 概述 5.4.2 BitmapFreelistManager 5.4.3 BitmapAllocator 5.5 BlueFS 5.5.1 概述 5.5.2 磁盘数据结构 5.5.3 块设备 5.6 实现原理 5.6.1 mkfs 5.6.2 mount 5.6.3 read 5.6.4 write 5.7 使用指南 5.7.1 部署BlueStore 5.7.2 配置参数 5.8 总结和展望 第6章 移动的对象载体——PG 6.1 基本概念与术语 6.2 读写流程 6.2.1 消息接收与分发 6.2.2 do_request 6.2.3 do_op 6.2.4 execute_ctx 6.3 状态迁移 6.3.1 状态机概述 6.3.2 创建PG 6.3.3 Peering 6.4 总结和展望 第7章 在线数据恢复——Recovery和Backfill 7.1 Recovery 7.1.1 资源预留 7.1.2 对象修复 7.1.3 增量Recovery和异步Recovery 7.2 Backfill 7.3 总结和展望 第8章 数据正确性与一致性的守护者——Scrub 8.1 Scrub的指导思想 8.2 Scrub流程详解 8.2.1 资源预留 8.2.2 范围界定 8.2.3 对象扫描 8.2.4 副本比对 8.2.5 统计更新与自动修复 8.3 Scrub抢占 8.4 总结和展望 第9章 基于dmClock的分布式流控策略 9.1 概述 9.2 dmClock基本原理 9.2.1 mClock 9.2.2 dmClock 9.3 dmClock算法实现 9.3.1 I/O请求入队 9.3.2 I/O请求出队 9.3.3 实例分析 9.4 在Ceph中的应用实践 9.4.1 client的界定 9.4.2 支持带宽限制 9.4.3 存储卷的QoS 9.4.4 集群流控策略 9.5 总结和展望 第10章 纠删码原理与实践 10.1 RAID技术概述 10.2 RS-RAID和Jerasure 10.2.1 计算校验和 10.2.2 数据恢复 10.2.3 算术运算 10.2.4 缺陷与改进 10.2.5 Jerasure 10.3 纠删码在Ceph中的应用 10.3.1 术语 10.3.2 新写 10.3.3 读 10.3.4 覆盖写 10.3.5 日志 10.3.6 Scrub 10.4 总结和展望
|