首页>参考读物>计算机科学与技术>计算机网络

OpenStack实战指南
作者 : 黄凯 毛伟杰 顾骏杰 著
出版日期 : 2014-09-09
ISBN : 978-7-111-47632-0
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 284
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书首先以OpenStack的形成历史和社区规则为契机介绍OpenStack的组成、以及如何获取和安装,然后配合实际案例对OpenStack的各个部件的功能和源代码进行深入分析。每一部分不光介绍如何使用,也力求透彻分析源代码,使得二次开发成为可能;注重实际应用开发需求,书中所涵盖的知识点都是作者实际使用和开发中经历和验证过的重点。
全书共12章,第1章介绍了阅读OpenStack项目本身以及和其他云计算框架的简单对比;第2章则涵盖了通过不同方式安装OpenStack的方法,以及使用OpenStack的一些基本方式;第3章概括介绍了OpenStack的各个组件、总体的系统结构以及组件间的通过配置文件结构;第4章分析了OpenStack API和SDK,包括从API到核心组件的调用流程,同时讨论了如何通过API扩展OpenStack框架的方法;第5章讲解了Keystone认证组件,这是所有组件所必须的基础组件;第6章深入讲解了Glance镜像管理组件,对虚拟机镜像的管理和分发进行了较为全面的分析。第7章是最重要的nova计算组件的介绍,也包括了调度组件的工作原理的详细理解。第8章深入讲解了Cinder块存储组件的使用方法和实现原理,同时介绍了使用Ceph开源项目进行整合的一个实际案例。第9章是对Swift对象存储组件的介绍和原理机制的分析;第10章是对两个不同的网络组件nova-network和quantum的介绍与分析;第11章阐述了如何管理和运维以OpenStack为基础搭建的私有云系统和一些常见问题的解决;最后12章以向导的方式一步步带领读者搭建一个小型的OpenStack环境,从而把前面的知识点实际串联起来。
本书适合有一定Linux基础的应用开发工程师和系统工程师阅读。通过对本书的学习,大家将能更深刻地理解OpenStack系统并有效应对实际使用和开发中遇到的难题。

图书特色

封面:
结合作者在云计算领域的实战经验和最佳实践,深入剖析OpenStack体系结构的
设计理念及实际应用,透析其中每个模块的工作原理

封底:
开源项目OpenStack正在公有云和私有云中大行其道,众多IT企业和研发团队的开发人员都跃跃欲试想要搭上这一班“云计算的动车组”。面对有史以来最为庞杂、参与人数最多的开源项目之一,如何快速理顺OpenStack中纷繁复杂的各种概念?如何深度集成和定制某个功能模块?出现问题时面对隐晦的日志无法找到根本原因怎么办?想弄清楚OpenStack某个模块的设计精髓以模仿这样一个大规模分布式计算框架,又该学些什么?本书将带领你抽丝剥茧,了解每个模块的使用方法和工作原理,让你可以在短时间内一窥OpenStack的全貌并找到最合适的方法深度定制一个云计算环境。

本书的主要内容和特色:
由浅入深,既有快速上手向导,又有深度定制所需的重要知识点。
本书突出以实战为主的阅读目的,所有内容都在一线真实环境中经过实践检验。
对于关键参数和大量配置信息均给出了归纳和说明,去繁取精,一目了然。
针对每个组件不仅做了针对性的用法分析,同时介绍一些与云计算相关的虚拟化知识和系统管理方法。
结合大量图例展示组件之间的调用顺序和关系,全方位展示系统过程与原理。
配合各章的主题,进行关键核心代码的解读,做到“知其然,也知其所以然”,帮助读者进一步开展更深入的学习。

前:
本书是目前有关OpenStack使用和开发方面较全面的作品,结合了作者在各自领域的实战经验和最佳实践,全方位整理和总结了各种与OpenStack相关的知识和文档,通过通俗易懂的语言,并配以大量关键代码的解读,深入浅出地介绍OpenStack的关键组件,帮助读者快速高效地了解和掌握基于OpenStack的云计算环境的搭建与运营。
书中首先通过介绍OpenStack体系结构和相关开发资源,以及第2章的向导帮助读者快速配置一个普通的OpenStack环境。然后重点介绍如何使用OpenStack的计算API以及如何通过扩展来得到自定义功能,其中包括定制化开发Horizon图形界面所需要了解的各种知识。接着围绕OpenStack的计算、存储和网络组件进行深入剖析和展示,如基本调用流程、主要配置项和常用选项的使用方法等。最后综合数据中心的典型运维场景介绍了OpenStack日常维护与诊断,进一步帮助读者提升对OpenStack的掌握与运用。

