什么是OpenStack开源的云计算管理平台项⽬OpenStack是⼀个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的⾃由软件和开放源代码项⽬。 OpenStack是⼀个开源的云计算管理平台项⽬,由⼏个主要的组件组合起来完成具体⼯作。OpenStack⽀持⼏乎所有类型的云环境,项⽬⽬标是提供实施简单、可⼤规模扩展、丰富、标准统⼀的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决⽅案,每个服务提供API以进⾏集成。 OpenStack是⼀个旨在为公共及私有云的建设与管理提供软件的开源项⽬。它的社区拥有超过130家企业及1350位开发者,这些机构与个⼈都将OpenStack作为基础设施即服务(IaaS)资源的通⽤前端。OpenStack项⽬的⾸要任务是简化云的部署过程并为其带来良好的可扩展性。本⽂希望通过提供必要的指导信息,帮助⼤家利⽤OpenStack前端来设置及管理⾃⼰的公共云或私有云。
OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以⼀起⽤,也可以分开单独⽤。OpenStack除了有 Rackspace 和 NASA 的⼤⼒⽀持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和⽀持,发展速度⾮常快,有取代另⼀个业界领先开源云平台 Eucalyptus 的态势。
运⽤范围
OpenStack是IaaS(基础设施即服务)组件,让任何⼈都可以⾃⾏建⽴和提供云端运算服务。
此外,OpenStack也⽤作建⽴防⽕墙内的“私有云”(Private Cloud),提供机构或企业内各部门共享资源。
技术资料
以Python编程语⾔编写
整合Tornado ⽹页服务器、Nebula运算平台
使⽤Twisted软件框架
遵循Open Virtualization Format、AMQP、SQLAlchemy等标准
虚拟机器软件⽀持包括:KVM、Xen、VirtualBox、QEMU、 LXC 等。
⼚商⽀援
美国国家航空航天局的Nebula运算平台。
美国国家航空航天局的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提供私有云服务以及相关应⽤[1] 。
核⼼项⽬
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[2] 。提供了⼀种通过模板定义的协同部署⽅式,实现云基础设施软件运⾏环境(计算、存储和⽹络资源)的⾃动化部署。⾃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⼈。他们采⽤⾼级的⼯具与开发⽅式,进⾏代码查看、持续的集成、测试与开发架构,让版本在快速成长的同时也能确保稳定性。[4]
构建私有云
第⼀步是设置正确的硬件和⽹络环境。尽管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、打破云计算建设的垄断,⼤⼤降低云计算平台建设与运营成本,推动并保障国内云计算平台建设蓬勃发展。[5]
系统构成
800电话⽀持中⼼(100坐席)
Web在线⽀持平台(100坐席)
服务电⼦销售平台
知识库
CRM系统
专业咨询团队(10⼈)
专业现场技术⽀持团队(50⼈)
专业客户化开发团队(100⼈)
专业运维管理团队(300⼈)
全球实验室级⽀持团队(2个国际顶级核⼼代码实验室)[6]
服务内容
提供完善的L1,L2以及L3实验室级别在线与现场服务
沐浴粉24*7电话咨询/⽀持服务,Web服务/⽀持服务
版本发布与升级服务
测试服务
现场安装,升级/调优服务
定制开发服务
培训服务
知识库共享服务
运维服务
电⼦交易[7]
服务体验
1、客户可以24⼩时通过电话或⽹络在⽀持中⼼获得帮助,包括云技术咨询,资料索取,购买服务包。
2、收费服务包分为级别(例)
基本服务包(5*8 电话⽀持服务)
标准服务包(7*24电话⽀持服务+现场服务)
⾼级服务包(7*24*6平台修复保证)
3、专业服务选项(例)
系统集成服务
专⼈值守服务
系统调优服务
系统迁移服务
巡检服务
运维管理服务
应急响应服务
培训服务[8]
服务价值
1、对开源云计算的⽤户和潜在⽤户
提供了⼀个获得知识,指导和技术⽀持的渠道,解决了应⽤开源云技术不到技术后盾的尴尬局⾯。
提供了⼀个⾼⽔平的技术团队对⽤户进⾏安装,配置,开发,优化,运维服务,使云计算平台可以正确的被部署和使⽤,真正产⽣效益。
2、对于Openstack产业链
促进Openstack在中国的落地⽣根,开花结果。解决了Openstack雾⾥看花的尴尬。
3、对于⽀持中⼼本⾝
获得⼤量的客户信息和项⽬机会,获得⾼利润的服务业务。聚合⼤量业内技术资源,形成技术资源池,并通过聚合效应使产业链共同成长。
4、对社会
⼤⼤促进云建设步伐,降低IT运营成本,提⾼业务敏捷度,节能减排,促进产业升级。[9]
熬至滴水成珠成员企业
大微动开关华胜天成
Intel
Canonical
Rackspace
uv转印胶中国开源云联盟[10]