本书结合OpenStack整体架构,对OpenStack云平台核心组件的工作原理进行介绍与分析,并通过OpenStack的实践部署,将OpenStack的理论与实践相结合,使读者能够在了解OpenStack部署和安装的同时,熟悉OpenStack内部核心组件的协作关系。
全书在组织形式上,采用理论与实践相结合的描述方式,图文并茂地将OpenStack具体的理论知识形象地呈现给读者,并通过具体的配置案例,引导读者将每一个组件部署在OpenStack的云平台上。
本书适合应用型本科院校软件工程专业及计算机类其他专业云计算类课程使用,也可供对云平台部署有兴趣的其他读者使用。
--云计算专业入门级教材 --结合OpenStack的部署过程进行讲解
及时章 云计算与OpenStack简介 1
1.1 云计算的概念 1
1.2 云计算工作模式 2
1.3 云计算的特点 3
1.4 云计算的服务模式 3
1.5 OpenStack概述 4
1.6 OpenStack的功能与作用 5
1.7 OpenStack部署方式介绍 7
1.8 OpenStack的应用现状与发展趋势 8
1.8.1 OpenStack的版本演变 8
1.8.2 OpenStack的发展趋势 10
1.9 其他开源云平台简述 10
1.9.1 Eucalyptus 10
1.9.2 AbiCloud 12
1.9.3 OpenNebula 12
第二章 OpenStack整体系统架构 14
2.1 OpenStack基本框架 14
2.1.1 OpenStack核心组件 14
2.1.2 OpenStack架构的设计原则 15
2.2 OpenStack整体架构模型 16
2.2.1 OpenStack的功能构成 16
2.2.2 OpenStack逻辑结构与模型 17
2.3 OpenStack物理架构 19
2.4 OpenStack的运行机制与流程 20
2.4.1 AMQP消息处理与响应机制 20
2.4.2 OpenStack工作流程 22
2.4.3 OpenStack平台管理流程 23
2.5 完善中的OpenStack 24
2.6 OpenStack部署准备 25
第三章 Nova组件 26
3.1 Nova的基本概念 27
3.2 Nova工作原理及组件构成 30
3.2.1 Nova核心组件的构成 30
3.2.2 Nova组件的协作关系 32
3.3 Nova-API模块 33
3.3.1 Nova API的作用 34
3.3.2 Nova API中的WSGI接口 35
3.3.3 Nova API结构 35
3.3.4 Nova API服务流程 36
3.3.5 扩展API(Extension API) 40
3.4 Nova-Client功能分析 43
3.5 Nova-Compute模块 44
3.6 Nova中的RabbitMQ解析 45
3.6.1 RabbitMQ 46
3.6.2 AMQP 46
3.6.3 RabbitMQ在Nova中的实现 47
3.6.4 rpc.call和rpc.cast调用流程 51
3.7 Nova-Schedule模块 52
3.8 Nova-Cell模块 54
3.8.1 Nova Cell模块简介 54
3.8.2 Nova Cell模块基础架构 54
3.8.3 Nova Cell模块中主要组件介绍 55
3.8.4 Nova Cell环境配置与搭建 56
3.9 Nova的安装与配置 59
3.9.1 创建数据库 60
3.9.2 配置 60
3.9.3 启动服务 62
3.9.4 同步数据并启动服务 62
3.9.5 查看服务 62
3.9.6 组策略 62
3.9.7 检查故障 63
第四章 keystone认证组件 64
4.1 认识keystone 64
4.2 keystone架构 65
4.3 keystone的基本概念和数据模型 65
4.3.1 keystone基本概念 65
4.3.2 角色关联 67
4.3.3 keystone数据模型 68
4.4 keystone的工作原理 71
4.5 安装与配置keystone 73
4.5.1 安装Keystone的准备工作 73
4.5.2 keystone相关的配置文件 75
4.5.3 keystone安装过程 75
4.5.4 keystone安装验证 79
第五章 Glance镜像组件 82
5.1 Glance概述 82
5.1.1 Glance功能 82
5.1.2 Glance基本概念 82
5.2 Glance架构与数据模型 84
5.2.1 Glance逻辑架构 85
5.2.2 Glance数据库设计 86
5.3 Glance的关键配置文件 88
5.3.1 glance-api.conf文件 89
5.3.2 glance-registry.conf文件 89
5.3.3 其他配置文件 90
5.4 Glance的后端存储与工作流程 90
5.4.1 镜像的后端存储 91
5.4.2 Glance组件的工作流程 91
5.5 Glance安装与部署 92
5.5.1 准备工作 92
5.5.2 Glance安装过程 94
5.5.3 验证Glance的安装 96
5.6 镜像制作 98
5.6.1 Ubuntu镜像的制作 98
5.6.2 Windows镜像的制作 99
第六章 Storage分布式存储组件 101
6.1 Swift对象存储 102
6.1.1 基本原理 102
6.1.2 Swift架构及主要组件 104
6.1.3 Swift特性 108
6.1.4 应用场景 108
6.2 Cinder块存储 109
6.2.1 Cinder架构 111
6.2.2 Cinder服务 112
6.2.3 Cinder插件 114
6.2.4 Cinder操作 115
6.2.5 Cinder支持典型存储 116
6.2.6 Cinder在IT环境中的主要问题 118
6.3 安装与配置Cinder 119
6.3.1 配置要求 119
6.3.2 安装过程 119
第七章 Quantum网络组件 123
7.1 Quantum概述 123
7.1.1 OpenStack网络基本构成 123
7.1.2 Quantum基本概念 125
7.2 Quantum架构 127
7.2.1 Quantum网络架构 127
7.2.2 Quantum网络原理 128
7.2.3 Quantum逻辑模型 129
7.3 OpenStack网络模式 131
7.3.1 Flat模式 131
7.3.2 FlatDHCP模式 132
7.3.3 VLAN模式 132
7.4 OpenStack网络通信原理 133
7.4.1 OpenStack中的固定IP和
浮动IP 133
7.4.2 Quantum通信流程 134
7.5 Quantum的安装与部署 136
7.5.1 准备工作 137
7.5.2 Quantum的安装 137
第八章 Horizon前端界面组件 140
8.1 Horizon组件概述 140
8.1.1 Horizon 140
8.1.2 Horizon功能 141
8.2 Horizon基本架构 141
8.2.1 Django 141
8.2.2 Horizon架构 142
8.3 Horizon工作原理和定制 143
8.3.1 Horizon的工作过程 143
8.3.2 定制Horizon 144
8.4 Horizon安装与部署 144
8.4.1 准备工作 144
8.4.2 安装Horizon 145
8.5 Horizon中的Openstack 145
8.5.1 登录界面 145
8.5.2 云平台资源管理 147
8.5.3 管理镜像 147
8.5.4 管理虚拟机 148
8.5.5 管理用户 150
第9章 OpenStack部署与调试 152
9.1 OpenStack部署 152
9.1.1 系统准备 152
9.1.2 网络基本配置 153
9.1.3 基础组件安装 154
9.1.4 keystone安装 154
9.1.5 Glance安装 157
9.1.6 Quantum安装 158
9.1.7 Nova安装 160
9.1.8 Cinder安装 163
9.1.9 Horizon安装 165
9.2 问题与调试 165
9.2.1 日志文件 165
9.2.2 常见错误 166
9.3 基于OpenStack的实践案例 169
9.3.1 FastCloud云平台 169
9.3.2 FastCloud应用场景 170
9.3.3 案例系统实现 171
9.3.4 案例系统演示 172
9.4 OpenStack的未来 174