了解OpenStack

时间:2022-02-26 09:43:56

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的*软件开放源代码项目。

OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

基本信息

  • 外文名称

    OpenStack

  • 类型

    云端运算‎软件

  • 研发商

    美国国家航空航天局和Rackspace

  • 授权

    Apache许可证

运用范围

OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。

此外,OpenStack也用作建立防火墙内的"私有云"(Private Cloud),提供机构或企业内各部门共享资源。

厂商支援

了解OpenStack美国国家航空航天局的Nebula运算平台。美国国家航空航天局的Nebula运算平台。

现时已表示支持OpenStack项目的大型硬件厂商包括:IBM、AMD、Intel和戴尔等。

微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的整合。

2011年2月,思科系统正式加入OpenStack项目,重点研制OpenStack的网络服务。

Ubuntu未来在堆栈方面的云网络化方案。

2012年4月,IBM宣布加入OpenStack项目,并作为主要赞助商。

2012年10月,Viacloud互联云平台加入OpenStack项目,研制OpenStack公有云平台和私有云平台

IBM在2013年举行的 IBM Pulse大会宣布将基于OpenStack提供私有云服务以及相关应用。

技术资料

Python编程语言编写

整合Tornado 网页服务器、Nebula运算平台

使用Twisted软件框架

遵循Open Virtualization Format、AMQP、SQLAlchemy等标准

虚拟机器软件支持包括:KVMXenVirtualBox、QEMU、 LXC 等。

项目

核心项目

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

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

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

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

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

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

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

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

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

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

数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。自Icehouse版本集成到项目中。

社区项目

(14个)

负载均衡:Atlas-LB(Rackspace)

消息队列:Burrow(Piston)

云管理工具:Clanavi(Drupal)

自动部署:Crowbar(Dell)

服务部署:Juju(Ubuntu)

关系型数据库:RedDwarf(Rackspace)

...

市场趋向

Rackspace以OpenStack为基础的私有云业务每年营收7亿美元,增长率超过了20%。

OpenStack虽然有些方面还不太成熟,然而它有全球大量的组织支持,大量的开发人员参与,发展迅速。国际上已经有很多使用OpenStack搭建的公有云、私有云、混合云,例如:RackspaceCloud、惠普云、MercadoLibre的IT基础设施云、AT&T的CloudArchitec、戴尔的OpenStack解决方案等等。而在国内OpenStack的热度也在逐渐升温,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等都对OpenStack产生了浓厚的兴趣并参与其中。自2010年创立以来,已发布10个版本。其中Icehouse版本有120个组织、1202名代码贡献者参与,而最新的是Juno版本。OpenStack很可能在未来的基础设施即服务(IaaS)资源管理方面占据领导位置,成为公有云、私有云及混合云管理的"云操作系统"标准

大型用户

美国国家航空航天局

加拿大半官方机构CANARIE网络的DAIR(Digital Accelerator for Innovation and Research)项目,向大学与中小型企业提供研究和开发云端运算环境;DAIR用户可以按需要快速建立网络拓扑。

惠普云(使用Ubuntu Linux)

MercadoLibre的IT基础设施云,现时以OpenStack管理超过6000 台虚拟机器。

AT&T的"Cloud Architect",将在美国的达拉斯、圣地亚哥和新泽西州对外提供云端服务。

内容详解

创建虚拟机(VM)需要各种服务的交互和配合工作。下图展示了OpenStack典型环境架构,各个服务之间的交互和职能。

OpenStack因Open而开放,因组件而灵活,因包容而博大。有计算、网络、对象存储、块存储、身份、镜像服务、门户、测量、部署编排、数据库服务等等组件,有的组件可以根据需要选择安装,组网结构也很灵活、多样。实现了支持接入多种主流虚拟机软件:KVM、LXC、QEMU、Hyper-V、VMware、XenServer,也可以自行开发插件接入其他的虚拟化软件。

OpenStack Compute (Nova)是一套控制器,用于为单个用户或使用群组启动虚拟机实例。它同样能够用于为包含着多个实例的特定项目设置网络。OpenStack Compute在公共云处理方面堪与Amazon EC2相提并论;而在私有云方面也毫不逊色于VMware的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。

OpenStack 对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制实现对象存储的系统。这些对象能够通过一个REST API或是像Cyberduck这样可以对接对象存储API的客户端加以恢复。

