OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权,旨在为公共及私有云的建设与管理提供软件的开源的云计算管理平台项目。OpenStack 包含三个模块:OpenStackCompute(Nova), OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。
Nova是 NASA 开发的虚拟服务器部署和业务计算模块,为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于WebAPI的功能。Swift是 Rackspace开发的分布式云存储模块,是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。OpenStackImageService,是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统,直接用Amazon‘sSimpleStorageSolution(S3)存储,用带有ObjectStore的S3间接访问S3。
图1 三组件关系
图2 典型架构
OpenStack提供几个高级特性:
a) 允许应用拥有者注册云服务,查看运用和计费情况;
b) 允许Developers/DevOpsfolks创建和存储他们应用的自定义镜像;
c) 允许他们启动、监控和终止实例;
d) 允许CloudOperator配置和操作基础架构
并将这些放在下面的概念架构中。
图3 OpenStack 概念架构
在此模型中假设了需要与云交互的四个用户集:developers, devops, owner,sandoperators,并为每类用户划分了他们所需要的功能。该架构采用的是非常普通的分层方法(presentation,logicandresources),它带有两个正交区域。
展示层,组件与用户交互,接受和呈现信息。Webportals为非开发者提供图形界面,为开发者提供API端点。如果是更复杂的结构,负载均衡,控制代理,安全和名称服务也都会在这层。
逻辑层为云提供逻辑(intelligence)和控制功能。这层包括部署(复杂任务的工作流),调度(作业到资源的映射),策略(配额等等),镜像注册imageregistry(实例镜像的元数据),日志(事件和计量)。
资源层,既然这是一个compute云,就需要实际的compute、network和storage资源,以供应给客户。该层提供这些服务,无论他们是服务器,网络交换机,NAS(networkattachedstorage)还是其他的一些资源。
安装与配置参考http://blog.chinaunix.net/uid-22414998-id-3265685.html