第一部分 入门指南 2
第1章 介绍OpenStack 2
1.1 OpenStack是什么 4
1.2 理解云计算和OpenStack 7
1.3 关联OpenStack及其控制的计算资源 8
1.3.1 OpenStack和hypervisor 9
1.3.2 OpenStack和网络服务 11
1.3.3 OpenStack和存储 12
1.3.4 OpenStack和云专业术语 13
1.4 OpenStack组件介绍 14
1.5 OpenStack发展历史 14
1.6 小结 15
第2章 体验使用OpenStack 16
2.1 DevStack是什么 17
2.2 部署DevStack 18
2.2.1 搭建服务器 20
2.2.2 准备服务器环境 21
2.2.3 准备DevStack 22
2.2.4 执行DevStack 24
2.3 使用OpenStackDashboard 30
2.3.1 Overview界面 32
2.3.2 Access&Security界面 32
2.3.3 Images&Snapshots界面 35
2.3.4 Volumes界面 38
2.3.5 Instances界面 39
2.4 访问第一个私有云服务器 43
2.4.1 为实例分配浮动IP 44
2.4.2 允许到达浮动IP的网络访问 45
2.5 小结 45
第3章 OpenStack基本操作 46
3.1 使用OpenStack CLI 47
3.2 使用OpenStack API 49
3.3 租户模型操作 50
3.3.1 租户模型 50
3.3.2 创建租户、用户和角色 52
3.3.3 租户网络 55
3.4 配额 67
3.4.1 租户配额 67
3.4.2 租户用户配额 69
3.4.3 额外配额 70
3.5 小结 71
第4章 理解私有云构建模块 72
4.1 OpenStack组件间如何关联 72
4.1.1 理解组件间交互 73
4.1.2 分布式计算模型 78
4.2 OpenStack与厂商技术的关系 82
4.2.1 OpenStack使用厂商存储系统 82
4.2.2 OpenStack里使用厂商提供的网络系统 86
4.3 为什么要手动部署 93
4.4 小结 94
第二部分 手动部署 96
第5章 控制器部署 96
5.1 部署控制器必备软件 97
5.1.1 准备环境 99
5.1.2 配置网络接口 99
5.1.3 更新安装包 102
5.1.4 安装软件依赖 103
5.2 部署共享服务 106
5.2.1 部署身份认证服务(Keystone) 107
5.2.2 部署镜像服务(Glance) 116
5.3 部署块存储(Cinder)服务 123
5.3.1 创建Cinder数据存储 123
5.3.2 配置Cinder的Keystone用户 125
5.3.3 创建Cinder服务和端点 126
5.3.4 安装Cinder 127
5.4 部署网络(Neutron)服务 128
5.4.1 创建Neutron数据存储 128
5.4.2 配置Neutron的Keystone用户 129
5.4.3 安装Neutron 131
5.5 部署计算(Nova)服务 133
5.5.1 创建Nova数据存储 133
5.5.2 配置Nova的Keystone用户 134
5.5.3 分配角色给nova用户 135
5.5.4 创建Nova服务和端点 135
5.5.5 安装Nova控制器 136
5.6 部署Dashboard(Horizon)服务 138
5.6.1 安装Horizon 139
5.6.2 访问Horizon 139
5.6.3 调试Horizon 139
5.7 小结 140
第6章 网络节点部署 141
6.1 准备网络节点部署环境 142
6.1.1 准备环境 143
6.1.2 配置网络接口 143
6.1.3 更新安装包 147
6.1.4 软件和配置依赖 147
6.1.5 安装Open vSwitch 149
6.1.6 配置Open vSwitch 152
6.2 安装Neutron 154
6.2.1 安装Neutron组件 155
6.2.2 配置Neutron 155
6.2.3 配置Neutron ML2插件 156
6.2.4 配置Neutron L3代理 157
6.2.5 配置Neutron DHCP代理 158
6.2.6 配置Neutron元数据代理 158
6.2.7 重启和验证Neutron代理 159
6.2.8 创建Neutron网络 159
6.2.9 关联Linux、OVS和Neutron 168
6.2.10 检查Horizon 170
6.3 小结 171
第7章 块存储节点部署 172
7.1 准备块存储节点部署环境 173
7.1.1 准备环境 174
7.1.2 配置网络接口 175
7.1.3 更新安装包 178
7.1.4 安装和配置逻辑卷管理器 178
7.2 部署Cinder 182
7.2.1 安装Cinder 183
7.2.2 配置Cinder 184
7.2.3 重启和验证Cinder代理 185
7.3 测试Cinder 186
7.3.1 创建Cinder卷:命令行 186
7.3.2 创建Cinder卷:Dashboard 188
7.4 小结 190
第8章 计算节点部署 191
8.1 准备计算节点的部署环境 192
8.1.1 准备环境 193
8.1.2 配置网络接口 193
8.1.3 更新安装包 196
8.1.4 软件和配置依赖 196
8.1.5 安装Open vSwitch 197
8.1.6 配置Open vSwitch 198
8.2 安装hypervisor 200
8.2.1 验证作为hypervisor平台的主机 200
8.2.2 使用KVM 201
8.3 在计算节点安装Neutron 203
8.3.1 安装Neutron软件 203
8.3.2 配置Neutron 204
8.3.3 配置Neutron ML2插件 204
8.4 在计算节点安装Nova 205
8.4.1 安装Nova软件 205
8.4.2 配置核心Nova组件 206
8.4.3 检查Horizon 207
8.5 测试Nova 208
8.6 小结 211
第三部分 构建生产环境 214
第9章 设计自己的OpenStack架构 214
9.1 替换现有的虚拟服务器平台 214
9.1.1 部署选择 216
9.1.2 使用何种类型的网络 217
9.1.3 使用何种类型的存储 218
9.1.4 使用何种服务器 220
9.2 为什么要构建私有云 221
9.2.1 公有云规模经济的观念 222
9.2.2 全球规模或严格控制 222
9.2.3 不公开的数据引力 222
9.2.4 混合云 223
9.3 构建私有云 223
9.3.1 OpenStack部署工具 224
9.3.2 私有云的网络 225
9.3.3 私有云存储 226
9.4 小结 227
第10章 部署Ceph 228
10.1 准备Ceph节点 228
10.1.1 节点认证与授权 229
10.1.2 部署Ceph软件 232
10.2 创建一个Ceph集群 233
10.2.1 创建初始配置 233
10.2.2 部署Ceph软件 234
10.2.3 部署初始配置 235
10.3 添加OSD资源 236
10.3.1 准备OSD设备 237
10.3.2 创建OSD 239
10.4 Ceph基本操作 240
10.4.1 Ceph存储池 240
10.4.2 对Ceph集群进行基准测试 241
10.5 小结 244
第11章 使用Fuel进行自动化的高可用OpenStack部署 245
11.1 准备你的环境 246
11.1.1 网络硬件 246
11.1.2 服务器硬件 249
11.2 部署Fuel 255
11.3 基于Web的基本FuelOpenStack部署 257
11.3.1 服务器发现 258
11.3.2 创建Fuel部署环境 259
11.3.3 为环境配置网络 260
11.3.4 分配主机到你的环境 261
11.3.5 完成设置和验证 263
11.3.6 部署变更 264
11.4 小结 264
第12章 利用OpenStack进行云编排 265
12.1 OpenStack Heat 265
12.1.1 Heat模板 266
12.1.2 Heat演示 268
12.2 Ubuntu Juju 272
12.2.1 为Juju准备OpenStack 273
12.2.2 安装Juju 274
12.2.3 部署charms CLI 277
12.2.4 部署Juju GUI 279
12.3 小结 283
附录 安装Linux 284