OpenStack镜像服务 (Glance)是一套虚拟机镜像查找及检索系统。它能够以三种形式加以配置:利用OpenStack对象存储机制来存储镜像;利用Amazon的简单存储解决方案(简称S3)直接存储信息;或者将S3存储与对象存储结合起来,作为S3访问的连接器。OpenStack镜像服务支持多种虚拟机镜像格式,包括VMware(VMDK)、Amazon镜像(AKI、ARI、AMI)以及VirtualBox所支持的各种磁盘格式。镜像元数据的容器格式包括Amazon的AKI、ARI以及AMI信息,标准OVF格式以及二进制大型数据。

OpenStack的开发周期是每年固定发布两个新版本,并且每一个新版软件发布时,开发者与项目技术领导者已经在规划下一个版本的细节。这些开发者来自全球70多个组织,超过1600人。他们采用高级的工具与开发方式,进行代码查看、持续的集成、测试与开发架构,让版本在快速成长的同时也能确保稳定性。

构建私有云

第一步是设置正确的硬件和网络环境。尽管OpenStack允许在一个单一的平面网络上部署一切,从安全的角度来看并不安全。取决于你所使用的管理程序以及虚拟网络接口,它会允许guest虚拟机嗅探管理流量。建议至少使用两个网络:一个用来管理流量,一个用来进行虚拟机之间的对话。这意味着所有的云计算结点中你需要两个网卡(一个运行实例)和网络管理者。这些应该运行在不同的IP范围中。计算结点和实例的网络也需要支持VLAN标记,因为这是在"项目"之间隔绝流量所使用的机制。一个项目等价于你的亚马逊EC2账户,除了你不能按照你所希望的数目创建和分配之外。每一个项目都有自己的管理员和用户,在既定项目中的所有实例可以彼此通信。通过指派每一个项目自己的VLAN以及内部和外部的IP地址池来执行。

一旦硬件和网络设置好,下一步就是确定在哪里部署所有的OpenStack组件。标准部署应有一个控制器和一系列计算结点。控制器运行消息服务器,数据库和其他的组件来编排云,同时计算结点运行实例。但是你也可以分解控制器为地理的部分,从而改善性能,像把MySQL放在不同的物理盒中。对于安全而言,最关键的是确保每一部分都安装在安全的主机上,你只需要将其附加在网络上,让云运转即可。

只有两部分需要暴露给外面的世界(即使那只是你的企业网络):API服务器/Web 控制台(如果开启)和网络管理者。这些服务器需要过硬,你甚至可以使用第三方网络接口来隔离后端管理用户连接产生的流量。

如果你遵循默认安装说明书,可能这些部分并不如他们应该的那样安全。下面是一些具体的改变:

* MySQL服务器使用指定的用户账户,不是根MySQL管理账户。这个账户和密码将会暴露在每一个云结点上,即使使用基于证书的认证,因此所有结点需要访问这个数据库服务器。

* MySQL配置文件中,限制访问服务器,OpenStack用户账户为唯一授权IP地址。

* 移除任何不需要的OS组件并确保你所设置的服务器只支持通过SSH的基于密钥的登陆。

* 默认MySQL和RabbitMQ(消息服务器)流量不加密。如果你隔离了管理网络和坚固的主机,这就不应该是一个很糟糕的风险。如果你的云网络易于嗅探(例如,它和其他服务器共享网络),你需要加密流量。你可以使用OpenSSL来进行MySQL 和RabbitMQ处理。(我个人还没进行测试,因此配置可能有点难。)

下一步,记住如果支持Web管理控制台,默认不适用SSL。

服务中心

中国OpenStack服务中心

折叠概述

2013年6月18日在南京召开了"中国云计算产业促进大会暨中国OpenStack服务中心发布会",华胜天成在会上正式宣布推出中国首家OpenStack服务中心。OpenStack是全球开发者共同参与的一个开源项目,旨在实现"云操作系统",即一个具有部署和管理公有云、私有云以及混合云基础架构能力的平台。

1、建设并运营中国第一也可能是唯一的Openstack支持中心。

2、为Openstack的研究者,开发者和使用者提供丰富的线上及现场专业支持服务和咨询服务,消除客户使用开源软件的后顾之忧。

3、提高国内云计算从业人员数量和素质,普及开源软件精神与技术。

4、打破云计算建设的垄断,大大降低云计算平台建设与运营成本,推动并保障国内云计算平台建设蓬勃发展。

系统构成

800电话支持中心(100坐席)

Web在线支持平台(100坐席)

服务电子销售平台

知识库