后:
黄 凯 近十年来一直从事企业级容器和基础架构的设计研究,曾就职于普元软件、EMC中国研发中心等公司,亲自参与大量企业级数据应用与存储创新项目的设计开发,对分布式环境下的高性能计算有深刻认识,拥有多项关于虚拟化与弹性计算的国内外专利。目前担任IBM x86云计算解决方案专家,主要从事x86数据中心的各类云计算参考方案的设计、规划以及咨询,拥有丰富的云计算数据中心经验。
毛伟杰 从事虚拟化方面的工作,主要负责大型企业数据中心基于VMware的私有云规划、部署、运维。目前就职于嘉值云计算公司,从事与OpenStack相关的工作,负责研究、开发、部署基于OpenStack的云计算技术。在系统运维和网络技术方面有丰富的经验。
顾骏杰 一直从事云计算方案的研发、设计、规划、咨询工作,主要侧重企业私有云、云数据中心的建设和规划。目前就职于普元软件,担任云计算架构师,参与银联私有云的建设,利用开源技术结合国内企业特殊需求,深度定制化开发符合国企特色的私有云。参与云计算相关专利、论文的撰写。在利用OpenStack等开源技术为国有企业进行私有云建设方面,拥有丰富的实战经验。

图书前言

在2007年前后,许多网站站长发现当时一部分主流机托管商开始逐步使用虚拟化技术提供云主机的托管服务,而当时的虚拟化程度还停留在半虚拟化或类似OpenVZ这样的伪虚拟化的水平。即便如此,一台服务器已经可以承载数十台甚至上百台虚拟主机的负荷,而且安全性更好,价格也更低。通过更加有效的隔离和封装,虚拟主机的创建和恢复也变得更加迅速和可靠。与此同时,像Eucalyptus和OpenNebula这样的云计算管理工具也开始逐步进入人们的视野。
次年,笔者机缘巧合地加入了EMC(也就是VMware的母公司)在中国的研发实验室。此后几年,以VMware ESX为主的私有云在中国的各个数据中心遍地开花。与此同时,存储超配、内存去重、SDN等技术也纷至沓来,使得云计算更加集约化,各种硬件资源的管理也更加合理。笔者正是在这种“天时地利”的条件下在实验室里开展了各项研究,让P2P计算、Hadoop计算和HPC在虚拟化和云计算技术的辅助下更加灵活和高效。
后来笔者加入了IBM中国实验室,负责x86架构下的云计算解决方案的设计和开发。作为OpenStack的主要代码贡献者,IBM公司的资源让笔者对KVM和OpenStack等开源的云计算方案有了零距离接触和本质了解,为了让每GB级别的存储和每MB级别的带宽给用户带来更多的价值,笔者也经常不断地将方案推翻重来。也就是在这段时间,OpenStack逐渐步入了它的成熟期。
从OpenStack早期的Essex版本一直到最新的IceHouse版本,笔者在不同的环境下都部署过,深深体验到了由于早期OpenStack不成熟导致的各种问题和障碍,有时候两天或三天也找不到解决方案,只能硬着头皮“挖”StackOverflow的帖子,甚至一行行地从OpenStack代码中“抠”Bug。虽然在这期间笔者增长了知识,也学会了苦中作乐,但笔者却不想读者也为同样的问题徒增几根白发或加班熬夜。幸运的是,随着OpenStack版本的不断升级,无论是代码质量还是文档的详尽度,都在一步步走向成熟,变得更加易用,而对于企业级应用中亟待解决的问题和需求,OpenStack都逐渐有了清晰的答案和参考解决方案。随之而来的是许多早期云计算用户的态度,也从最早的FUD(Fear/Uncertainty/Doubt,即害怕、不确定、怀疑的英文缩写)到逐渐接受甚至主动申请往OpenStack上迁移。
时至今日,国内用户对OpenStack的兴趣与日俱增,2013年的“OpenStack大会”更是破格在中国香港举办。本书的出版对于帮助读者学习和了解OpenStack应该是非常及时的。
2014年将是OpenStack加速进入生产环境和应用的元年,撇开Mirantis、Rackspace和Softlayer这些典型的云主机服务商,各大电信企业、电商也在跃跃欲试,使用OpenStack部署私有云或公有云环境。举个例子,笔者就见证了国内某金融服务商的数百台服务器、几千个虚拟机的OpenStack群集应用。据估计,到2015年,全球将会有约50亿美元投入到云计算建设或升级中,这其中以OpenStack为基础的云计算平台和应用肯定会大放异彩;而随着亚马逊云计算在中国的落地和国内大小云计算提供商的纷纷上马,好戏还在后头。
云计算并不只是虚拟化,实际是由虚拟化引出的所谓“软件定义的数据中心”。它不仅包括网络的虚拟化、计算的虚拟化和存储的虚拟化,还对传统数据中心的运维、管理,甚至硬件选型都产生了深刻的影响,因此,读者在学习和应用OpenStack云平台部署的时候,最好同时了解一下:哪些功能是在硬件层提供的,哪些功能是在协议层提供的,哪些功能是在虚拟层提供的,哪些功能是在OS层甚至应用层提供的。思考这些问题不仅可以帮助优化系统的整体性能,也会帮助系统管理员更加高效和简单地管理整体云计算环境。同时读者也需要对Linux操作系统有更深的了解。限于篇幅,本书无法对上述问题一一给出解答,笔者推荐读者参看由机械工业出版社出版的Kai Hwang所著的《云计算与分布式系统:从并行处理到物联网》,这本书是开始着手学习OpenStack之前的一本非常好的基础及进阶读物。
OpenStack社区和各大网站上关于OpenStack配置和运维的文档和讨论繁多,有时笔者觉得本书中某些内容无非是在做搬运工兼翻译的活计,但回头想想,当有人向自己虚心请教OpenStack的问题时若被回复一句“自己看文档去”,他心里会是何等失落。所以在写作中,笔者将体力和脑力活动一并进行,把良莠不齐的文档甄选一番,省去很多初涉OpenStack云计算读者的麻烦,让他们把时间花在更有意义的开发上,这也算是一件很有意义的事情。我希望本书的出版能让更多的人掌握OpenStack的原理和操作,广泛了解目前处于云计算前沿的技术。我还希望借此推动国内高校云计算的教学——不仅作为一门选修课,更要帮助学生将其作为IT领域的核心技能之一来掌握。
随着越来越多的开发者投入OpenStack这个生态圈,笔者也特别希望分享自己总结的成功或失败的经验,避免其他人走同样的弯路,帮助他们进入OpenStack开发的“快车道”。虽然笔者已经在企业级计算、存储及服务器领域辗转十余年,对于数据中心的建设与运维稍有心得,但一人智短,三人智长,我特别要感谢Frank、杨海明、Mark Zhu,他们在本书的创作过程中,为笔者解惑释疑,帮助扫除知识的死角,使笔者可以从系统的高度去阐述OpenStack,避免局限在技术细节而忽视了全系统的协同。这里笔者也要感谢奋战在一线的同事,他们给予的许多宝贵的现场反馈让笔者重新思索如何将OpenStack与用户实际需求相结合,避免纸上谈兵和教条主义。他们其中很多人是OpenStack的核心代码开发者,对专业知识的深入理解让笔者钦佩,也深深感到设计OpenStack这样一个通用云计算框架的不易。最后,笔者也要感谢无私地将OpenStack学习笔记分享出来的lvsaloon、nc_triin等技术爱好者。

