第1章 绪论 1
1.1 云计算发展趋势 1
1.2 YY游戏使用云平台的经验 3
1.3 云计算随想 5
第2章 选型思路 8
2.1 为什么放弃OpenStack 8
2.2 Cloud 2.0研发思路 9
2.3 发展规划:基于云的VDC实现 14
第3章 Cloud 2.0虚拟网络实现 17
3.1 Cloud 1.0的实践经验 17
3.1.1 Neutron与企业私有云 18
3.1.2 问题与不足 19
3.1.3 拥抱SDN 22
3.2 虚拟网络架构 26
3.2.1 Overlay网络模型 26
3.2.2 虚拟网络架构 33
3.2.3 网络设备技术要点 37
3.3 虚拟网络实现 41
3.3.1 Underlay网络 41
3.3.2 Overlay网络——VXLAN VPC 44
3.3.3 SDN的核心—控制器实现 49
3.3.4 服务如臂使指—北向接口API 54
3.3.5 网络触手可及—南向控制协议 57
3.3.6 SDN与NFV 61
3.4 虚拟网络业务 62
3.4.1 Underlay网络配置流程 62
3.4.2 云主机创建流程 65
3.4.3 云主机迁移流程 66
第4章 云平台业务 67
4.1 业务组件 67
4.2 业务架构 69
4.3 安全子系统 70
4.3.1 用户安全 70
4.3.2 组件安全 72
4.3.3 技术实现 75
4.4 调度子系统 90
4.4.1 流程引擎设计 90
4.4.2 统一实现审计 94
4.4.3 乐观锁加记录锁的并发控制 94
4.4.4 异步线程池管理 96
4.4.5 基于Redis实现的分布式锁 97
4.4.6 基于Hibernate与Spring JDBC的灵活持久层 100
4.5 云控制台 101
4.5.1 为什么选择AngularJS 102
4.5.2 开发心得总结 105
第 5章 虚拟计算 116
5.1 虚拟化概述 116
5.2 KVM/QEMU/libvirt浅析 117
5.2.1 KVM简介 117
5.2.2 KVM与QEMU 118
5.2.3 libvirt介绍 119
5.3 KVM虚拟化环境安装 120
5.3.1 APT源安装 120
5.3.2 源码编译安装 120
5.4 使用qemu-img管理虚拟机磁盘镜像 121
5.4.1 qemu-img基本命令 122
5.4.2 在宿主机上如何挂载镜像文件 124
5.5 使用libvirt管理KVM虚拟机 124
5.5.1 libvirt Java API的使用 124
5.5.2 虚拟机XML配置文件详解 133
5.5.3 virsh常用命令 141
5.6 实战系列 142
5.6.1 使用Cloudinit实现虚拟机启动初始化 142
5.6.2 在线更改虚拟机内存大小 146
5.6.3 热添加虚拟机CPU 147
5.6.4 如何限制虚拟机磁盘I/O 148
5.6.5 在虚拟机内部如何正确自动挂载磁盘 148
5.6.6 虚拟机如何使用Ceph块设备 149
5.6.7 libvirt hook机制 151
5.6.8 如何支持使用virsh控制台登录虚拟机 152
5.6.9 虚拟机如何通过OpenvSwitch接入网络 153
5.6.10 宿主机如何通过qemu-guest-agent与虚拟机通信 154
5.6.11 虚拟机的迁移 156
第6章 虚拟存储 161
6.1 概念和术语 162
6.2 硬件配置 162
6.2.1 Ceph网络配置 163
6.2.2 服务器配置 165
6.3 软件配置 166
6.4 部署 168
6.4.1 设置副本分布到不同的机架上 168
6.4.2 创建Pool 172
6.4.3 测试PG副本的机架分布性 173
6.5 监控 173
6.5.1 监控层次 173
6.5.2 与Zabbix监控系统集成 174
6.5.3 告警条件 174
6.5.4 监控面板 174
6.6 性能测试和调优 176
6.6.1 块设备性能测试 176
6.6.2 调优 177
6.7 维护操作 183
6.7.1 使用systemctl管理Ceph进程 183
6.7.2 OSD机器重启 184
6.7.3 扩容 184
6.7.4 升级Ceph软件版本 184
6.8 故障定位和处理 185
6.8.1 查看集群状态 185
6.8.2 日志 186
6.8.3 MON 187
6.8.4 OSD 188
6.8.5 PG 192
6.8.6 实际运维中的问题 196
第7章 云数据库 199
7.1 云数据库服务功能介绍 199
7.2 1.0版本三层架构 199
7.2.1 Manager开放API的认证方式 201
7.2.2 Manager节点的调度策略 202
7.2.3 Manager节点的配额管理 203
7.2.4 Backend节点的资源 203
7.3 云数据库2.0版本架构演化及改进 214
7.3.1 云数据库1.0版本的问题与不足 215
7.3.2 云数据库2.0版本的改进 215
7.3.3 CloudMySQL 2.0 Agent的设计模型 217
7.3.4 CloudMySQL 2.0 KVM配置 221
7.4 小结 225
第8章 云平台容量管理 226
8.1 容量管理概述 226
8.2 容量管理真实案例 227
8.3 容量管理特点和成熟度 229
8.3.1 ITIL容量管理特点 229
8.3.2 云平台容量管理特点 229
8.3.3 云平台容量管理成熟度模型 230
8.4 容量管理组件 231
8.5 容量管理总体模型 231
8.5.1 容量与其他系统的关系 233
8.5.2 网络模型 234
8.5.3 计算模型 236
8.5.4 存储模型 237
8.5.5 云MySQL模型 239
8.6 容量预测 241
8.7 容量管理可视化 242
8.8 容量管理之资源采购 243
8.9 小结 243
第9章 云平台测试 244
9.1 云平台测试策略 244
9.1.1 云平台项目测试特性 244
9.1.2 测试方法与策略 245
9.1.3 测试环境 248
9.2 云计算测试 249
9.2.1 功能测试 249
9.2.2 自动化测试 252
9.3 云数据库测试 257
9.3.1 云MySQL测试 257
9.3.2 云Redis测试 260
9.4 云网络测试 262
9.4.1 虚拟网络测试 262
9.4.2 云平台业务的网络功能测试 273
9.4.3 迁移后的网络测试 277
9.5 云平台安全测试 280
9.5.1 API安全测试 280
9.5.2 云Redis安全测试 283
附录A 缩略词表 286
· · · · · · (
收起)