CRM系统

专业咨询团队(10人)

专业现场技术支持团队(50人)

专业客户化开发团队(100人)

专业运维管理团队(300人)

全球实验室级支持团队(2个国际*核心代码实验室)

服务内容

提供完善的L1,L2以及L3实验室级别在线与现场服务

24*7电话咨询/支持服务,Web在线咨询服务/支持服务

版本发布与升级服务

测试服务

现场安装,升级/调优服务

定制开发服务

培训服务

知识库共享服务

运维服务

电子交易

服务体验

1、客户可以24小时通过电话或网络在支持中心获得帮助,包括云技术咨询,资料索取,购买服务包。

2、收费服务包分为级别(例)

基本服务包(5*8 电话支持服务)

标准服务包(7*24电话支持服务+现场服务)

高级服务包(7*24*6平台修复保证)

3、专业服务选项(例)

系统集成服务

专人值守服务

系统调优服务

系统迁移服务

巡检服务

运维管理服务

应急响应服务

培训服务

服务价值

1、对开源云计算的用户和潜在用户

提供了一个获得知识,指导和技术支持的渠道,解决了应用开源云技术找不到技术后盾的尴尬局面。

提供了一个高水平的技术团队对用户进行安装,配置,开发,优化,运维服务,使云计算平台可以正确的被部署和使用,真正产生效益。

2、对于Openstack产业链

促进Openstack在中国的落地生根,开花结果。解决了Openstack雾里看花的尴尬。

3、对于支持中心本身

获得大量的客户信息和项目机会,获得高利润的服务业务。聚合大量业内技术资源,形成技术资源池,并通过聚合效应使产业链共同成长。

4、对社会

大大促进云建设步伐,降低IT运营成本,提高业务敏捷度,节能减排,促进产业升级

一、它是什么,能干什么
想认识一个事物,必须先弄明白它是什么,能干什么。
首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些。openstack能干什么,可以搭建公有云,私有云,企业云。(顺便说一下,企业云将是openstack的用武之地)

二、openstack组成
上面是一个整体的认识,想进一步了解openstack,就必须了解它的组成。其实这有点像研究生物。一般生物都有眼睛,鼻子,嘴等。那么openstack,都有什么。openstack更像是经过计算机的72变之后的产物。包括:7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。
上面从计算机的角度做一个比喻,有不恰当的地方,大家多指正。Compute类似计算的内存;Object Storage类似存储器;Identity就像登陆过程中,验证用户名和密码;Dashboard就操作界面;Network这个大家很容易就明白。
三、openstack组件代号
上面各个组件有名字,其实熟悉openstack的都会说他们的代号。也就是专业术语。Compute(代号为“Nova”) 
Identity(代号为“Keystone”) 
Dashboard(代号为“Horizon”) 
Image Service(代号为“Glance”) 
Network(代号为“Quantum”) 
Object Storage(代号为“Swift”) 
Block Storage(代号为“Cinder”)
四、openstack组件详细介绍
上面了解了,就差不多有点熟悉openstack了。想进一步认识,必须不能着急。下面进一步详细介绍各个组件的作用:
(1)Nova
        这个是最核心的,Nova最开始的时候,可以说是一套虚拟化管理程序,还可以管理网络和存储。
(2)keystone
        这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。
       目前keystone 要做的东西其实还是很多。没法基于角色的授权,web管理用户等。

(3)Dashboard
         (代号为“Horizon”) 为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。
(4)Glance
        这是镜像管理。
        目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。
        目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。
       个人感觉:Glance后续基本就是一个bug修复,稳定的阶段。
(5)Quantum
        这是网络管理的组件,也是重头戏,Openstack的未来,基本都要靠quantum。上面介绍nova的时候,说过网络相关的内容,都会交给Quantum。不过Quantum的开发进度不是太如人意。Flosom规划实现功能,到Grizzly才实现。未来nova network的代码清理,估计到H版本都不见得可以实现。
Quantum 后端可以是商业产品或者开源。开源产品支持Openvswitch,和linux bridge。网络设备厂商都在积极参与,让他们的产品支持Quantum。
(6)Swift
        这是对象存储的组件。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。很多人都问一个相同的问题:是否可以把虚拟机的存储放在swift上。简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。
swift是Openstack所有组件了最成熟的,可以在线升级版本,各种版本可以混合在一起,也就是说,1.75版本的swift可以和1.48的在一个群集里.这个是很难得的.
(7)Cinder
        这是存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理。