《Open Stack设计与实现》是一本介绍OpenStack设计与实现原理的书。《Open Stack设计与实现》以Juno版本为基础,覆盖了OpenStack的学习方法到设计与实现等各个方面内容,致力于帮助读者形成OpenStack及其各个主要组件与项目的拓扑。
《Open Stack设计与实现》语言通俗易懂,能够带领读者更为快速地走入OpenStack的世界并做出自己的贡献。《Open Stack设计与实现》适合希望能够参与OpenStack开发的读者,也适合对OpenStack茫然的初学者,以及有一定使用部署经验但是希望了解OpenStack实现原理的广大用户。
第1章初识OpenStack 1
1.1 从虚拟化到OpenStack 1
1.1.1 虚拟化 1
1.1.2 云计算 2
1.1.3 OpenStack 4
1.2 OpenStack体系结构 6
1.3 OpenStack项目发展流程 13
1.3.1 新项目 14
1.3.2 孵化项目 14
1.3.3 核心项目及集成项目 15
1.4 OpenStack社区 15
1.4.1 邮件列表 16
1.4.2 IRC和项目例会 16
1.4.3 Summit和Meetup 17
1.4.4 其他社交平台 19
1.5 其他开源项目 19
第2章OpenStack开发基础 22
2.1 相关开发资源 22
2.1.1 OpenStack社区 22
2.1.2 OpenStack文档 22
2.1.3 OpenStack书籍 23
2.1.4 其他网络资源 24
2.2 OpenStack开发的技术基础 25
2.3 部署开发环境 26
2.3.1 Git 26
2.3.2 Devstack 27
2.4 浏览OpenStack源代码 31
2.4.1 源码目录结构 31
2.4.2 浏览代码的工具 33
2.4.3 分析源码如何入手 35
2.5 OpenStack代码质量保证体系 38
2.5.1 编码规范 40
2.5.2 代码评审Gerrit 43
2.5.3 单元测试Tox 48
2.5.4 持续集成Jenkins 51
2.6 如何贡献 54
2.6.1 文档 54
2.6.2 修补Bug 55
2.6.3 增加Feature 57
2.6.4 Review 60
2.6.5 调试 61
第3章虚拟化 62
3.1 概述 62
3.1.1 虚拟化实现方式 64
3.1.2 虚拟化现状和未来 66
3.2 高层管理工具 74
3.2.1 XenAPI 74
3.2.2 Libvirt 75
3.3 OpenStack相关实现 84
3.3.1 Libvirt驱动 84
3.3.2 XenAPI驱动 86
第4章OpenStack通用技术 88
4.1 消息总线 88
4.2 SQLAlchemy和数据库(Shane) 92
4.3 RESTful API和WSGI 96
4.4 Eventlet 103
4.5 OpenStack通用库Oslo 106
4.5.1 Cliff 107
4.5.2 oslo.config 111
4.5.3 oslo.db 113
4.5.4 oslo.i18n 116
4.5.5 oslo.messaging 116
4.5.6 stevedore 123
4.5.7 TaskFlow 127
4.5.8 cookiecutter 133
4.5.9 oslo.policy 134
4.5.10 oslo.rootwrap 135
4.5.11 oslo.test 138
第5章计算 141
5.1 Nova体系结构 141
5.2 Nova API 148
5.2.1 Nova API执行过程 149
5.2.2 Nova API的实现 155
5.3 Conductor服务 161
5.3.1 Object Model 163
5.4 Scheduler 166
5.4.1 调度器 166
5.4.2 Filtering 167
5.4.3 Weighting 169
5.5 Compute 169
5.6 典型工作流程 176
5.6.1 创建虚拟机 176
5.6.2 冷迁移与Resize 178
5.6.3 热迁移 179
5.6.4 挂起和恢复 181
5.6.5 Rebuild和Evacuate 182
第6章存储 183
6.1 Swift 183
6.1.1 Swift体系结构 183
6.1.2 Ring 191
6.1.3 Swift API 202
6.1.4 认证 210
6.1.5 对象管理与操作 211
6.1.6 数据一致性 215
6.2 Cinder 218
6.2.1 Cinder体系结构 218
6.2.2 Cinder API 222
6.2.3 cinder-scheduler 224
6.2.4 cinder-volume 226
6.2.5 cinder-backup 230
6.3 Glance 232
6.3.1 Glance体系结构 232
6.3.2 Glance API 234
第7章网络 240
7.1 Neutron体系结构 240
7.1.1 Linux虚拟网络 241
7.1.2 Neutron网络抽象 245
7.1.3 Neutron架构 246
7.1.4 Neutron源码结构 247
7.2 Neutron API 249
7.2.1 neutron-server 250
7.3 ML2 Plugin 251
7.4 Port Binding扩展 257
7.5 Open vSwitch Agent 260
7.6 Service Plugin 267
7.6.1 Firewall 267
7.6.2 LoadBalance 269
7.7 Neutron热点话题 270
7.7.1 DVR 271
7.7.2 SDN 271
7.7.3 NFV/SRIOV 272
第8章安全 274
8.1 OpenStack安全概述 274
8.2 Keystone 275
8.2.1 Keystone体系结构 275
8.2.2 Keystone启动过程 281
8.2.3 用户认证及令牌获取 283
8.2.4 签名证书生成 286
8.3 可信计算池 288
8.3.1 体系结构 289
8.3.2 Intel TXT与TBoot 290
8.3.3 可信认证与OpenAttestation项目 292
8.3.4 TrustedFilter 295
8.3.5 部署 297
8.4 OpenStack安全指南 298
8.4.1 安全域及威胁分类 298
8.4.2 通用的安全指引 302
8.4.3 OpenStack组件的安全 302
第9章计量与监控 305
9.1 Ceilometer体系架构 305
9.1.1 Pipeline 308
9.1.2 Polling Agent与Pollster插件 310
9.1.3 Notification Agent与Notification Listeners插件 311
9.1.4 Collector 与Dispatcher插件 311
9.1.5 Storage/DB 312
9.1.6 API Server 313
9.1.7 Alarm相关 314
9.2 部署与使用 315
9.2.1 选择数据库 315
9.2.2 安装 316
9.2.3 配置 320
9.2.4 使用 323
9.3 Ceilometer插件的开发 323
9.3.1 Pollster 324
9.3.2 Notification Listener 325
9.3.3 DB Backend Driver 326
9.3.4 Compute Agent Inspector 331
9.3.5 Publisher 332
9.3.6 Discover 332
第10章部署 334
10.1 TripleO体系结构 334
10.1.1 DiskImage-Builder 336
10.1.2 Ironic 337
10.1.3 Heat 339
10.1.4 OS-Configuration 341
10.2 TripleO部署范例 342
10.2.1 制作镜像 342
10.2.2 搭建UnderCloud 345
10.2.3 搭建OverCloud 349
10.3 TripleO新特性 351
10.3.1 iPXE 351
10.3.2 Tuskar 351
10.3.3 Ironic-python-agent 352
10.3.4 Hash-ring 352
10.3.5 Driver-factory 352
第11章控制面板 353
11.1 Horizon体系结构 353
11.1.1 Horizon与Django 353
11.1.2 Horizon网站布局 355
11.1.3 Horzion源码结构 356
11.2 Horizon部署 358
……
《闭上眼睛才能看清自己》内容简介:慈悲是一种爱,对家人、对朋友、对同事、对尘世间一草一木的爱。本书源于贤宗法师的人生体悟、
《Linux应用大全:服务器架设》内容简介:Linux是一个免费的多用户、多任务的操作系统,其稳定性、安全性与网络功能特别显著。目前
资深软件开发专家、架构师撰写,系统且深入阐释ElasticSearch涉及的工具、方法、原则和实践,深入剖析ElasticSearch应用过程中遇
全书系统地介绍现代天文知识。绪论简介天文学的发展和字宙概观。用十二章依次阐述天球和星空、天体运动和距离测量、天体辐射和天
《Python数据整理》内容简介:本书从Python最基础的知识开始,主要聚焦于数据结构,接着快速转至数据整理的基本工具NumPy和pandas库
C++程序设计-(计算机及应用专业)(独立本科段)(2008年版)(附:C++程序设计自学考试大纲) 内容简介 作为我国高等教育组成部分的自学考试,其职责就是在...
《简笔画5000例,一本就够(男生卷)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总能释放你
《西城追忆·抗战西城》内容简介:2015年初,西城区档案局(馆)与西城区文物研究所合作出版的《西城追忆·文物保护专辑》,深受各
《家庭农场经营的理论与实践》内容简介:本书致力于帮助人们认识家庭农场这一新生事物在我国现代农业建设中的主力军作用;致力于帮
《有效制订年度经营计划》内容简介:这是一本实用的工具书,阐述了一个全面、系统的年度经营计划制订的过程,以及企业如何利用年
MATLAB工程应用仿真 本书特色 张德丰、杨文茵编著的《MATLAB工程应用仿真》介绍了MATLAB高级应用技术。全书共分9章,各章中的主要内容如下:第1章简...
《星野的呼唤》内容简介:本书详细介绍了星空摄影必备的天文常识,拍摄星空必备的器材知识,以及器材的使用方法,星空摄影必备的软
《明朝大历史》内容简介:《明朝大历史》包括三部分。《明史简述》是吴晗在中央高级党校所作学术讲演的记录稿,扼要而系统地讲述了
服务器端JavaScript?没错。Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多
C语言兼具高级语言和汇编语言的特点,学习起来难度较大,令不少初学者望而生畏。同时,C语言又是一门应用非常广泛的编程语言,在
《流浪生死书》内容简介:人生实苦,要么是身体的病,要么是精神上的痛。人,无法躲避,只有超越。有的人选择文学、有的人选择艺术
《平面设计视觉词典》旨在对平面设计中容易混淆的一些专业词汇予以区别和解释,比如斜线和斜体的区别,重印、套印、翻转的区别等
走进中学生系列--网络让我喜欢让我尤 本书特色 一本指导冲浪网络天地的资讯手册,一本引导走出网络误区的心灵指南,一本叙说感受网络情怀的故事大观。走进中学生系列-...
著名新经济作家、趋势大师唐·泰普斯科特,多年来笔耕不辍,佳作不断,十多年前的一本《数字化经济》预言了新经济时代的到来;十
《物联网的机遇与利用》内容简介:物联网,也被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是云、管、端一体化