首页>参考读物>计算机科学与技术>软件与程序设计

Ceph分布式存储学习指南
作者 : [芬兰] 卡伦?辛格(Karan Singh)著
出版日期 : 2017-03-27
ISBN : 978-7-111-56279-5
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 188
开本 : 16
原书名 : Learning Ceph
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

Ceph是种开源技术,它是软件定义存储的领导者。Ceph具备极好的可靠性、统一性和鲁棒性。它比现存的其他存储解决方案更加完整、经济。Ceph开辟了一个全新的、数据存储的途径。它是分布式的、可大规模扩展的,并且没有单点故障。更重要的是,它运行在商用硬件之上,这使得它具备令人惊讶的经济性。它可以帮你打破昂贵的厂商锁定方案的枷锁,在存储上采用企业级的开源技术。Ceph集中了各种企业级特性,例如高度的可靠性、鲁棒性、可扩展性、纠删码、分层缓存等。经过十年,Ceph已经足够成熟,也使得它鹤立鸡群并且引领存储的方向。它是目前流行并且将高速发展的技术。统一的Ceph存储系统能够满足你在数据存储上的任何需求。Ceph是真正的统一,也就意味着在单个存储系统里提供文件存储、块存储和对象存储。这使得Ceph非常灵活,并且能够满足你所有的数据需求。它就是你在数据存储上所有问题的答案。

图书前言