黄 凯
2014年4月于上海

上架指导

云计算

封底文字

开源项目OpenStack正在公有云和私有云中大行其道,众多IT企业和研发团队的开发人员都跃跃欲试想要搭上这一班云计算的动车组。面对有史以来最为庞杂、参与人数最多的开源项目之一,如何快速理顺OpenStack中纷繁复杂的各种概念?如何深度集成和定制某个功能模块?出现了问题时面对隐晦的日志无法找到根本原因怎么办?想弄清楚OpenStack某个模块的设计精髓以模仿这样一个大规模分布式计算框架,又该学些什么?本书将带领你抽丝剥茧,了解每个模块的使用方法和工作原理,提供一个快速上手OpenStack的手册,让你可以在短时间内一窥OpenStack的全貌并找到最合适的方法深度定制一个云计算环境。
本书的主要内容和特色:
 由浅入深,既有快速上手向导,又有深度定制所需的重要知识点。
 文章所有内容都在一线真实环境中经过实践检验,突出实战为主的阅读目的。
 对于关键参数和大量配置信息均给出了归纳和说明,去繁取精,一目了然。
 针对每个组件不仅做了针对性的用法分析,同时介绍一些云计算相关的虚拟化知识和系统管理方法。
 大量结合图例展示组件之间的调用顺序和关系,全方位展示系统过程与原理。
 配合各章的主题,进行关键核心代码的解读,做到“知其然,也知其所以然”。帮助读者进一步开展更深入的学习。

