《Ceph之RADOS设计原理与实现》
您当前访问的的浏览器版本过低,为了给您带来更好的体验,建议您升级至Edge浏览器或者推荐使用Google浏览器
取消

中兴通讯技术丛书

首页 中兴通讯技术丛书《Ceph之RADOS设计原理与实现》
丛书概述
《Ceph之RADOS设计原理与实现》
作者:谢型果、严军
基本内容:
书名:《Ceph之RADOS设计原理与实现》 出版社:机械工业出版社 页数:277 出版日期:2019-01
章节框架
前言 过去十年,中国电信业快速发展,语音和数据业务需求极大提升,尤其以安卓、Iphone 为代表的智能手机的推出,数据业务的增长速度远超预期。近三年,移动数据业务每年以大约90% 的复合增长率增长,这对设备商交付新版本的速度提出了更高的要求。中兴通讯在2013 年就启动了无线网络控制器(Radio Network Controller)项目移虚拟化技术预研,希望实现软硬件解耦以缩短版本交付周期,满足运营商业务飞速发展的需求。目前,这些虚拟化研究成果已经成为5G 的基础技术标准。 ? 虚拟化预研项目不仅涉及电信网元本身的适配,还涉及开发云操作系统和制定操作管理规范、接口标准。而云操作系统是虚拟化的关键技术之一,综合考虑云操作系统开源社区影响力、项目热度、扩展性、可维护性、业界认可度等因素,项目团队选择OpenStack 作为云操作系统的开源解决方案。但电信领域常见的需求,如网口绑定、高速转发、巨页(Huge Page)、CPU 绑核等功能在OpenStack 社区尚不支持,如何把虚拟化的电信网元(Virtual Network Function)运行在OpenStack 上,并提供高性能服务,是项目面临的巨大挑战。在此背景下,笔者所在的团队开始深入参与到OpenStack 开源社区的开发工作, 推动社区一起解决这些关键技术问题。 ? 计算、存储和网络是OpenStack 虚拟层三大基础设施服务,其中存储(Cinder)项目涉及厂商的硬件集成。Cinder 项目制定了一套API 接口规范,厂商的存储设备若需要集成,需向社区提交遵守该接口 规范的驱动程序,并搭建一套CI 系统来验证,该CI 系统需要遵守社区第三方CI 规范 。
第一部分 第1 章和第2 章,对DevOps 的发展、文化和转型进行了简单说明,并引入本书的重点内容OpenStack CI/CD 并说明其对DevOps 转型的重要性;
第二部分 第3 章至第9 章,以系统管理员视角对OpenStack CI/CD 中的每一项关键技术进行详细的分析和阐述,这些关键技术包括: – 版本控制(Git )与代码评审(Gerrit )系统,开源社区最常用的代码管理和代码评审工具,Gerrit 系统与本书介绍的持续集成系统和门控系统进行密切配合,共同完成整个开发流程; – 持续集成系统(Jenkins ),最为流行的一款开源持续集成工具,用于代替人工进行重复的持续集成工作,同时也为促进持续交付提供技术支撑;本章还介绍了JJB(Jenkins Job Builder)工具,通过YAML 文件来定义Jenkins 任务,提升Jenkins 任务的开发和运维效率; – 门控系统(Zuul),确保主线稳定,仅当与变更相关的所有测试都通过后,才会将变更合入到相应的目标分支。它保障了测试任务获得最大程度的并行,且在发生错误的情况下,自动回滚;它支持指定项目间变更依赖关系,解决跨项目集成问题,致力于实现项目及关联项目之间的守护; – 资源管理系统(NodePool),通过在OpenStack 资源池中动态创建虚拟机并作为Jenkins Slave 节点添加到Jenkins 的资源池中,确保不同的测试之间互不影响;在测试结束后,删除使用过的虚拟机,保证对每个测试任务都能提供一致的测试环境;此外,NodePool 还集成了镜像制作功能,支持测试环境的定制开发; – 日志服务器,对所有测试任务提供统一的日志存储服务,以便于回溯测试故障; – 日志分析系统,对于测试过程中的测试日志导入到Elasticsearch 中,便于出现问题时,快速检查和分析故障; – 公共组件,重点介绍了支持OpenStack CI 系统的组件之间进行协作和通讯的系统,包括任务分发(Gearman )、消息队列(ZeroMQ)和分布式协调服务(ZooKeeper)等组件;
第三部分 第10 章,描述团队在社区工具和经验的基础上的经典实践,以及如何进行裁剪、扩展和定制化修改以满足团队需求;
第四部分 第11 章,探讨当前解决方案中存在的不足和可行的优化方案,并描述了社区当前正在经历的变化和未来的演进路线。
本书读者 本书面向基础设施管理团队、DevOps 团队或致力于了解CI/CD 的技术人员,可作为学习OpenStack社区CI/CD 基础设施解决方案的教材,协助您高效搭建社区第三方CI 系统。
勘误与交流 ?笔者团队在编写本书的过程中虽已经进行了大量的内部评审和检验工作,但因时间紧、精力有限,难免会出现一些错漏,敬请广大专家和读者批评、指正。您可以把与本书相关的意见或建议发送到电子邮箱openzero@aliyun.com 中。 ? 本书中团队实践和示例代码都可以在团队Github上的项目进行下载,读者可以尝试使用和探讨。
致谢 本书的创作团队是一支持拥有丰富专业技术经验的团队,团队成员有十年以上的电信领域的工作经验、四年以上的开源社区技术研究和贡献经验。本书是团队智慧和多年经验的结晶。使用本书介绍的技术和经验,团队高效管理了公司内部的基础设施,节省大量人力资源,并提供快速而稳定的服务。 ? 本书由创作团队在业余时间编写,占用了团队成员很多家庭生活的时间,每个人都付出了极大的努力并克服了诸多困难,对此表示感谢。感谢所有团队成员不厌其烦,一次又一次地评审修订,以认真严谨的态 度验证了本书所有的代码实践。感谢董文娟在本书编写过程中有力地组织、协调和推进,没有你辛勤的付出,本书不可能顺利完成。 ?在此,还要感谢我的领导潘峰、王前和施嵘,没有你们的信任和支持,不可能有本书的诞生。感谢中兴学院的闫林院长对本书给与的指导和建议。感谢OpenStack 基础设施团队设计出如此优秀的工具和系统, 感谢你们在日常工作中及时答疑解惑。感谢机械工业出版社的杨福川和李艺编辑的信任和支持,及时更正了本书中较多的排版问题。 ?本书使用reStructuredText 语言编写,团队因采用该工具而在格式排版方面节省了大量时间精力。
序言
推荐序
My primary goal is to grow and build the Ceph developer community in China. ?As more organizations rely on Ceph for their storage infrastructure, the pool of serious Ceph users grows, and every user presents a new opportunity to become involved in Ceph development. ?We face a number of challenges that make it hard for Chinese developers to participate in the upstream Ceph development community, including language, reliable and unrestricted internet access to common collaboration tools (including chat, video conferencing, and video archives), and time zones. ?However, I think these challenges can be overcome by building a community nexus that is centered in China, using what languages and tools are most convenient and natural, and by facilitating communication and collaboration with the broader community through experienced developers like Xie Xingguo. ?Books like this one that help new developers become familiar with Ceph are a critical part in this effort.
Sage Weil
Ceph创始人
专家推荐
——王璞
UMCloud(上海优铭云计算有限公司)CTO
Ceph是目前业界主流的云化、通用化开源存储项目,但是Ceph的架构较为复杂,上手难度较大。本书以浅显的语言、通俗的例子诠释了Ceph颇为深奥的设计原理,方便读者深入理解Ceph。本书作者致力于使读者不仅知其然而且知其所以然。整本书以Ceph如何解决分布式存储中常见的难题为作为主线,各个击破——每个章节从相关概念出发,逐渐深入,最后再加以画龙点睛式的回顾与思考,带领我们逐渐走入Ceph的世界。
——陈绪博士
中国开源云联盟常务副秘书长
从2006年OSDI上发表的存储系统博士研究项目,发展到12年后的开源分布式存储明星社区,Ceph积累了数百万行代码,这对开发者是宝贵财富,而对社区初学者则是要跨越的门槛。感谢中兴通讯的Ceph研发团队,在积极贡献国际社区以代码的同时,诚挚将自己所做、所学、所思分享给社区开发者,起到参考和指导的作用,开源精神也正是在这种分享的过程中得以传承和发扬。我坚信,开源和开放是创新的源泉,也是时代的主潮流,在这种氛围下,Ceph开源存储的未来会更美好!
——何宝宏

