描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111562795丛书名: 云计算与虚拟化技术丛书
内容简介
本书将展示规划、部署和有效管理Ceph集群所需的所有技能,指导你了解Ceph的技术、架构和组件。通过分步骤解释每个Ceph组件的部署,本书将带你学习Ceph存储配置以及Ceph与OpenStack的集成。然后,你将了解如何部署和设置Ceph集群,探索各种组件以及为什么需要它们。通过学习本书,你不仅会了解Ceph的基础知识,甚至会成为熟悉Ceph高级特性的专家。
目 录
目录 Contents
推荐序
译者序
作者简介
前言
第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 GPFS12
1.10 iRODS12
1.11 HDFS12
1.12 Lustre12
1.13 Gluster13
1.14 Ceph13
总结14
第2章 Ceph实战部署15
2.1 使用VirtualBox创建沙箱环境15
2.2 从零开始部署你的个Ceph集群20
2.3 纵向扩展Ceph集群—添加monitor和OSD22
2.3.1 添加Ceph monitor22
2.3.2 添加Ceph OSD23
总结24
第3章 Ceph架构和组件25
3.1 Ceph存储架构25
3.2 Ceph RADOS26
3.2.1 Ceph对象存储设备27
3.2.2 Ceph monitor32
3.2.3 librados35
3.2.4 Ceph块存储35
3.2.5 Ceph对象网关36
3.3 Ceph MDS37
3.4 为Ceph集群部署MDS37
3.5 Ceph文件系统38
总结39
第4章 Ceph内部构件40
4.1 Ceph底层实现40
4.2 对象40
4.3 CRUSH42
4.3.1 CRUSH查找43
4.3.2 CRUSH层级结构44
4.3.3 恢复和再平衡45
4.3.4 编辑CRUSH map45
4.3.5 定制集群布局46
4.4 PG47
4.4.1 计算PG数48
4.4.2 修改PG和PGP48
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 准备安装Ceph59
5.4 Ceph集群手工部署61
5.4.1 安装依赖61
5.4.2 部署Ceph集群62
5.4.3 部署monitor62
5.4.4 创建OSD65
5.5 扩展集群66
5.5.1 添加monitor67
5.5.2 添加OSD68
5.6 使用ceph-deploy工具部署Ceph集群69
5.7 升级Ceph集群70
5.7.1 升级monitor71
5.7.2 升级OSD72
总结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 RBD82
6.2 Ceph文件系统85
6.2.1 使用内核驱动程序挂载CephFS85
6.2.2 通过FUSE方式挂载CephFS86
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运行Ceph103
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集群中移除并关闭一个OSD111
7.7 从Ceph集群中移除OSD112
7.8 替换出故障的磁盘设备113
7.9 管理CRUSH map115
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 MON127
8.2.1 MON状态127
8.2.2 MON法定人数状态127
8.3 监控Ceph OSD128
8.3.1 OSD树视图128
8.3.2 OSD统计129
8.3.3 检查CRUSH map129
8.3.4 监控PG130
8.4 监控MDS132
8.5 使用开源管理控制台监控Ceph133
8.5.1 Kraken133
8.5.2 ceph-dash工具136
8.5.3 Calamari138
总结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 安装OpenStack143
9.3.3 Ceph和OpenStack145
9.3.4 在OpenStack节点安装Ceph145
9.3.5 为OpenStack配置Ceph146
总结152
第10章 Ceph性能调优和基准测试153
10.1 Ceph性能概述153
10.2 Ceph性能关键点—硬件层面154
10.2.1 CPU154
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进行基
推荐序
译者序
作者简介
前言
第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 GPFS12
1.10 iRODS12
1.11 HDFS12
1.12 Lustre12
1.13 Gluster13
1.14 Ceph13
总结14
第2章 Ceph实战部署15
2.1 使用VirtualBox创建沙箱环境15
2.2 从零开始部署你的个Ceph集群20
2.3 纵向扩展Ceph集群—添加monitor和OSD22
2.3.1 添加Ceph monitor22
2.3.2 添加Ceph OSD23
总结24
第3章 Ceph架构和组件25
3.1 Ceph存储架构25
3.2 Ceph RADOS26
3.2.1 Ceph对象存储设备27
3.2.2 Ceph monitor32
3.2.3 librados35
3.2.4 Ceph块存储35
3.2.5 Ceph对象网关36
3.3 Ceph MDS37
3.4 为Ceph集群部署MDS37
3.5 Ceph文件系统38
总结39
第4章 Ceph内部构件40
4.1 Ceph底层实现40
4.2 对象40
4.3 CRUSH42
4.3.1 CRUSH查找43
4.3.2 CRUSH层级结构44
4.3.3 恢复和再平衡45
4.3.4 编辑CRUSH map45
4.3.5 定制集群布局46
4.4 PG47
4.4.1 计算PG数48
4.4.2 修改PG和PGP48
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 准备安装Ceph59
5.4 Ceph集群手工部署61
5.4.1 安装依赖61
5.4.2 部署Ceph集群62
5.4.3 部署monitor62
5.4.4 创建OSD65
5.5 扩展集群66
5.5.1 添加monitor67
5.5.2 添加OSD68
5.6 使用ceph-deploy工具部署Ceph集群69
5.7 升级Ceph集群70
5.7.1 升级monitor71
5.7.2 升级OSD72
总结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 RBD82
6.2 Ceph文件系统85
6.2.1 使用内核驱动程序挂载CephFS85
6.2.2 通过FUSE方式挂载CephFS86
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运行Ceph103
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集群中移除并关闭一个OSD111
7.7 从Ceph集群中移除OSD112
7.8 替换出故障的磁盘设备113
7.9 管理CRUSH map115
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 MON127
8.2.1 MON状态127
8.2.2 MON法定人数状态127
8.3 监控Ceph OSD128
8.3.1 OSD树视图128
8.3.2 OSD统计129
8.3.3 检查CRUSH map129
8.3.4 监控PG130
8.4 监控MDS132
8.5 使用开源管理控制台监控Ceph133
8.5.1 Kraken133
8.5.2 ceph-dash工具136
8.5.3 Calamari138
总结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 安装OpenStack143
9.3.3 Ceph和OpenStack145
9.3.4 在OpenStack节点安装Ceph145
9.3.5 为OpenStack配置Ceph146
总结152
第10章 Ceph性能调优和基准测试153
10.1 Ceph性能概述153
10.2 Ceph性能关键点—硬件层面154
10.2.1 CPU154
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进行基
前 言
Preface 前言数据—这是个简单的词,但它存储着整个世界的过去、现在和将来。同时,它也是现存的任何系统的关键元素。我们生活在一个技术时代,它每秒钟都会产生巨量的数据,并且随着时间的迁移,这些数据的量级会达到让人不可思议的程度。然而,我们如何才能安全、可靠并面向未来地存储这些永远都在产生的数据呢?本书将讨论一个存储技术规则的改变者,它将重新定义存储的未来。
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是种开源技术,它是软件定义存储的领导者。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经理和专家提供了重要息。
评论
还没有评论。