作者简介

黄凯 毛伟杰 顾骏杰 著:黄凯,毕业于湖南大学应用数学专业,近十年来一直从事企业级容器和基础架构的设计研究,曾就职于普元软件、EMC中国研发中心等公司,亲自参与大量企业级数据应用与存储创新项目的设计开发,对分布式环境下的高性能计算有深刻认识,拥有多项关于虚拟化与弹性计算的国内外专利。目前任IBM x86云计算解决方案专家,主要从事x86数据中心的各类云计算参考方案的设计、规划、咨询以及相关红皮书的撰写,拥有丰富的云计算数据中心经验。

毛伟杰,毕业于上海理工大学信息与计算科学专业,毕业后从事虚拟化方面的工作,主要负责大型企业数据中心基于vmware的私有云规划,部署,运帷。目前就职于嘉值云计算公司,从事OpenStack相关的工作,负责研究,开发,部署基于OpenStack的云计算技术。在系统运帷和网络技术方面有丰富的经验。

顾骏杰,毕业于上海电力学院计算机科学与技术专业,毕业后一直从事云计算方案的研发、设计、规划、咨询工作,主要侧重企业私有云、云数据中心的建设、规划。目前就职于普元软件,担任云计算架构师,参与银联私有云的建设,利用开源技术结合国内企业特殊需求,深度定制化开发符合国企特色的私有云。参与云计算相关专利、论文撰写。在利用OpenStack等开源技术为国有企业私有云建设方面,拥有丰富的实战经验。

图书目录