数据—这是个简单的词,但它存储着整个世界的过去、现在和将来。同时,它也是现存的任何系统的最关键元素。我们生活在一个技术时代,它每秒钟都会产生巨量的数据,并且随着时间的迁移,这些数据的量级会达到让人不可思议的程度。然而,我们如何才能安全、可靠并面向未来地存储这些永远都在产生的数据呢?本书将讨论一个存储技术规则的改变者,它将重新定义存储的未来。
Ceph是种开源技术,它是软件定义存储的领导者。Ceph具备极好的可靠性、统一性和鲁棒性。它比现存的其他存储解决方案更加完整、经济。Ceph开辟了一个全新的、数据存储的途径。它是分布式的、可大规模扩展的,并且没有单点故障。更重要的是,它运行在商用硬件之上,这使得它具备令人惊讶的经济性。它可以帮你打破昂贵的厂商锁定方案的枷锁,在存储上采用企业级的开源技术。
Ceph集中了各种企业级特性,例如高度的可靠性、鲁棒性、可扩展性、纠删码、分层缓存等。经过十年,Ceph已经足够成熟,也使得它鹤立鸡群并且引领存储的方向。它是目前流行并且将高速发展的技术。统一的Ceph存储系统能够满足你在数据存储上的任何需求。Ceph是真正的统一,也就意味着在单个存储系统里提供文件存储、块存储和对象存储。这使得Ceph非常灵活,并且能够满足你所有的数据需求。它就是你在数据存储上所有问题的答案。
云计算是下一个思维变革,而类似Ceph这样的存储系统是云计算基础设施中最关键的部件。Ceph在云存储领域有自己强大的影响力。它已经是OpenStack、CloudStack这样的云平台中首选的开源企业级软件定义存储。这些云平台利用Ceph的特性,提供了鲁棒的、可扩展的艾字节(EB)级公有云或者私有云基础设施。除此之外,虚拟化平台(例如KVM和libvirt)完美支持Ceph,专用的虚拟化解决方案也支持(例如VMware)Ceph,而HyperV也即将支持Ceph。
在Inktank(现在是Red Hat的一部分)的支持下,Ceph无疑是存储行业里的下一个重大突破。Ceph具有一个令人惊叹的社区,并且有快速的开发周期,使其更可靠。尽管Ceph是完全开源的,但是用户可以享受来自Red Hat及其商业伙伴的企业级支持。这是个优点。
本书涵盖的内容
第1章概述Ceph的发展、历史,以及未来的方向。该章解释常见存储的挑战,以及Ceph如何处理这些挑战并成为游戏规则改变者。同时也包括Ceph和其他存储系统的比较。
第2章讨论实例,并展示搭建Ceph集群的实际步骤。它也包括一个用于在VirtualBox上创建Ceph沙盒环境并纵向扩展的向导。
第3章深入Ceph内部架构,详细地解释每一个组件。通过逐渐实践式地解释组件达到更好的学习效果,并了解它们的相关性。
第4章介绍Ceph怎样管理数据,实践内容将让你了解它的每一个部分。该章也包括CRUSH、PG(Placement Group,归置组)和池的细节。
第5章讨论企业级Ceph集群所需要的硬件计划。该章也包括手动或者使用ceph-deploy自动搭建Ceph集群的实际步骤。
第6章包括用实践方式解释Ceph中的文件、块和对象三种存储类型,以及如何配置和提供每一种类型的存储。该章也包括快照、复制、兼容S3和swift的对象存储等。
第7章涵盖从系统管理的角度管理和操作Ceph的一切内容。包括日常操作、纵向扩展和收缩、硬件更换,同时还详细介绍CRUSH管理和它的高级概念。
第8章可以让你有能力监控自己的Ceph集群和它的所有组件。该章涵盖了开源的Ceph监控仪表盘项目,例如Kraken和ceph-dash,以及它们的安装和配置。
第9章一步步教你搭建自己的OpenStack测试环境以及将它与Ceph集成。该章解释了Ceph如何使OpenStack锦上添花,以及OpenStack组件如何使用Ceph。
第10章涵盖了Ceph的高级概念,例如从硬件和软件角度进行性能调优。该章也介绍使用纠删码和缓存分层的方法,并讨论Ceph基准测试工具。
阅读本书所需要的软件
阅读本书所需要的各种软件如下:
VirtualBox 4.0或更高版本(https://www.virtualbox.org/wiki/Downloads)
CentOS 6.4(http://wiki.centos.org/Download)
Ceph software packages 0.78或更高版本(http://ceph.com/resources/downloads/)
S3 Client,通常是S3cmd(http://s3tools.org/download)
Python-swiftclient
用于监控的Kraken管理控制台(https://github.com/krakendash)
用于监控的ceph-dash管理控制台(https://github.com/Crapworks/ceph-dash)
OpenStack RDO(http://rdo.fedorapeople.org/rdo-release.rpm)
本书读者对象
本书的目标读者是那些想通过Ceph进入软件定义存储领域的IT人员和存储管理员。当然,它也面向希望了解如何使用Ceph,以及它如何工作,以便开始开发并为Ceph开源项目贡献的任何人。
本书也为想了解传统存储和软件定义的云存储之间差异的IT经理和专家提供了重要息。

上架指导

计算机\程序设计

封底文字

Ceph是一个开源的软件定义存储解决方案,它在商业硬件上运行,可以提供艾字节(EB)级的可扩展性。 众所周知,它是一种没有单点故障的高度可靠存储系统。
  本书将展示规划、部署和有效管理Ceph集群所需的所有技能,指导你了解Ceph的技术、架构和组件。作者分步骤详细解释每个Ceph组件的部署,可以帮助你快速学习Ceph存储配置以及与OpenStack的集成。

通过阅读本书,你将学到:
•了解现有系统的局限性,以及是否需要使用Ceph作为存储解决方案
•掌握Ceph的架构并探索Ceph的不同组件
•在VirtualBox环境中实现Ceph的实战部署和测试
•熟悉Ceph操作,如维护、监控和故障排除
•以Ceph的块、对象和文件系统的形式实现存储配置
•使用OpenStack Cinder和Glance组件集成Ceph
•探索Ceph高级主题,包括纠删码、CRUSH map和性能调优,并学习Ceph集群的最佳实践

作者简介

[芬兰] 卡伦?辛格(Karan Singh)著:暂无简介

译者序

近年来随着云计算技术的迅速发展以及企业数据的爆发性增长,“软件定义一切”的概念开始流行。Ceph凭借其高扩展性、高可靠性、高性能的特点,逐渐成为OpenStack、CloudStack和OpenNebula等主流开源云平台后端存储的首选。这也使得Ceph也成为“开源软件定义存储”的明星。
Ceph可以大幅降低企业存储基础设施的TCO(Total Cost of Ownership,总体成本)。它可以为在传统存储上有大投入但仍然没有获得足够灵活性和扩展性的用户提供一个很好的解决方案。
本书作者从Ceph的发展历史出发,讲述Ceph的产生,Ceph与其他传统存储系统的区别,到Ceph的详细部署、配置,以及Ceph的架构、组件和高级特性。跟随作者的讲解,读者在逐渐深入了解Ceph的同时,也能够自行搭建Ceph系统,探索Ceph的高级特性。
总之,对于想通过Ceph进入软件定义存储领域的IT人员和存储管理员,本书可以让你了解Ceph的架构以及工作原理;对于想了解传统存储和软件定义存储之间差异的IT经理和专家,本书也能为你提供有价值的参考信息。
本书由Ceph中国社区(以下排名不分先后)的王海亮(亮叔)、许文平(西昆仑)、郑邦才(blueclub)和周林(半天河)共同翻译。
由于时间仓促,译者水平有限,错误与疏漏之处在所难免,敬请读者批评指正。
作者简介 About the Author
Karan Singh与他美丽的妻子Monika一起住在芬兰埃斯波,他是一位充满好奇心的IT专家,也是一位纯粹的技术爱好者。他拥有印度BITS Pilani大学的计算机科学学士学位(荣誉)和系统工程硕士学位。另外,他还是OpenStack、NetApp和Oracle Solaris等技术的认证专家。
Karan目前是芬兰CSC-IT Center for Science公司的存储和平台的系统专家。他积极参与提供基于OpenStack和Ceph Storage的IaaS云解决方案,并且一直在使用Ceph构建经济的拍字节级存储解决方案。Karan拥有广泛的系统管理技能,在各种UNIX环境、备份、企业存储系统和云平台上拥有出色的工作经验。
除了Ceph和OpenStack之外,Karan还使用诸如Ansible、Docker、Hadoop、IoT和其他云相关领域的技术。他的目标是获得云计算和大数据的博士学位,并希望深入学习这些技术。他热衷于在http://karan-mj.blogspot.fi/写博客。可以在Twitter上通过@karansingh010联系他,在Ceph和OpenStack IRC频道上他的联系方式是ksingh,也可以发邮件至karan_singh1@live.com。
我要感谢我的妻子Monika在本书的写作过程中给予我的鼓励和耐心。
此外,我要感谢我所在的公司CSC- IT Center for Science和我的同事,给予我机会从事Ceph和其他云相关领域的工作。没有CSC和Ceph就不可能有这本书。非常感谢Ceph社区开发、改进和支持Ceph这个宏大的软件。

推荐序

我们喜欢称呼Ceph为“未来的存储”,这是一个能够引起很多不同层的人共鸣的称呼。对于系统架构师而言,Ceph的系统架构满足了所有人都希望构建的一类系统的需求。它是模块化和可扩展的,并且有容错设计的。对于用户来说,Ceph为传统和新兴的工作负载提供了一系列存储接口,可以在商用硬件上运行,并且支持仅以适度的资本投资来部署生产集群。对于免费软件爱好者来说,Ceph持续推动着这些技术,这些技术的代码库是完全开源的,且允许所有人免费审查、修改并完善这些代码,在存储行业中这些代码仍然成本昂贵且具有专有的使用权限。
Ceph项目始于我在加州大学圣克鲁斯的一个研究计划,这个计划由几个能源部实验室(洛斯·阿拉莫斯、劳伦斯·利弗莫尔和桑迪亚)资助。这个计划的目标是进一步加强拍字节(PB)级别的扩展、基于对象的存储系统。在2005年加入该组织的时候,我最初的重点是为文件系统构建可扩展的元数据管理,即如何在多个服务器之间管理文件和目录层次结构,这样,系统就可以响应超级计算机中的100万个处理器,在同一时间将文件写入文件系统的同一目录下。在接下来的3年里,我们主要研究了这个关键概念,然后构建了一个完整的体系结构并一直致力于这种系统的实现。
2006年当我们将最初描述Ceph的学术论文发表,并将相关代码开源且发布在网上后,我想我的主要工作就已经完成了。这个系统“运转正常”,现在开源社区的魔力和协作开发已经开始运转并迅速把Ceph变成自由软件,它也是我一直想在自己的数据中心运行的软件。我花了些时间才意识到原型和生产代码之间的巨大差距,还有高效的自由软件社区是需要随着时间的推移来建立的。我们在未来几年会继续发展Ceph,目标不变。我们构建了一个先进的分布式存储系统,并且完全免费,它之于存储行业正如Linux之于服务器市场。
围绕Ceph项目建立一个拥有活跃用户和开发者的社区是这次经历最有益的一部分。而在2012年和2013年成立Inktank商业公司来推动Ceph的产品化时,社区的主要话题就是沟通和审查。在那个时间点我们的主要问题是如何投资和雇用那些不为我们工作的专家和贡献者一起来构建这个社区。我相信对于开源模型的热切关注和理解最终使得Inktank和Ceph获得成功。我们试图建立一个包含用户、合作伙伴以及竞争对手而我们不占垄断地位的生态系统。
Karan Singh就是通过这种形式,在过去的几年中从Ceph社区浮现出来的一个社区成员。他是我们早期基于邮件和IRC论坛的一个活跃会员,在这个论坛,Ceph用户和开发者通过线上的方式开展他们的业务,主题包括开始使用Ceph的求助,讨论最佳的硬件或软件配置选项,分享崩溃报告和跟踪bug,或者合作开发新特性。
虽然我们在网上已经彼此认识好几年了,我最近才有机会私下和 Karan见面,我才发现他一直在努力写一本关于Ceph的书。我发现它证明了该社区的多样性,并成功完成了本书—第一本关于Ceph的纸质书,它是由一个和初始Ceph研发团队以及Inktank公司没有直接关系的人写的,但它促使Ceph成为人们关注的焦点。Karan在Ceph研究上雄厚的技术背景和在社区深厚的根基,让他能从一个理想的技术角度看Ceph的影响以及最重要的用户体验。

—Sage Weil
Red Hat公司Ceph首席架构师

图书目录

推荐序
译者序
作者简介
前言
第1章 Ceph存储介绍 1
1.1 概要 1
1.2 Ceph的历史和发展 2
1.3 Ceph和存储的未来 3
1.3.1 Ceph云存储解决方案 4
1.3.2 Ceph软件定义存储解决方案 6
1.3.3 Cehp统一存储解决方案 6
1.3.4 下一代架构 6
1.3.5 Raid时代的终结 7
1.4 兼容性组合 8
1.5 Ceph块存储 8
1.6 Ceph文件系统 9
1.7 Ceph对象存储 10
1.8 Ceph与其他存储解决方案 11
1.9 GPFS 12
1.10 iRODS 12
1.11 HDFS 12
1.12 Lustre 12
1.13 Gluster 13
1.14 Ceph 13
总结 14
第2章 Ceph实战部署 15
2.1 使用VirtualBox创建沙箱环境 15
2.2 从零开始部署你的第一个Ceph集群 20
2.3 纵向扩展Ceph集群—添加monitor和OSD 22
2.3.1 添加Ceph monitor 22
2.3.2 添加Ceph OSD 23
总结 24
第3章 Ceph架构和组件 25
3.1 Ceph存储架构 25
3.2 Ceph RADOS 26
3.2.1 Ceph对象存储设备 27
3.2.2 Ceph monitor 32
3.2.3 librados 35
3.2.4 Ceph块存储 35
3.2.5 Ceph对象网关 36
3.3 Ceph MDS 37
3.4 为Ceph集群部署MDS 37
3.5 Ceph文件系统 38
总结 39
第4章 Ceph内部构件 40
4.1 Ceph底层实现 40
4.2 对象 40
4.3 CRUSH 42
4.3.1 CRUSH查找 43
4.3.2 CRUSH层级结构 44
4.3.3 恢复和再平衡 45
4.3.4 编辑CRUSH map 45
4.3.5 定制集群布局 46
4.4 PG 47
4.4.1 计算PG数 48
4.4.2 修改PG和PGP 48
4.4.3 PG peering、up集合和acting集合 50
4.5 Ceph池 50
4.6 Ceph数据管理 53
总结 55
第5章 Ceph部署 56
5.1 Ceph集群硬件规划 56
5.1.1 监控需求 57
5.1.2 OSD需求 57
5.1.3 网络需求 58
5.1.4 MDS需求 59
5.2 再次配置VirtualBox环境 59
5.3 准备安装Ceph 59
5.4 Ceph集群手工部署 61
5.4.1 安装依赖 61
5.4.2 部署Ceph集群 62
5.4.3 部署monitor 62
5.4.4 创建OSD 65
5.5 扩展集群 66
5.5.1 添加monitor 67
5.5.2 添加OSD 68
5.6 使用ceph-deploy工具部署Ceph集群 69
5.7 升级Ceph集群 70
5.7.1 升级monitor 71
5.7.2 升级OSD 72
总结 73
第6章 Ceph存储配置 74
6.1 RADOS块设备 74
6.1.1 创建你的第一个Ceph客户端 75
6.1.2 映射RADOS块设备 77
6.1.3 调整Ceph RBD的大小 79
6.1.4 Ceph RBD快照 80
6.1.5 复制Ceph RBD 82
6.2 Ceph文件系统 85
6.2.1 使用内核驱动程序挂载CephFS 85
6.2.2 通过FUSE方式挂载CephFS 86
6.3 使用Ceph RADOS网关的对象存储 87
6.3.1 创建虚拟机 88
6.3.2 安装RADOS网关 89
6.3.3 配置RADOS网关 92
6.3.4 创建radosgw用户 96
6.3.5 访问Ceph对象存储 97
6.4 S3 API兼容的Ceph对象存储 97
总结 102
第7章 Ceph操作及管理 103
7.1 Ceph服务管理 103
7.1.1 采用sysvinit运行Ceph 103
7.1.2 根据类型启动守护进程 104
7.1.3 根据类型停止守护进程 105
7.1.4 启动及停止所有守护进程 105
7.1.5 启动及停止指定守护进程 106
7.2 把Ceph作为服务运行 106
7.2.1 启动、停止所有守护进程 107
7.2.2 启动、停止指定守护进程 107
7.3 横向扩展Ceph集群 107
7.4 向Ceph集群中添加OSD节点 108
7.5 Ceph集群缩容 110
7.6 从Ceph集群中移除并关闭一个OSD 111
7.7 从Ceph集群中移除OSD 112
7.8 替换出故障的磁盘设备 113
7.9 管理CRUSH map 115
7.10 确定CRUSH的位置 116
7.11 CRUSH map内部细节 117
7.12 将不同的池置于不同的OSD中 119
总结 122
第8章 监控Ceph集群 123
8.1 监控Ceph集群 123
8.1.1 检查集群健康状况 124
8.1.2 监控集群事件 124
8.1.3 集群利用率统计 125
8.1.4 检查集群的状态 125
8.1.5 基于密钥的集群验证 126
8.2 监控Ceph MON 127
8.2.1 MON状态 127
8.2.2 MON法定人数状态 127
8.3 监控Ceph OSD 128
8.3.1 OSD树视图 128
8.3.2 OSD统计 129
8.3.3 检查CRUSH map 129
8.3.4 监控PG 130
8.4 监控MDS 132
8.5 使用开源管理控制台监控Ceph 133
8.5.1 Kraken 133
8.5.2 ceph-dash工具 136
8.5.3 Calamari 138
总结 138
第9章 Ceph与OpenStack的集成 139
9.1 OpenStack简介 139
9.2 Ceph—OpenStack的最佳搭档 140
9.3 创建OpenStack测试环境 141
9.3.1 启动一个OpenStack主机 141
9.3.2 安装OpenStack 143
9.3.3 Ceph和OpenStack 145
9.3.4 在OpenStack节点安装Ceph 145
9.3.5 为OpenStack配置Ceph 146
总结 152
第10章 Ceph性能调优和基准测试 153
10.1 Ceph性能概述 153
10.2 Ceph性能关键点—硬件层面 154
10.2.1 CPU 154
10.2.2 内存 155
10.2.3 网络 155
10.2.4 磁盘 156
10.3 Ceph性能调优—软件层面 156
10.3.1 集群配置文件 157
10.3.2 配置文件段 157
10.4 Ceph集群性能优化 158
10.4.1 全局调优参数 158
10.4.2 OSD调优参数 158
10.4.3 客户端调优参数 161
10.4.4 通用调优参数 161
10.5 Ceph纠删码 162
10.5.1 低成本冷存储 164
10.5.2 实现纠删码 164
10.6 Ceph缓存分层 167
10.6.1 writeback模式 167
10.6.2 read-only模式 167
10.6.3 部署缓存分层 168
10.7 使用RADOS bench对Ceph进行基准测试 173
总结 175

教学资源推荐
作者: 过敏意 主编吴晨涛 李超 阮娜 陈雨亭 编著
作者: 刘海燕 荆涛 主编 王子强 武卉明 杨健康 周睿 编著
作者: 皮德常 编著
作者: (美)Eric S.Roberts
参考读物推荐
作者: (美)Erik M. Buck 著
作者: [瑞士]路易斯·汤斯顿(Lewis Tunstall),[瑞士]莱安德罗·冯·韦拉(Leandro von Werra),[法]托马斯·沃尔夫(Thomas Wolf) 著
作者: 陈晓勇 著
作者: (美)Gary Gruver, Mike Young, Pat Fulghum 著