本书定位于企业级私有云数据中心的规划、实施与运维服务体系建设,并配合实践用例系统地介绍国内外云计算进展和数据中心向云计算的演变趋势,以及实现云计算特徵的关键技术。本书分为4篇,第1篇系统介绍云计算背景、原理、数据中心发展趋势、主流架构等;第2篇介绍伺服器虚拟化技术,KVM、vmware;第3篇介绍云计算架构,重点内容有私有云资源平台架构、服务交付架构、运维流程架构、IaaS最佳实践等;第4篇介绍Hadoop平台,主要内容有分散式档案系统(HDFS)、分散式计算框架(MapReduce)、分散式非关係型资料库(HBase)3个平台的搭建、部署、原理、使用、编程等。
基本介绍
- 书名:云计算:从基础架构到最佳实践
- 作者:祁伟 刘冰 路士华 冯德林
- ISBN:9787302331216
- 出版社:清华大学出版社
- 装帧:平装
- 印刷日期:2013-7-24
- 印次:1-1
简介
本书定位于企业级私有云数据中心的规划、实施与运维服务体系建设,并配合实践用例系统地介绍国内外云计算进展和数据中心向云计算的演变趋势,以及实现云计算特徵的关键技术。本书分为4篇,第1篇系统介绍云计算背景、原理、数据中心发展趋势、主流架构等;第2篇介绍伺服器虚拟化技术;第3篇介绍云计算架构,重点内容有私有云资源平台架构、服务交付架构、运维流程架构、IaaS最佳实践等;第4篇介绍Hadoop平台,主要内容有分散式档案系统(HDFS)、分散式计算框架(MapReduce)、分散式非关係型资料库(HBase)3个平台的搭建、部署、原理、使用、编程等。
图书目录
目 录
第1篇 概 述
第1章 云计算概述 1
1.1 从案例看云计算 2
1.2 从服务产品看云计算 4
1.2.1 Amazon云计算服务简介 4
1.2.2 Google云计算服务简介 6
1.2.3 Salesforce云计算服务简介 8
1.2.4 云计算服务 8
1.3 计算模式的演变 9
1.4 “云端”计算 11
1.5 并行计算 12
1.5.1 MPI函式 13
1.5.2 MapReduce算法 14
1.5.3 MPI的遗留问题 15
1.6 Hadoop 16
1.6.1 Hadoop的构造 17
1.6.2 HDFS档案系统 18
1.6.3 MapReduce计算架构 20
1.6.4 Hadoop的局限 21
1.7 网际网路云计算 21
1.8 传统IT云计算 22
1.9 虚拟化 23
1.9.1 资源池化 23
1.9.2 动态资源调度 25
1.10 有关云计算的参考资料 28
1.11 小结 29
第2篇 虚 拟 化
第2章 拥抱虚拟化 31
2.1 为什幺选择虚拟化 32
2.1.1 当前困境 32
2.1.2 虚拟化带来的价值 32
2.1.3 可选的虚拟化架构 33
2.2 虚拟化技术 36
2.2.1 虚拟化概述 36
2.2.2 虚拟化特性 37
2.2.3 伺服器虚拟化分类 38
2.3 VMware与虚拟化功能介绍 39
2.3.1 VMware介绍 39
2.3.2 vSphere组件 40
2.3.3 物理拓扑 41
2.3.4 虚拟数据中心 42
2.3.5 计算与记忆体资源 43
2.3.6 网路资源 44
2.3.7 存储资源 46
2.3.8 资源管理 47
2.3.9 分散式服务 49
2.4 其他虚拟化平台 51
2.4.1 Hyper-V平台 51
2.4.2 KVM平台 54
2.4.3 XEN介绍 56
2.4.4 VirtualBox介绍 57
2.4.5 OpenVZ介绍 58
2.4.6 非主流虚拟化平台 58
2.5 小结 59
第3章 虚拟化实践进阶 61
3.1 基于VMware的IaaS架构 62
3.1.1 VMware 数据中心架构 62
3.1.2 目标与定位 65
3.2 环境準备 66
3.2.1 基础环境介绍 66
3.2.2 虚拟化节点部署 67
3.2.3 客户端部署 70
3.2.4 虚拟化管理平台部署 71
3.3 虚拟主机创建的实践 74
3.3.1 虚拟主机创建 74
3.3.2 虚拟主机编辑 77
3.3.3 作业系统部署 81
3.3.4 虚拟网路设定 82
3.4 简单虚拟主机管理 86
3.4.1 虚拟主机导入 86
3.4.2 虚拟主机导出与快照 88
3.4.3 性能监控 89
3.5 小结 91
第4章 虚拟化高级管理 93
4.1 集群管理 94
4.1.1 集群创建 94
4.1.2 为集群添加物理主机 103
4.1.3 资源池管理 104
4.2 共享存储池 106
4.2.1 共享存储 106
4.2.2 案例:iSCSI共享存储
搭建 109
4.3 虚拟主机高级套用 112
4.3.1 虚拟主机批量部署 112
4.3.2 虚拟主机热迁移 113
4.4 多租户及自助管理 116
4.4.1 多租户案例 116
4.4.2 用户自助服务 118
4.5 小结 120
第5章 虚拟化编程 121
5.1 ESX命令详解 122
5.1.1 命令行管理接口介绍 122
5.1.2 ESX命令列表 125
5.2 命令管理实践 127
5.2.1 虚拟主机管理 127
5.2.2 虚拟化网路管理 130
5.2.3 其他管理 135
5.3 脚本编程 137
5.3.1 虚拟主机状态检测 137
5.3.2 创建虚拟主机 140
5.3.3 批量複製虚拟主机 142
5.3.4 自动化备份 143
5.3.5 自动警告接口 145
5.4 PowerCLI与WebService 147
5.4.1 PowerCLI 147
5.4.2 WebService 152
5.4.3 Java SDK开发 153
5.5 小结 156
第6章 开源虚拟化平台 157
6.1 KVM详解 158
6.1.1 KVM的主要功能及意义 158
6.1.2 环境準备与KVM安装 159
6.1.3 KVM虚拟主机管理 160
6.2 KVM的命令 165
6.2.1 qemu-img 165
6.2.2 qemu-kvm 168
6.2.3 virsh 170
6.3 脚本与API接口 175
6.3.1 脚本实践:虚拟化互动式
创建 175
6.3.2 脚本实践:虚拟主机状态
监测 177
6.3.3 Libvirt接口介绍 179
6.4 KVM虚拟平台开发案例 180
6.4.1 需求与架构 180
6.4.2 外挂程式配置与调用模组设计 181
6.4.3 用户互动模组设计 183
6.4.4 帮助模组设计 183
6.4.5 运行与测试 184
6.5 小结 186
第3篇 云计算架构
第7章 云计算基础架构 187
7.1 基础架构概述 188
7.2 云计算资源架构 188
7.2.1 资源需求 188
7.2.2 物理资源置备 190
7.2.3 资源池规划 192
7.3 云计算服务交付 194
7.3.1 服务目录製订 194
7.3.2 性能与容量管理 196
7.3.3 可用性管理 197
7.3.4 持续性管理 198
7.3.5 服务水平管理 198
7.3.6 安全管理 199
7.3.7 服务度量 200
7.3.8 自服务管理 200
7.4 云计算运维流程建设 201
7.4.1 实施指导 201
7.4.2 实施路径 203
7.4.3 配置流程管理 205
7.4.4 变更流程管理 206
7.4.5 服务台与事件流程管理 206
7.4.6 问题流程管理 207
7.4.7 团队管理 208
7.5 小结 208
第8章 云计算存储架构 209
8.1 共享存储模型 210
8.2 磁碟存储阵列 212
8.2.1 磁碟存储介质 212
8.2.2 RAID磁碟组 214
8.2.3 存储逻辑单元 218
8.3 存储网路 220
8.3.1 FC存储网路 221
8.3.2 IP存储网路 227
8.3.3 存储虚拟化网关 232
8.4 已分享档案系统 232
8.4.1 集群档案系统 233
8.4.2 网路档案系统 237
8.5 共享存储架构 238
8.6 小结 239
第9章 云计算网路架构 241
9.1 网路总体架构 242
9.2 接入层网路 245
9.2.1 物理架构 245
9.2.2 逻辑隔离 247
9.2.3 关于VLAN 250
9.3 主机网路虚拟化 252
9.3.1 虚拟交换机 253
9.3.2 分散式虚拟交换机 257
9.4 网路流量平面 259
9.4.1 IP数据平面 259
9.4.2 控制平面 261
9.4.3 管理平面 262
9.4.4 主机流量平面 262
9.5 小结 263
第10章 IaaS最佳实践 265
10.1 私有云基础架构方案 266
10.1.1 私有云实施动力与目标 266
10.1.2 演进路线与逻辑架构 267
10.1.3 存储资源 268
10.1.4 计算资源 272
10.1.5 网路资源 274
10.1.6 虚拟化及自助服务设计 275
10.2 IaaS实施实践 275
10.2.1 环境準备 276
10.2.2 存储实施 276
10.2.3 网路实施 277
10.2.4 虚拟化及伺服器实施 278
10.2.5 管理平台实施 278
10.3 演示与验证 282
10.3.1 终端用户体验 282
10.3.2 运维与业务管理人员体验 284
10.3.3 高级管理体验 287
10.4 小结 289
第4篇 Hadoop
第11章 分散式云存储 291
11.1 分散式档案系统 292
11.1.1 什幺是分散式档案系统 292
11.1.2 分散式档案系统的特点 293
11.1.3 常见分散式档案系统 293
11.1.4 Windows DFS部署 295
11.2 Hadoop的HDFS平台 299
11.2.1 Hadoop介绍 299
11.2.2 HDFS的设计原则 302
11.2.3 HDFS的架构与组成 303
11.2.4 HDFS的数据存取流程 307
11.3 HDFS伪分散式部署 308
11.3.1 环境与基础信息配置 308
11.3.2 Java安装与部署 310
11.3.3 SSH配置 310
11.3.4 HDFS的部署 312
11.3.5 HDFS的测试 314
11.4 HDFS的控制与编程 315
11.4.1 HDFS的命令集 315
11.4.2 HDFS的命令实践 319
11.4.3 HDFS的编程接口 320
11.4.4 HDFS的编程示例 322
11.5 小结 325
第12章 分散式云计算 327
12.1 MapReduce简介 328
12.1.1 MapReduce的原理 328
12.1.2 Hadoop的MapReduce 329
12.1.3 MapReduce控制与命令 330
12.2 MapReduce集群部署 332
12.2.1 环境準备 333
12.2.2 Java环境安装 334
12.2.3 SSH配置 334
12.2.4 Hadoop的安装 335
12.2.5 Hadoop的启动与测试 336
12.3 MapReduce开发接口 338
12.3.1 MapReduce编程框架 338
12.3.2 统计访问量的Java示例 340
12.3.3 Streaming机制示例 343
12.4 小结 347
第13章 非关係型资料库 349
13.1 NoSQL 350
13.1.1 NoSQL介绍 350
13.1.2 NoSQL原理 351
13.1.3 NoSQL项目 352
13.2 HBase的基础操作 353
13.2.1 Hadoop的HBase 353
13.2.2 HBase的安装与部署 354
13.2.3 HBase的常用命令 356
13.2.4 HBase的命令实践 357
13.3 HBase的数据模型与架构 360
13.3.1 HBase的数据模型 360
13.3.2 HBase的表与区域 361
13.3.3 HBase的系统架构 362
13.4 HBase的套用实践 364
13.4.1 HBase的开发接口 364
13.4.2 HBase套用开发实践 366
13.5 小结 370
第1篇 概 述
第1章 云计算概述 1
1.1 从案例看云计算 2
1.2 从服务产品看云计算 4
1.2.1 Amazon云计算服务简介 4
1.2.2 Google云计算服务简介 6
1.2.3 Salesforce云计算服务简介 8
1.2.4 云计算服务 8
1.3 计算模式的演变 9
1.4 “云端”计算 11
1.5 并行计算 12
1.5.1 MPI函式 13
1.5.2 MapReduce算法 14
1.5.3 MPI的遗留问题 15
1.6 Hadoop 16
1.6.1 Hadoop的构造 17
1.6.2 HDFS档案系统 18
1.6.3 MapReduce计算架构 20
1.6.4 Hadoop的局限 21
1.7 网际网路云计算 21
1.8 传统IT云计算 22
1.9 虚拟化 23
1.9.1 资源池化 23
1.9.2 动态资源调度 25
1.10 有关云计算的参考资料 28
1.11 小结 29
第2篇 虚 拟 化
第2章 拥抱虚拟化 31
2.1 为什幺选择虚拟化 32
2.1.1 当前困境 32
2.1.2 虚拟化带来的价值 32
2.1.3 可选的虚拟化架构 33
2.2 虚拟化技术 36
2.2.1 虚拟化概述 36
2.2.2 虚拟化特性 37
2.2.3 伺服器虚拟化分类 38
2.3 VMware与虚拟化功能介绍 39
2.3.1 VMware介绍 39
2.3.2 vSphere组件 40
2.3.3 物理拓扑 41
2.3.4 虚拟数据中心 42
2.3.5 计算与记忆体资源 43
2.3.6 网路资源 44
2.3.7 存储资源 46
2.3.8 资源管理 47
2.3.9 分散式服务 49
2.4 其他虚拟化平台 51
2.4.1 Hyper-V平台 51
2.4.2 KVM平台 54
2.4.3 XEN介绍 56
2.4.4 VirtualBox介绍 57
2.4.5 OpenVZ介绍 58
2.4.6 非主流虚拟化平台 58
2.5 小结 59
第3章 虚拟化实践进阶 61
3.1 基于VMware的IaaS架构 62
3.1.1 VMware 数据中心架构 62
3.1.2 目标与定位 65
3.2 环境準备 66
3.2.1 基础环境介绍 66
3.2.2 虚拟化节点部署 67
3.2.3 客户端部署 70
3.2.4 虚拟化管理平台部署 71
3.3 虚拟主机创建的实践 74
3.3.1 虚拟主机创建 74
3.3.2 虚拟主机编辑 77
3.3.3 作业系统部署 81
3.3.4 虚拟网路设定 82
3.4 简单虚拟主机管理 86
3.4.1 虚拟主机导入 86
3.4.2 虚拟主机导出与快照 88
3.4.3 性能监控 89
3.5 小结 91
第4章 虚拟化高级管理 93
4.1 集群管理 94
4.1.1 集群创建 94
4.1.2 为集群添加物理主机 103
4.1.3 资源池管理 104
4.2 共享存储池 106
4.2.1 共享存储 106
4.2.2 案例:iSCSI共享存储
搭建 109
4.3 虚拟主机高级套用 112
4.3.1 虚拟主机批量部署 112
4.3.2 虚拟主机热迁移 113
4.4 多租户及自助管理 116
4.4.1 多租户案例 116
4.4.2 用户自助服务 118
4.5 小结 120
第5章 虚拟化编程 121
5.1 ESX命令详解 122
5.1.1 命令行管理接口介绍 122
5.1.2 ESX命令列表 125
5.2 命令管理实践 127
5.2.1 虚拟主机管理 127
5.2.2 虚拟化网路管理 130
5.2.3 其他管理 135
5.3 脚本编程 137
5.3.1 虚拟主机状态检测 137
5.3.2 创建虚拟主机 140
5.3.3 批量複製虚拟主机 142
5.3.4 自动化备份 143
5.3.5 自动警告接口 145
5.4 PowerCLI与WebService 147
5.4.1 PowerCLI 147
5.4.2 WebService 152
5.4.3 Java SDK开发 153
5.5 小结 156
第6章 开源虚拟化平台 157
6.1 KVM详解 158
6.1.1 KVM的主要功能及意义 158
6.1.2 环境準备与KVM安装 159
6.1.3 KVM虚拟主机管理 160
6.2 KVM的命令 165
6.2.1 qemu-img 165
6.2.2 qemu-kvm 168
6.2.3 virsh 170
6.3 脚本与API接口 175
6.3.1 脚本实践:虚拟化互动式
创建 175
6.3.2 脚本实践:虚拟主机状态
监测 177
6.3.3 Libvirt接口介绍 179
6.4 KVM虚拟平台开发案例 180
6.4.1 需求与架构 180
6.4.2 外挂程式配置与调用模组设计 181
6.4.3 用户互动模组设计 183
6.4.4 帮助模组设计 183
6.4.5 运行与测试 184
6.5 小结 186
第3篇 云计算架构
第7章 云计算基础架构 187
7.1 基础架构概述 188
7.2 云计算资源架构 188
7.2.1 资源需求 188
7.2.2 物理资源置备 190
7.2.3 资源池规划 192
7.3 云计算服务交付 194
7.3.1 服务目录製订 194
7.3.2 性能与容量管理 196
7.3.3 可用性管理 197
7.3.4 持续性管理 198
7.3.5 服务水平管理 198
7.3.6 安全管理 199
7.3.7 服务度量 200
7.3.8 自服务管理 200
7.4 云计算运维流程建设 201
7.4.1 实施指导 201
7.4.2 实施路径 203
7.4.3 配置流程管理 205
7.4.4 变更流程管理 206
7.4.5 服务台与事件流程管理 206
7.4.6 问题流程管理 207
7.4.7 团队管理 208
7.5 小结 208
第8章 云计算存储架构 209
8.1 共享存储模型 210
8.2 磁碟存储阵列 212
8.2.1 磁碟存储介质 212
8.2.2 RAID磁碟组 214
8.2.3 存储逻辑单元 218
8.3 存储网路 220
8.3.1 FC存储网路 221
8.3.2 IP存储网路 227
8.3.3 存储虚拟化网关 232
8.4 已分享档案系统 232
8.4.1 集群档案系统 233
8.4.2 网路档案系统 237
8.5 共享存储架构 238
8.6 小结 239
第9章 云计算网路架构 241
9.1 网路总体架构 242
9.2 接入层网路 245
9.2.1 物理架构 245
9.2.2 逻辑隔离 247
9.2.3 关于VLAN 250
9.3 主机网路虚拟化 252
9.3.1 虚拟交换机 253
9.3.2 分散式虚拟交换机 257
9.4 网路流量平面 259
9.4.1 IP数据平面 259
9.4.2 控制平面 261
9.4.3 管理平面 262
9.4.4 主机流量平面 262
9.5 小结 263
第10章 IaaS最佳实践 265
10.1 私有云基础架构方案 266
10.1.1 私有云实施动力与目标 266
10.1.2 演进路线与逻辑架构 267
10.1.3 存储资源 268
10.1.4 计算资源 272
10.1.5 网路资源 274
10.1.6 虚拟化及自助服务设计 275
10.2 IaaS实施实践 275
10.2.1 环境準备 276
10.2.2 存储实施 276
10.2.3 网路实施 277
10.2.4 虚拟化及伺服器实施 278
10.2.5 管理平台实施 278
10.3 演示与验证 282
10.3.1 终端用户体验 282
10.3.2 运维与业务管理人员体验 284
10.3.3 高级管理体验 287
10.4 小结 289
第4篇 Hadoop
第11章 分散式云存储 291
11.1 分散式档案系统 292
11.1.1 什幺是分散式档案系统 292
11.1.2 分散式档案系统的特点 293
11.1.3 常见分散式档案系统 293
11.1.4 Windows DFS部署 295
11.2 Hadoop的HDFS平台 299
11.2.1 Hadoop介绍 299
11.2.2 HDFS的设计原则 302
11.2.3 HDFS的架构与组成 303
11.2.4 HDFS的数据存取流程 307
11.3 HDFS伪分散式部署 308
11.3.1 环境与基础信息配置 308
11.3.2 Java安装与部署 310
11.3.3 SSH配置 310
11.3.4 HDFS的部署 312
11.3.5 HDFS的测试 314
11.4 HDFS的控制与编程 315
11.4.1 HDFS的命令集 315
11.4.2 HDFS的命令实践 319
11.4.3 HDFS的编程接口 320
11.4.4 HDFS的编程示例 322
11.5 小结 325
第12章 分散式云计算 327
12.1 MapReduce简介 328
12.1.1 MapReduce的原理 328
12.1.2 Hadoop的MapReduce 329
12.1.3 MapReduce控制与命令 330
12.2 MapReduce集群部署 332
12.2.1 环境準备 333
12.2.2 Java环境安装 334
12.2.3 SSH配置 334
12.2.4 Hadoop的安装 335
12.2.5 Hadoop的启动与测试 336
12.3 MapReduce开发接口 338
12.3.1 MapReduce编程框架 338
12.3.2 统计访问量的Java示例 340
12.3.3 Streaming机制示例 343
12.4 小结 347
第13章 非关係型资料库 349
13.1 NoSQL 350
13.1.1 NoSQL介绍 350
13.1.2 NoSQL原理 351
13.1.3 NoSQL项目 352
13.2 HBase的基础操作 353
13.2.1 Hadoop的HBase 353
13.2.2 HBase的安装与部署 354
13.2.3 HBase的常用命令 356
13.2.4 HBase的命令实践 357
13.3 HBase的数据模型与架构 360
13.3.1 HBase的数据模型 360
13.3.2 HBase的表与区域 361
13.3.3 HBase的系统架构 362
13.4 HBase的套用实践 364
13.4.1 HBase的开发接口 364
13.4.2 HBase套用开发实践 366
13.5 小结 370