前 言
第一部分 基 础 篇
第1章 OpenStack简介 2
1.1 OpenStack概述 2
1.2 OpenStack的结构 3
1.3 OpenStack的功能与作用 4
1.4 OpenStack与CloudStack的比较 6
1.5 OpenStack应用现状和发展趋势 8
1.6 体验OpenStack 10
1.6.1 初探OpenStack 10
1.6.2 创建OpenStack虚拟机实例 12
1.6.3 创建虚拟机流程概述 14
1.6.4 创建OpenStack磁盘实例 16
1.6.5 创建块存储流程概述 20
1.7 OpenStack体系结构 22
1.7.1 OpenStack设计原则 22
1.7.2 OpenStack架构 23
1.8 OpenStack的开发资源 24
1.8.1 OpenStack社区 24
1.8.2 OpenStack基金会 25
1.8.3 OpenStack项目资料 25
1.9 OpenStack非核心项目介绍 29
1.9.1 Ironic项目介绍 29
1.9.2 Tempest项目介绍 33
第2章 OpenStack的安装 35
2.1 在Ubuntu上使用二进制包安装 35
2.1.1 控制节点的安装 35
2.1.2 网络节点的安装 55
2.1.3 计算节点的安装 60
2.1.4 块存储节点的安装 64
2.2 在Ubuntu上使用源代码编译安装 66
2.2.1 控制节点的安装 67
2.2.2 计算节点的安装 79
2.2.3 网络节点的安装 81
2.2.4 块存储节点的安装 82
第二部分 进 阶 篇
第3章 OpenStack组织结构一览 84
3.1 组件关系 84
3.1.1 Nova组件 85
3.1.2 Swift组件 87
3.1.3 Keystone组件 87
3.1.4 Glance组件 88
3.1.5 Neutron组件 89
3.1.6 Cinder组件 89
3.2 OpenStack目录组织结构 90
3.2.1 Nova目录结构 90
3.2.2 Swift目录结构 91
3.2.3 Keystone目录结构 92
3.2.4 Glance目录结构 92
3.2.5 Neutron目录结构 93
3.2.6 Cinder目录结构 93
3.3 OpenStack配置文件 94
3.3.1 Nova配置文件及日志 94
3.3.2 Swift配置文件及日志 95
3.3.3 Keystone配置文件及日志 95
3.3.4 Glance配置文件及日志 96
3.3.5 Neutron配置文件及日志 96
3.3.6 Cinder配置文件及日志 96
3.4 小结 98
第4章 OpenStack API的介绍和开发 99
4.1 简述Nova API体系 99
4.1.1 WSGI架构 99
4.1.2 API响应流程 102
4.1.3 扩展API的加载 103
4.1.4 Nova API列表 104
4.1.5 分页查询和查询优化 106
4.1.6 如何编写一个核心API 108
4.1.7 如何编写一个扩展API 108
4.1.8 通过Filter为API增加功能 109
4.2 理解Eventlet 110
4.3 自定义DashBoard面板 112
4.3.1 理解Django框架 112
4.3.2 Django界面国际化 112
4.3.3 玩转Horizon 115
第5章 Keystone认证组件 119
5.1 认证组件Keystone介绍 119
5.1.1 基本概念 119
5.1.2 用户管理 120
5.1.3 服务管理 123
5.2 配置文件及参数选项 123
5.2.1 keystone.conf配置文件示例 124
5.2.2 keystone-paste.ini配置文件示例 134
5.2.3 logging.conf配置文件示例 136
5.2.4 连接OpenStack服务到Keystone 137
5.3 原理分析 139
5.3.1 Keystone认证原理 139
5.3.2 图解Keystone 143
5.4 关键源代码阅读 146
5.4.1 源代码分析之服务启动 146
5.4.2 源代码分析之CLI调用 151
5.5 案例:配置Keystone使用Active Directory进行认证 152
第6章 Glance镜像组件 154
6.1 镜像组件介绍 154
6.1.1 Glance表结构 155
6.1.2 Glance中镜像的概念 157
6.2 Glance的配置文件 159
6.2.1 glance-api.conf文件概述 159
6.2.2 配置镜像缓存 163
6.2.3 glance-registry.conf文件概述 165
6.3 设置Glance的后端存储 166
6.4 制作镜像 167
6.4.1 使用virt-install创建CentOS镜像 167
6.4.2 在Ubuntu上使用QEMU相关命令制作Windows镜像 170
第7章 Nova计算组件 174
7.1 Nova组件介绍 174
7.2 虚拟化组件 175
7.3 配置文件及参数 177
7.3.1 数据库配置 178
7.3.2 Hypervisor配置 179
7.3.3 RPC配置 181
7.3.4 配额设置 182
7.3.5 日志配置 183
7.3.6 调度配置 184
7.3.7 VNC配置 184
7.4 关键源代码阅读 185
7.4.1 Nova服务启动 185
7.4.2 虚拟机状态转换 188
7.4.3 Nova Context 195
7.4.4 Keystone认证处理 195
7.4.5 REST API调用 196
7.4.6 组件间RPC调用 198
7.4.7 Hypervisor驱动 198
7.5 虚拟机镜像格式 202
第8章 Neutron网络组件 203
8.1 Neutron概述 203
8.2 使用Open vSwitch的plugin 208
第9章 Cinder块存储组件 216
9.1 Cinder交互流程 216
9.1.1 Nova现有块设备操作API统计 216
9.1.2 Nova-Cinder交互流程分析 217
9.1.3 相关代码源文件 226
9.1.4 使用Cinder实现云硬盘需要注意的问题 227
9.2 配置从Volume启动虚拟机 227
9.3 使用Ceph作为Cinder的后端 230
第10章 OpenStack日常运维 233
10.1 维护与诊断 233
10.1.1 控制节点和Swift的维护与纠错 233
10.1.2 计算节点的维护与纠错 234
10.1.3 网络诊断 239
10.2 标准化修复与例行检查流程 246
10.2.1 标准化修复 246
10.2.2 例行检查 247
10.3 日志与监控 247
10.3.1 定位错误 247
10.3.2 错误日志 248
10.3.3 集中管理日志 252
10.3.4 监控 253
10.4 备份与恢复 257
10.4.1 需要备份的数据 257
10.4.2 数据库备份 257
10.4.3 文件系统备份 258
10.4.4 数据恢复 259
第11章 使用Fuel快速安装OpenStack 260
11.1 Fuel规划 261
11.2 Fuel安装及使用 263
11.3 小结 273

教学资源推荐
作者: [美] 鲁斯·怀特(Russ White) 伊桑·班克斯(Ethan Banks)著
作者: 罗军勇,刘琰,常斌
作者: Natalia Olifer; Victor Olifer
作者: 教育部高等学校计算机类专业教学指导委员会 物联网工程专业教学研究专家组 编制
参考读物推荐