概述
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
中文名
OpenStack云计算管理平台
外文名
OpenStack
开发者
NASA,Rackspace
编程语言
Python
遵循标准
Open 、AMQP、SQLAlchemy
目录
- 1 简介
- 2 发展历程
- 3 发展趋势
- 4 工作流程
- 5 管理流程
- ▪ QEMU
- ▪ Libvirt
- 6 核心项目
简介:
Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 Openstack前端来设置及管理自己的公共云或私有云。
Openstack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务( Infrastructure as a Service)。 Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后者是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。 Openstack是开源项目,除了有 Rackspace和NASA的大力支持外,后面还有包括Dell、 Citrix、 Cisco Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云台 Eucalyptus的态势。
发展历程:
Openstack项目虽然诞生时间不长,但其发展之迅速,在云计算领域的影响力扩展,使得这个年轻的项目成为业内所有人都不得不关注的焦点。
2010年 Openstack项目成立。该项目由美国国家航空航天局(NASA)和 Rackspace合作研发, Apache许可证开源目前为止共有以下版本:
(1) Austin——Openstack发布的第一个版本,这是第一个开源的云计算平台。
(2) Bexar——Openstack发布的第二个版本,添加了IPv6的支持、影像传递技术,以及Hyper-V和Xen等虚拟服务器功能。
(3) Catus——Openstack发布的第三个版本,添加了虚拟化功能、自动化功能以及一个服务目录。
(4) Diablo——Openstack发布的第四个版本,增加了新的图形化用户界面和统一身份识别管理系统。
(5) Essex——Openstack发布的第五个版本,完善了 Keystone认证,删除了对 Windows Hyper-V支持的相关代码。
(6) Folsom——2012年9月 Open Stack发布的第六版。 Folsom包括了 Nova swift、 Horizon Keystone、 Glance原有的五个子项目之外,又多增 Quantum和 Cinder两项。 Quantum支持了数个现有的虚拟网络套件,如 Open vSwitch、Ryu网络操作系统( Network Operation System,NOS)等,也包括了 Cisco、 Nicira和NEC等厂商提供的虚拟网络套件等, Quantun可以让Open Stack的IaS平台能采用软件定义网络( Software Defined network,SDN)的技术,如OpenFlow。Cinder则加强了区块( Block)与磁盘区( Volume)的储存能力。
(7)Grizly——2013年4月Open Stack基金会发布的第七个版本。 Grizzly新增近230个新功能,涉及计算、存储、网络和共享服务等方面。例如 Open Stack计算虚拟化-计算使用“Cells”管理分布式集群,使用“NoDB”主机架构,以减少对中央数据库的依赖。
(8) Havana——2013年10月 Open Stack基金会发布的第八个版本。 Havana除了增加Open Stack Metering( Ceilometer)和 Open Stack Orchestration(Heat)两个新组件外,还完成了400多个特性计划,修补了3000多补丁。
(9) Icehouse——2014年4月 Open Stack基金会发布的第九个版本。新版本提高了项目的稳定性与成熟度,提升用户体验的一致性,特别是针对存储方面。联合身份验证将允许用户通过相同认证信息同时访问 Open Stack私有云与共有云。新项目 Trove( DB as a service)现在已经成为版本中的组成部分,它允许用户在 Open Stack环境中管理关系数据库服务。
(10)Juno——2014年10月 OpenStack基金会发布的第十个版本。新增包括围绕 Hadoop和 Spark集群管理和监控的自动化服务和支持软件开发、大数据分析和大规模应用架构在内的342个功能点,标志着 Open Stack正向大范围支持的成熟云平台快速前进。自 Openstack项目成立以来,超过200个公司加入了该项目,其中包括AT&T、AMD、 Cisco、Dell、IBM、 Intel、 Red hat等。目前参与 Openstack项目的开发人员有17000,来自139个国家,这一数字还在不断增长中。来自咨询机构 Forrester的分析表示, OpenStack已经逐步成为事实上( de facto)的基础架构云(IaaS)标准。 [2]
发展趋势:
尽管 Open Stack从诞生到现在已经变得日渐成熟,基本上已经能够满足云计算用户的大部分的需求。但随着云计算技术的发展, Open Stack必然也需要不断地完善。Open Stack已经逐渐成为市场上主流的一个云计算平台解决方案。结合业界的一般观点和调查中关于 Open Stack用户的意见, Open Stack需要完善的部分大体上可以归纳为以下几个方面:
(1)增强动态迁移:虽然 Open Stack的Nova组件支持动态迁移,但实质上 Open Stack尚未实现真正意义上的动态迁移。在 Open Stack中因为没有共存储只能做块迁移,共享迁移只能在有共享存储的情况下才被使用。
(2)数据安全:安全问题一直是整个云计算行业的问题,尽管 Open Stack中存在对用户身份信息的验证等安全措施,甚至划分出可以单独或合并表征安全信任等级的域,但随着用户需求的变化和发展,安全问题仍然不可小觑。
(3)计费和数据监控:随着 Open Stack在公有云平台中的进一步部署,计费和监控成为公有云运营中的一个重要环节。云平台的管理者和云计算服务的提供者必然会进一步开发Open Stack的商业价值。尽管 Open Stack中已经有 Ceilometer计量组件,通过它提供的API接口可以实现收集云计算里面的基本数据和其他信息,但这项工程目前尚处于完善和测试阶段,还需要大量的技术人员予以维护和支持。
工作流程:
Open Stack的各个服务之间通过统一的REST风格的API调用,实现系统的松耦合。它内部组件的工作过程是一个有序的整体。诸如计算资源分配、控制调度、网络通信等都通过AMQP实现。 Open Stack的上层用户是程序员、一般用户和 Horizon界面等模块。这三者都是采用 Open Stack各个组件提供的API接口进行交互,而它们之间则是通过AMQP进行互相调用,它们共同利用底层的虚拟资源为上层用户和程序提供云计算服务。 [3]
管理流程:
OpenStack既然是一个开源的云平台项目,它的主要任务是给用户提供IaaS服务。
QEMU
QEMU是一个纯软件的计算机硬件仿真器。通过单独运行QEMU来模拟物理计算机,具有非常灵活和可移植的特点,利用它能够达到使用软件取代硬件的效果。
一般情况下,OpenStack可以部署在Ubuntu的Linux操作系统上,为了进一步提高QEMU的运行效率,往往会增加一个KVM硬件加速模块。KVM内嵌在Linux操作系统内核之中,能够直接参与计算机硬件的调度,这一点是QEMU所不具备的。一般的QEMU程序的执行必然要经过程序从用户态向内核态的转变,这必然会在一定程度上降低效率。所以QEMU虽然能够通过转换对硬件进行访问,但在OpenStack中往往采用KVM进行辅助,使得OpenStack的性能表现得更为良好。
但需要说明的是KVM需要良好的硬件支持,有些硬件本身如果不支持虚拟化的时候,KVM则不能使用。
Libvirt:
Libvirt是一个开源的、支持Linux下虚拟化工具的函数库。实质上它就是为构建虚拟化管理工具的API函数。Libvirt是为了能够更方便地管理平台虚拟化技术而设计的开放源代码的应用程序接口,它不仅提供了对虚拟化客户机的管理,也提供了对虚拟化网络和存储的管理。
最初的 Libvirt是只针对Xen而设计的一系列管理和调度Xen下的虚拟化资源的API函数,目前高版本的 Libvirt可以支持多种虚拟化方案,包括KVM、QEMU、Xen、 VMware、 VirtualBox等在内的平台虚拟化方案,又支持 Openvz、LXC等 Linux容器虚拟化系统,还支持用户态Linux(UML)的虚拟化,它能够对虚拟化方案中的Hypervisor进行适配,让底层 Hypervisor对上层用户空间的管理工具可以做到完全透明。
核心项目:
OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面。它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目、孵化项目,以及支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟度和重要性,转变为核心项目。截止到Icehouse版本,下面列出了10个核心项目(即OpenStack服务)。
1、计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。
2、对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。
3、镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。
4、身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。
5、网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。
6、块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。
7、UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。
8、测量 (Metering):Ceilometer。像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。自Havana版本集成到项目中。
9、部署编排 (Orchestration):Heat。提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署。自Havana版本集成到项目中。
10、数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。自Icehouse版本集成到项目中。
OpenStack的核心项目:
OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面。根据成熟及重要程度的不同,被分解成核心项目、孵化项目,支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,如孵化项目可以根据发展的成熟度和重要性,转变为核心项目。
OpenStack项目间的逻辑关系如下图所示:
OpenStack项目间的逻辑关系
以下列举OpenStack的6个最重要的核心项目。
Keystone:Keystone是OpenStack的认证服务,Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST系统进行工作,主要对Swift、Glance、Nova等进行认证与授权,它对动作消息中的来源者进行合法性鉴定。 Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:
- 令牌服务:令牌中含有授权用户或群组的授权信息,授权给合法用户或群组。
- 目录服务:目录中含有合法用户或群组的可用服务列表。
- 策略服务:利用Keystone具体指定用户或群组的某些访问权限。
Nova:Nova是一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务,Nova负责管理整个云的计算资源、网络资源、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口。
Glance:Glance负责OpenStack的镜像服务,Glance是一套虚拟机镜像发现、注册、检索系统,它提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务和数据库服务。
Swift:Swift为OpenStack提供了一种分布式、持续虚拟对象存储。Swift具有跨节点的存储能力。Swift组件有冗余和失效备援管理功能,也能够处理归档和媒体流,特别是对大数据和大容量的测度非常高效。
Cinder:Cinder是OpenStack的块存储服务组件,它管理所有块存储设备,为VM服务。
Neutorn:Neutorn为OpenStack提供虚拟的网络功能,为每个不同的租户建立独立的网络环境。
华为FushionSphere OpenStack简介:
FusionSphere OpenStack(以下简称FusionSphere)是华为公司开发的云计算操作系统,它借鉴了OpenStack的架构(基于其源码开发),保留了OpenStack已有的对外接口,并且与华为传统的电信业务融合,简单的说,FusionSphere是华为公司对OpenStack进行增强后的企业版本,是商业化后的OpenStack。
相比OpenStack,FushionSphere有以下优势:
- FusionSphere有较好的兼容性,能够支持基于x86硬件平台的多种服务器和兼容多种存储设备,可供运营商和企业灵活选择。
- FusionSphere支持自定义的资源管理SLA(Service-Level Agreement)策略、故障判断标准及恢复策略。通过IT资源调度、热管理、能耗管理等一体化拉通,降低维护成本。同时FushionSphere还支持自动检测服务器或业务的负载情况,对资源进行智能调度,均衡各服务器及业务系统负载,保证系统良好的用户体验和业务系统的最佳响应。
- FusionSphere可根据不同的角色、权限等,提供完善的权限管理功能,授权用户对系统内容的资源进行管理。
- FushionSphere可针对不同的业务类型进行精确计费,如按IT资源(CPU、内存、存储)用量计费,或按时计费。
- FusionSphere提供多种运营工具,实现业务的可控、可管,提高整个系统运营的效率。
- FusionSphere采用多种安全措施和策略,并遵从信息安全法律法规,对用户接入、管理维护、数据、网络、虚拟化等提供端到端的业务保护。
流程图片:
最后
以上就是拉长手链为你收集整理的openstack官网云计算管理平台简介的全部内容,希望文章能够帮你解决openstack官网云计算管理平台简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复