中国信息通信研究院 云计算与大数据研究所所长

Ceph?是分布式存储领域的标杆项目,中兴通讯是国内?Ceph?开源社区重要贡献者。本书的两位作者同为社区核心开发者,长期从事?Ceph?核心组件——RADOS的研究与开发,具备深厚的技术功底和娴熟的写作技巧,权威性与实用性毋庸置疑。
——孙振鹏
海尔电器集团 CTO
近年来,随着开源、云计算等相关概念在国内的普及,利用知名开源项目例如OpenStack、Ceph等来构建企业云办公环境,以降低生产和维护成本已经成为行业共识。作为开源分布式存储领域的一面旗帜,Ceph?先进的架构体系已经深入人心,但是其代码实现复杂,不易入门,更加难以精通。本书从大处着眼、小处着手,深入浅出地阐述了Ceph的核心组件——RADOS的设计原理与实现细节,值得为国内Ceph及存储相关从业者拥有。
作者介绍
谢型果
资深软件工程师,5年存储开发经验,精通本地文件系统ZFS和分布式存储系统Ceph,目前是Ceph 开源社区技术委员会成员和 Ceph Member。
严军
高级软件工程师,从事存储系统开发工作多年,熟悉DPDK开发框架;对分布式存储系统QoS有深入研究,目前是Ceph Member。
在京东、当当等网站都有销售