第一篇CloudStack基础篇 3
第1章 CloudStack简介 3
1.1云计算定义 3
1.2云服务基本概念 5
1.2.1云服务的基本分类 5
1.2.2云服务的服务模型 6
1.3 IaaS的基本架构 8
1.3.1基础设施层 8
1.3.2管理层 9
1.4 CloudStack简介 10
1.4.1 CloudStack的发展历史 10
1.4.2 CloudStack整体架构 11
1.5主流开源云平台介绍 15
1.5.1 OpenStack 15
1.5.2 Eucalyptus 16
1.5.3 OpenNebula 17
1.5.4各个开源云平台的综合比较 18
1.6本章 小结 19
第2章 CloudStack的基本概念 20
2.1 CloudStack基础设施概念 20
2.1.1地区(Region) 20
2.1.2区域(Zone) 21
2.1.3提供点(Pod) 22
2.1.4集群(Cluster) 23
2.1.5主机(Host) 23
2.1.6主存储(Primary Storage) 24
2.1.7二级存储(Secondary Storage) 24
2.1.8物理网络 25
2.2账户 25
2.2.1账户、用户和域 25
2.2.2使用LDAP服务器进行用户身份验证 26
2.3用户服务概述 26
2.4本章 小结 27
第3章 CloudStack的安装与配置 28
3.1 CloudStack安装环境 28
3.2配置操作系统源 29
3.3配置C1oudStack源 31
3.4安装管理节 点 32
3.4.1设置主机名称 32
3.4.2安装管理节 点 32
3.4.3安装配置数据库 33
3.4.4修改Linux安全设置 33
3.4.5初始化C1oudStack数据库 34
3.4.6安装网络存储 34
3.4.7导入系统虚拟机模板 36
3.4.8启动CloudStack服务 36
3.5安装Agent节 点 37
3.5.1设置主机名称 37
3.5.2安装Agent节 点 37
3.5.3配置并启动libvirt 38
3.5.4修改Linux安全设置 38
3.5.5初始化Agent 39
3.6云平台配置 39
3.6.1访问CloudStack用户界面 39
3.6.2添加区域 40
3.6.3添加提供点 41
3.6.4添加来宾网络 41
3.6.5添加集群 41
3.6.6添加主机 42
3.6.7添加主存储 42
3.6.8添加二级存储 43
3.6.9启动区域 43
3.7上传镜像 44
3.7.1修改全局配置项 44
3.7.2注册ISO 44
3.8添加实例 46
3.8.1添加实例设置 46
3.8.2启动VM 47
3.8.3安装VM操作系统 47
3.8.4查看虚拟机 48
3.9本章 小结 48
第二篇CloudStack分析篇 51
第4章 CloudStack架构分析 51
4.1 CloudStack的功能及特点 51
4.2 CloudStack的主要组成部分 54
4.3 CloudStack网络通信架构分析 61
4.4 CloudStack软件架构分析 64
4.5本章 小结 66
第5章 CloudStack网络功能分析 67
5.1区域类型 67
5.2物理网络 69
5.2.1网络流量分类 69
5.2.2网络标签 70
5.2.3基础区域 70
5.2.4高级区域 73
5.3安全组 76
5.4虚拟路由器 79
5.5虚拟专用网络 81
5.6总结 83
第6章 CloudStack存储功能分析 84
6.1主存储 84
6.1.1系统需求和配置 84
6.1.2添加一个主存储 85
6.1.3存储标签 87
6.2二级存储 87
6.2.1添加二级存储 88
6.2.2改变二级存储IP地址 89
6.2.3更改二级存储 90
6.3磁盘卷 90
6.3.1创建一个新的磁盘卷 90
6.3.2将一个磁盘卷关联到一个来宾虚拟机上 91
6.3.3从虚拟机实例中解除磁盘卷关联 92
6.3.4删除磁盘卷 93
6.4快照 94
6.4.1创建快照 94
6.4.2自动创建快照 95
6.4.3通过快照创建磁盘卷 96
6.4.4通过快照创建模板 97
6.4.5虚拟机存储迁移 98
6.5二级存储虚拟机 99
6.5.1二级存储虚拟机的创建 99
6.5.2启动和配置二级存储虚拟机 100
6.5.3二级存储与CloudStack通信 100
6.5.4二级存储虚拟机管理二级存储 100
6.6总结 101
第7章 CloudStack虚拟机管理功能分析 102
7.1虚拟机简介 102
7.1.1关于使用虚拟机 102
7.1.2虚拟机的最佳实践 103
7.1.3虚拟机的生命周期 104
7.1.4创建虚拟机 104
7.1.5访问虚拟机 105
7.1.6停止和启动虚拟机 106
7.1.7分配虚拟机到主机上 106
7.1.8虚拟机快照 108
7.1.9改变虚拟机的名称、操作系统和小组 109
7.1.10给来宾虚拟机的内部名称附加一个显示名称 110
7.1.11更改虚拟机的服务方案 111
7.1.12重启时重置虚拟机root卷 112
7.1.13主机之间的虚拟机迁移(手动实时迁移) 113
7.1.14删除虚拟机 113
7.1.15与ISO工作 113
7.2虚拟机服务方案介绍 116
7.2.1计算提供 116
7.2.2磁盘提供 118
7.2.3系统服务提供 119
7.3 C1oudStack不同的虚拟机管理程序 120
7.3.1 Citrix XenServer 120
7.3.2 Oracle虚拟机 121
7.3.3红帽企业Linux (KVM)虚拟机 121
7.3.4 VMware vSphere 122
7.4系统虚拟机 123
7.4.1系统虚拟机模板 123
7.4.2 VMware虚拟机支持多个系统 124
7.4.3控制台代理 124
7.4.4虚拟路由 124
7.4.5二级存储虚拟机 125
7.5本章 小结 125
第8章 CloudStack编程接口功能分析 126
8.1 CloudStack编程环境搭建 126
8.1.1 CloudStack安装所需要的软件 126
8.1.2 CloudStack源代码下载 132
8.1.3 CloudStack的编译、部署、运行 133
8.2 CloudStack框架组件简介 134
8.2.1 CloudStack组件 134
8.2.2如何声明一个CloudStack组件 135
8.2.3 Auto-wiring 135
8.2.4 CloudStack Spring组件的编码约定 136
8.2.5组件生命周期 143
8.3 CloudStack API 144
8.3.1准备工作 144
8.3.2 CloudStack API角色 145
8.3.3 CloudStack API的构造形式 145
8.3.4 CloudStack API请求签名 146
8.3.5 CloudStack API响应 147
8.3.6 CloudStack API异步命令 149
8.3.7制作API请求 151
8.3.8 CloudStack API测试 158
8.4本章 小结 166
第9章 CloudStack UI主页面分析 167
9.1 CloudStack前端源码文件结构分析 167
9.1.1源码文件结构 167
9.1.2 UI界面结构分析 168
9.1.3数据获取分析 178
9.2 CloudStack的API与UI的调用 178
9.2.1 API调用 178
9.2.2修改session的时限 180
9.2.3单点登录集成 180
9.2.4跨域请求伪造 181
9.3 C1oudStack页面的自定义 182
9.3.1 header自定义 182
9.3.2左侧边栏自定义 182
9.3.3右侧展示区域自定义 183
9.4本章 小结 186
第10章 CloudStack高可用分析 187
10.1关于高可用的介绍 187
10.2部署高可用性的环境 187
10.2.1 CloudStack管理服务器高可用性 187
10.2.2 CloudStack冗余虚拟路由 189
10.2.3 CloudStack存储高可用 190
10.2.4数据库的高可用 191
10.3 CloudStack高可用的过程分析 192
10.3.1监测阶段 192
10.3.2重启阶段 194
10.3.3人为干预 198
10.4结合代码分析 198
10.4.1 HighAvailabilityDaoImpl类 198
10.4.2 HighAvailabilityManagerExtImpl类 198
10.5总结 202
第三篇CloudStack应用篇 205
第11章 CloudStack的一键安装 205
11.1一键安装CloudStack的需求分析 205
11.1.1一键安装CloudStack的功能性需求分析 205
11.1.2一键安装CloudStack的非功能性需求分析 214
11.1.3对CloudStack改进云桌面的需求分析 215
11.2一键安装CloudStack的设计与实现 215
11.2.1一键安装CloudStack的服务器部署要求 215
11.2.2一键安装CloudStack的软件部署架构 216
11.2.3一键安装CloudStack的脚本版 217
11.2.4一键安装CloudStack的Web版 225
11.3对CloudStack远程桌面的改进和实现 227
11.4一键安装CloudStack脚本版的测试 228
11.5一键安装CloudStack的Web版测试结果 229
11.6本章 小结 230
第12章 基于CloudStack的上机管理系统 231
12.1上机管理系统功能 231
12.1.1管理员 231
12.1.2教师 235
12.1.3学生 235
12.2系统总体设计 236
12.3上机管理系统详细设计与实现 238
12.3.1系统的流程设计 238
12.3.2管理资源模块的设计与实现 239
12.3.3软件管理的设计与实现 242
12.3.4预约资源模块的设计与实现 244
12.3.5定时开关机模块的设计与实现 247
12.4上机管理系统的运行 251
12.5上机管理系统测试 255
12.5.1系统的功能性测试 255
12.5.2系统的非功能性测试 258
12.5.3系统的评价 258
12.6本章 小结 258
第13章 CloudStack手机端管理App 259
13.1应用背景介绍 259
13.2需求分析与总体设计 260
13.2.1系统功能分析 260
13.2.2系统整体功能分析 260
13.2.3系统边界分析 261
13.2.4详细用例需求分析 262
13.3 Android技术介绍 267
13.4详细设计与实现 267
13.4.1类图 267
13.4.2序列图 269
13.4.3 CloudStack环境 270
13.4.4 API测试 270
13.4.5虚拟机状态图 271
13.4.6系统功能测试 272
13.5本章 小结 279
第14章 基于CloudStack的运维管理协作平台 280
14.1应用背景 280
14.2需求分析 281
14.2.1功能需求 281
14.2.2非功能需求 283
14.3核心业务处理流程 284
14.3.1应用软件的安装 284
14.3.2应用软件的更新 285
14.3.3虚拟机脚本执行 286
14.4总体设计 287
14.4.1注册中心模块 288
14.4.2数据加密/解密模块 291
14.4.3 RESTful服务模块 291
14.4.4代理软件模块 292
14.4.5软件传输模块 292
14.4.6相关技术介绍 293
14.5系统的实现 295
14.5.1 RESTful服务模块的实现 295
14.5.2代理软件模块的实现 298
14.5.3系统程序流程的实现 300
14.5.4界面安装的实现 300
14.6本章 小结 302