### OpenStack是什么:
1,OpenStack是由Rackspace和NASA共同开发的云计算平台
2,OpenStack是一个由互联网高新技术公司组成的社区
3,Openstack是一个类似亚马逊云平台的IaaS①解决方案
4,是一个提供部署云操作平台的工具集
5,主要代码是由python写成,web页面由java开发
6,2013年开始广泛的被互联网巨头自定义部署
7,开源共享且代码免费
8,IBM、RedHat和VMWare均提供有偿技术支持
### 历史版本:
Openstack Austin 2010.10
OpenStack Bexar 2011.2
...... Cactus 2011.4
Diablo 2011.9 #趋于稳定
Essex 2012.3
Folsom 2012.10
Grizzly 2013.4
Havana 2013.10
Icehouse 2014.4
OpenStack Juno 2014.10 #最新版本
1,OpenStack采用6个月为一个开放周期
2,每个版本代号为首字母顺序按字典排序的某个城市名
3,新版本主要是阶段开发的汇总并将新技术固定下来
### 核心套件
1,OpenStack是由多种功能性可替换技术型套件构成的。
2,核心功能包括运行虚拟化、对象存储、块设备存储、虚拟网络、身份识别、镜像存储、WEB操作接口、数据采集和自动化部署等。
# 1.运行虚拟化套件--Nova
1.Nova提供部署和管理虚拟机的功能
2.可以使用的技术包括:Xen、KVM、VMWare、OpenVZ、Docker等
3.可以通过网页接口查看和管理云环境下多机及其上虚拟机的硬件资源运行状况
# 2.对象存储套件--Swift
1.Swift提供分布式存储大数据功能
2.Swift可以存储任意类型数据,例如虚拟机镜像、文本文件、图片和虚拟磁盘等
3.Swift扩展性强、高性能、高可靠、跨平台
# 3.块存储套件--Cinder
1.Cinder支持商业化的企业存储平台
2.Cinder支持开源存储技术平台
3.Cinder为OpenStack中的虚拟机提供附加虚拟磁盘
# 4.虚拟网络组件--Neutron(Quantum)
1.Neutron是一个可扩展、即插即用、通过API管理云平台网络的套件
2.Neutron是OpenStack的网络抽象层,以可代换的方式使用OpenvSwith、Cisco UCS/Nexus、Linux Bridge、NEC OpenFlow等
3.维护云平台虚拟机之间跨物理服务器的虚拟网络
4.创建跨区域物理借点的虚拟2-3层网络环境
5.Neutron支持DHCP
# 5.身份识别套件--Keystone
1.提供中央目录集中认证服务
2.提供多种认证方式,例如:帐号密码、令牌(Token)、Kerberos等
# 6.镜像存储套件--Glance
1.提供虚拟机镜像文件的注册、查找、交付功能
2.统一了OpenStack云环境系统的虚拟机模版及安装源
3.Glance的存储源支持分布式对象存储
# 7.Web接口--Horizon
1.为OpenStack的管理提供一个图形化的页面接口
2.开放可扩展的网页APP
3.统一了部署和管理云端服务和资源的方法
# 8.数据采集套件--Ceilonmeter
1.提供OpenStack中物理及虚拟硬件运行数据采集功能
2.为OpenStack监控数据及按需计费提供依据
# 9.Heat套件
1.Heat是OpenStack的负责编排计划的主要项目
2.它可以基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性
3.目前Heat自身的模板格式(HOT)正在不停的改进,同时也支持AWS CloudFormation 模板(CFN)
4.HOT的目标是在不远的将来可以完全的替代CFN.
5.Heat提供了一个OpenStack的原生REST API和CloudFormation兼容的查询API
6.目前Heat似乎还没有其他组件那么成熟,但可以尝试。
### 补充知识:①
# 以下来自百度百科:
根据NIST的权威定义,云计算有SPI, 即SaaS、PaaS和IaaS三大服务模式
1.SaaS:提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;
2. PaaS:提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置;
3.IaaS:提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、储存空间、部署的应用,也有可能获得有限制的网络组件(例如,防火墙,负载均衡器等)的控制。