logo
分类于: 编程语言 计算机基础 设计

简介

Ceph源码分析: 大数据技术丛书

Ceph源码分析: 大数据技术丛书 0.0分

资源最后更新于 2020-07-29 21:02:40

作者:常涛 编著

出版社:出版社机械工业出版社

出版日期:2016-11

ISBN:9787111552079

文件格式: pdf

标签: 计算机 编程 限时特价 分布式 大数据技术丛书 ceph storage 源码

简介· · · · · ·

随着云计算技术的兴起和普及,云计算基石:分布式共享存储系统受到业界的重视。Ceph以其稳定、高可用、可扩展的特性,乘着开源云计算管理系统OpenStack的东风,迅速成为最热门的开源分布式存储系统。Ceph作为一个开源的分布式存储系统,人人都可以免费获得其源代码,并能够安装部署,但是并不等于人人都能用起来,人人都能用好。用好一个开源分布式存储系统,首先要对其架构、功能原理等方面有比较好的了解,其次要有修复漏洞的能力。这些都是在采用开源分布式存储系统时所面临的挑战。要用好Ceph,就必须深入了解和掌握Ceph源代码。Ceph源代码的实现被公认为比较复杂,阅读难度较大。阅读Ceph源代码,不但需要对C++语言以及boost库和STL库非常熟悉,还需要有分布式存储系统相关的基础知识以及对实现原理的深刻理解,最后还需要对Ceph框架和设计原理以及具体的实现细节有很好的把握。所以Ceph源代码的阅读是相当有挑战性的。本着对Ceph源代码的浓厚兴趣以及实践工作的需要,需要对Ceph在源代码层级有比较深入的了解。当时笔者尽可能地搜索有关Ceph源代码的介绍,发现这方面的资料比较少,笔者只能自己对着Ceph源代码开始了比较艰辛的阅读之旅。在这个过程中,每一个小的进步都来之不易,理解一些实现细节,都需要对源代码进行反复地推敲和琢磨。自己在阅读的过程中,特别希望有人能够帮助理清整体代码的思路,能够解答一下关键的实现细节。本书就是秉承这样一个简单的目标,希望指引和帮助广大Ceph爱好者更好地理解和掌握Ceph源代码。本书面向热爱Ceph的开发者,想深入了解Ceph原理的高级运维人员,想基于Ceph做优化和定制的开发人员,以及想对社区提交代码的研究人员。官网上有比较详细的介绍Ceph安装部署以及操作相关的知识,希望阅读本书的人能够自己动手实践,对Ceph进一步了解。本书基于目前最新的Ceph 10.2.1版本进行分析。本书着重介绍Ceph的整体框架和各个实现模块的实现原理,对核心源代码进行分析,包括一些关键的实现细节。存储系统的实现都是围绕数据以及对数据的操作来展开,只要理解核心的数据结构,以及数据结构的相关操作就可以大致了解核心的实现和功能。本书的写作思路是先介绍框架和原理,其次介绍相关的数据结构,最后基于数据结构,介绍相关的操作实现流程。最后感谢一起工作过的同事们,同他们在Ceph技术上进行交流沟通并加以验证实践,使我受益匪浅。感谢机械工业出版社的编辑吴怡对本书出版所做的努力,以及不断提出的宝贵意见。感谢我的妻子孙盛南女士在我写作期间默默的付出,对本书的写作提供了坚强的后盾。

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

已收: 表示已经收藏

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

目录

  1. 序言
  2. 前言
  3. 第1章 Ceph整体架构
  4. 1.1 Ceph的发展历程
  5. 1.2 Ceph的设计目标
  6. 1.3 Ceph基本架构图
  7. 1.4 Ceph客户端接口
  8. 1.5 RADOS
  9. 1.6 本章小结
  10. 第2章 Ceph通用模块
  11. 2.1 Object
  12. 2.2 Buffer
  13. 2.3 线程池
  14. 2.4 Finisher
  15. 2.5 Throttle
  16. 2.6 SafeTimer
  17. 2.7 本章小结
  18. 第3章 Ceph网络通信
  19. 3.1 Ceph网络通信框架
  20. 3.2 Simple实现
  21. 3.3 本章小结
  22. 第4章 CRUSH数据分布算法
  23. 4.1 数据分布算法的挑战
  24. 4.2 CRUSH算法的原理
  25. 4.3 代码实现分析
  26. 4.4 对CRUSH算法的评价
  27. 4.5 本章小结
  28. 第5章 Ceph客户端
  29. 5.1 Librados
  30. 5.2 OSDC
  31. 5.3 客户写操作分析
  32. 5.4 Cls
  33. 5.5 Librbd
  34. 5.6 本章小结
  35. 第6章 Ceph的数据读写
  36. 6.1 OSD模块静态类图
  37. 6.2 相关数据结构
  38. 6.3 读写操作的序列图
  39. 6.4 读写流程代码分析
  40. 6.5 本章小结
  41. 第7章 本地对象存储
  42. 7.1 基本概念介绍
  43. 7.2 ObjectStore对象存储接口
  44. 7.3 日志的实现
  45. 7.4 FileStore的实现
  46. 7.5 omap的实现
  47. 7.6 CollectionIndex
  48. 7.7 本章小结
  49. 第8章 Ceph纠删码
  50. 8.1 EC的基本原理
  51. 8.2 EC的不同插件
  52. 8.3 Ceph中EC的实现
  53. 8.4 EC的源代码分析
  54. 8.5 本章小结
  55. 第9章 Ceph快照和克隆
  56. 9.1 基本概念
  57. 9.2 快照实现的核心数据结构
  58. 9.3 快照的工作原理
  59. 9.4 快照读写操作源代码分析
  60. 9.5 本章小结
  61. 第10章 Ceph Peering机制
  62. 10.1 statechart状态机
  63. 10.2 PG状态机
  64. 10.3 PG的创建过程
  65. 10.4 PG创建后状态机的状态转换
  66. 10.5 Ceph的Peering过程分析
  67. 10.6 本章小结
  68. 第11章 Ceph数据修复
  69. 11.1 资源预约
  70. 11.2 数据修复状态转换图
  71. 11.3 Recovery过程
  72. 11.4 Backfill过程
  73. 11.5 本章小结
  74. 第12章 Ceph一致性检查
  75. 12.1 端到端的数据校验
  76. 12.2 Scrub概念介绍
  77. 12.3 Scrub的调度
  78. 12.4 Scrub的执行
  79. 12.5 本章小结
  80. 第13章 Ceph自动分层存储
  81. 13.1 自动分层存储技术
  82. 13.2 Ceph分层存储架构和原理
  83. 13.3 Cache Tier的模式
  84. 13.4 Cache Tier的源码分析
  85. 13.5 本章小结