初识open stack

open stack是什么
open stack是一个开源的云计算管理平台项目,是一系列开源项目的组合。由NASA(美国航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由的软件许可证)授权的开源代码项目

open stack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单,可大规模扩展,丰富,标准统一的云计算管理平台。

open stack是一个云平台管理项目,它不是一个软件。这个项目是由主要的组件组合起来完成一些具体的工作。open stack是一个旨为公共以及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及部署过程并为其带来良好的可扩展性。

open stack工作流程
open stack的各个服务之间通过统一的REST风格的API调用,实现系统的松耦合。它内部组件的工作过程是一个有序的整体,诸如计算资源分配,控制调度,网络通信等都通过AMQP实现。open stack的上层用户是程序员,一般用户是Horizon界面等模块。这三者都是采用open stack各个组件提供的API接口进行交互,而它们之间则是通过AMQP进行相互调用,它们共同利用底层的虚拟资源为上层用户和程序提供云计算服务。

QEMU
QEMU是一个纯软件的计算机硬件仿真器。通过独立运行QEMU来模拟物理计算机,具有非常灵活和可移植的特点,利用它能能够达到使用软件取代硬件的效果

为了进一步提高QEMU的运行效率,往往会增加一个KVM硬件加速模块。KVM内嵌在Linux操作系统内核之中,能够直接参与计算机硬件的调度,这一点是QEMU所不具备的。一般的QEMU程序的执行必然要经过程序从用户态向内核态的转变,这必然会在一定程度上降低效率,所以QEMU虽然能够通过转换对硬件进行访问,但在open stack中往往采用KVM进行辅助,使open stack的性能表现的更为良好

但是需要说明的是KVM需要良好的硬件支持,有些硬件本身如果不支持虚拟化,KVM则不能使用


核心项目

open stack覆盖了网络,虚拟化,操作系统,服务器等各个方面。它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目,孵化项目,以及支持项目和相关项目。每个项目都不是一成不变的,孵化项目可以根据发展的成熟和重要性,转变为核心项目。截止到Lcehouose版本,下面列出来10个核心项目(即open stack服务)

1.计算(compute):Nova:一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建,开机,关机,挂起,暂停,调整,迁移,重启,销毁等操作,配置CPU,内存等信息规格。自Austin版本继承到项目中

2.对象存储(Object Storage):Swif:一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可以为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。

3.镜像服务(image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI,AMI,ARI,ISO,QCOW2,Raw,VDI,VHD,VMDK),有创建上传镜像,删除镜像,编辑镜像基本信息功能。自Bexar版本集成到项目中

4.身份服务(Identity Service):Keyston:为open stack其他服务提供身份验证,服务规则和服务令牌的功能,管理Domains,Projects,Users,Groups,Roles。自Essex版本集成到项目中

5.网络&地址管理(Network):Neutron:提供云计算的网络虚拟化技术,为open stack其他服务提供网络连接服务。为用户提供接口,可以定义Network,Subnet,Router,配置DHCP,DNS,负载均衡,L3服务,网络支持GRE,VLAN。插件架构支持许多主流的网络厂家和技术,如opens switch。自Folsom版本集成到项目中。

6.快存储(Block Storage):Clinder。为运行实例提供稳定的数据块存储服务,它的插件架构有利于块设备的创建和管理,如创建卷,删除卷,在实例上挂在和卸载卷。自Folsom版本集成到项目中。

7.UI界面(Dashboard):Horizon:open stack中各种服务的web管理门户,用于简化用户对服务的操作,例如:启动实例,分配IP地址,配置访问控制等。自Essex版本集成到项目中。

8.测量(Metering):Ceilometer:像一个漏斗一样,能把open stack内部发生的几乎所有的事情都收集起来,然后为计费和监控以及其他服务提供数据支撑。自Havana版本集成到项目中

9.部署编排(Orchestration):heat:提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算,存储和网络资源)的自动化部署。自Havana版本集成到项目中

10.数据库服务(Database Service):trove:为用户在open stack的环境提供可扩展的关系和非关系型数据库引擎服务,自Lcehouse版本集成到项目中

原文地址:https://www.cnblogs.com/sobk/p/14147912.html