内容简介
本书结合作者亲身经历的各类OpenStack的咨询、规划和实施经验,以循序渐进的方式,从理论和工程角度,讲述了如何将OpenStack(本质上只是一堆相关的进程和服务)变成企业可靠的、托管企业各类生产环境的云平台的方方面面,让OpenStack真正变成我们身边默默无闻但又实实在在的环境的一分子。本书分为10章,分别介绍了OpenStack与云,OpenStack社区,OpenStack与AWS、VMware、虚拟化管理工具,虚拟机管理程序与典型应用,OpenStack架构与组件,OpenStack部分组件安装示例,系统定制技术,OpenStack部署,第三方工具搭建OpenStack运行环境,九州云Animbus融合架构一体机解决方案等内容。
目录
第1章OpenStack与云 1
1.1 云计算 2
1.2 云服务模式 3
1.2.1 IaaS:基础设施即服务 3
1.2.2 PaaS:平台即服务 4
1.2.3 SaaS:软件即服务 4
1.3 云应用形式 4
1.3.1 私有云 4
1.3.2 云存储 5
1.3.3 云游戏 5
1.3.4 云物联 5
1.3.5 云安全 5
1.3.6 公有云服务 6
1.3.7 混合云 6
1.3.8 云计算的安全风险 6
1.4 云管理与虚拟化管理 7
1.5 私有云与公有云 8
1.6 传统应用与云感知应用 9
1.7 什么是OpenStack 11
1.8 开源云平台比较 13
1.9 术语 15
第2章OpenStack社区 17
2.1 OpenStack基金会 21
2.2 白金会员 22
2.3 黄金会员 22
2.4 OpenStack设计原则 23
2.5 开源而开放的原则 23
2.6 OpenStack版本管理 23
2.7 OpenStack用户 24
2.8 OpenStack的误区 27
2.9 部署OpenStack的技术需求 30
第3章OpenStack与AWS、VMware、虚拟化管理工具 31
3.1 OpenStack与AWS的比较 32
3.2 OpenStack与VMware对比 39
3.2.1 VMware vMotion与OpenStack动态迁移、块迁移 44
3.2.2 VMware DRS、DPM与OpenStack调度器 45
3.2.3 VMware与OpenStack的高可用 45
3.2.4 VMware与OpenStack的容错(Fault
Tolerance) 46
3.2.5 总结 46
3.3 虚拟化与虚拟化管理工具 47
3.3.1 服务器虚拟化 47
3.3.2 网络虚拟化 48
3.3.3 存储虚拟化 48
3.3.4 虚拟化工具VirtualBox 48
3.3.5 虚拟化工具Virt-Manager 53
第4章虚拟机管理程序与典型应用 56
4.1 开放虚拟化技术KVM 57
4.1.1 libvirt介绍 58
4.1.2 域配置文件 59
4.1.3 使用 Libvirt创建和管理KVM虚拟机 60
4.2 Linux容器 62
4.2.1 LXC 65
4.2.2 Docker 71
4.3 裸机 77
4.4 LXC/Docker与KVM/Xen的选择 78
4.5 OpenStack与Linux 79
4.6 OpenStack与KVM 79
4.7 OpenStack与VDI 80
4.7.1 基于OpenStack的VDI典型架构 80
4.7.2 Spice协议 81
4.7.3 开发桌面虚拟化应用的功能需求 84
4.8 OpenStack与Hadoop 85
4.8.1 云平台/虚拟化对大数据计算的益处 86
4.8.2 OpenStack对Savanna的支持 86
4.8.3 Savanna的使用简介 87
第5章OpenStack架构与组件 92
5.1 OpenStack项目与组件 93
5.2 IaaS模型与OpenStack组件对应关系 95
5.2.1 OpenStack功能待提高的方面 100
5.2.2 节点与网络类型 100
5.3 消息总线和数据库 104
5.4 多租户 105
5.5 Keystone 107
5.6 Glance 112
5.7 Nova 119
5.7.1 nova-api 119
5.7.2 nova-scheduler 120
5.7.3 nova-schedule过滤器 122
5.7.4 nova-volume 128
5.7.5 nova-compute 128
5.7.6 nova-network 132
5.7.7 nova-conductor 135
5.7.8 服务横向扩展 136
5.8 存储 138
5.8.1 对象存储 139
5.8.2 块存储 139
5.8.3 Cinder 144
5.8.4 卷(Volume)操作 145
5.9 Neutron 148
5.9.1 nova-network的局限性 148
5.9.2 Neutron功能特点 149
摘要与插图
序1OpenStack这两年在中国得到了众多企业和社区的关注,记得2011年年初,我和国内一些朋友刚刚开始在国内推广和普及OpenStack时很多企业都还在观望。我们联合英特尔、上海交通大学广州电信研究院等几家单位,在上海软件产业促进中心的支持下,邀请了该项目的发起单位Rackspace和Nebula(前NASA CTO创建的公司),还请来了Intel和Dell的海外研发团队来国内布道,共同组织了“届OpenStack上海峰会”(后来由于和基金会的OpenStack峰会在名称上容易混淆而改成“OpenStack用户组大会”)。国内也只有中国电信广州研究院和上海交通大学几个为数不多的机构和部门开始研究OpenStack。可以看出,当时已经有国内企业和机构开始在PoC(Prove-of-Concept)或测试环境中部署OpenStack,但生产环境大规模部署还不成熟,这对于推广OpenStack也是一个大的挑战。所以我当时就四处打探国内到底有谁在实际使用OpenStack,也就是在这个时候我认识了新浪SAE(Sina App Engine)团队的负责人丛磊,在他的引荐和帮助下找到了原SAE团队技术经理程辉,并邀请他们到社区分享经验与心得。虽然当时新浪的规模并不大,但他们确实已经在生产环境中用到了OpenStack中的Nova和 Swift两个核心项目,并用Swift替换了原有的SAE存储,另外他们还内部尝试做了计费Dough和监控Kanyun两个开源项目(可惜后来没有了下文)。
接下来国内OpenStack用户群体逐渐发展了起来,先是瞬联软件、趣游、网易等分别开始尝试基于OpenStack开发部署自己的云平台,之后爱奇艺、用友、**、百度、360、美团等纷纷选用OpenStack。但总的来说初期大多数用户都将OpenStack作为私有云服务,并且有发展成为OpenStack云服务提供商的趋势。当然也有部分玩家希望先基于OpenStack做公有云,认为如果OpenStack公有云平台能支撑住成千上万的虚拟机,做私有云就没有太大的问题。大部分私有云也并没有采用直接替换现有系统的方式,例如携程(花旗银行之前的报告也曾提到过提供OpenStack发行版的价值要低于交钥匙的方案,还预测得私有云用户者得天下)。
2013年年初我和我的团队开始为部分国内企业客户提供基于OpenStack的私有云服务,所以接触到一些付费或有意向的用户。如互联网数据中心(Internet Data Center,IDC)客户,因为随着微软Azure与AWS(Amazon Wed Services)的进入,外资领先的云服务商可能对国内IDC企业造成毁灭性打击,IDC正在转型的关键节点,迫使他们必须从卖资源转型到卖服务。而目前国内公有云的现状是:没有成本优势,规模无法实现赢利,不计成本很难持久,几乎没有提供相关的API(应用程序接口),不能给用户提供按需付费的交付方式。所以说AWS模式很难在国内复制,是AWS采用的DevOps模式,要知道有600多人在AWS产品线,并且他们无须客服人员,用户自助、互助服务。在国内,如果没有客服,你都不敢想象会是什么样子。
还有一些金融客户,他们面临大数据的机遇与挑战,正在努力寻找突破。相对来说,互联网企业投入其实并不大,几个人的团队就已经足够为云平台提供运维支撑,出了问题也是可以自己扛的。金融客户重点在于关注自身的业务,而底层的基础设施服务希望能够通过第三方服务提供商来提供保障,进而可以加快项目实施进度。政府和教育行业也同样,他们面临定制化开发风险,面对升级维护等问题时也倾向于选择第三方服务提供商来实施自己的云平台项目。
而安全可靠成了企业级用户在迁移到云平台时先关注的问题。另外,如何基于开源的OpenStack 技术对企业应用进行优化,并为 OpenStack 核心组件设计高可靠和高可用方案,甚至要为多租户提供分布式虚拟化防火墙,基于 SDN (软件定义网