SlideShare a Scribd company logo
1 of 4
Download to read offline
ISSN 1009-8044                                                                                                                  E-mail:xsjl@cccc.net.C11
Computer Knowledge and Technology电奠知识与技术                                                                                           http://www.dnzs.net.cn
                                                                                                                     ’I'el:+86—55 1—5690963       5690964
V01.6,No.15,May 2010,PP.3973—3975




构建私有云计算平台的EUCALYPTUS架构分析
陈吉荣
(蚌埠坦克学院计算机技术室.安徽蚌埠233050)

摘要:在企业现有的信息基础架构上构建私有云是IT业的一个趋势.基于开源的EUCALYPTU可以快速构建私有云计算平台。构
建一个私有云计算平台有两个非常重要的问题;如何构建的问题(架构)和如何使用的问题(接口问题)。该文详细分析了EUCA-
LYPTUS架构,并对架构涉及的五个关键组件的进行了详细的论述,并总结了EUC札YPTUS的特点;最后通过实例对EUCALYP—
TUS接口的三种形式(命令行、web GUI和API)进行了说明。

关键词:私有云;EUCALYPTUS;EC2;EBS;S3;web服务

中图分类号:硼吟93                           文献标识码:A             文章编号:1009—3044(2010)15-397枷3
Analysis of       EUCALY哪S              Infrastructure for Constructing Private Cloud Computing Platform


cHEN ji—rong

(Computer        Technology Department,Bcngbu Tank Institute,Bengbu 233050,China)

Abstract:It is       a   IT Fend to consffuc.t   a   private cloud upon existing IT architecme,and an open source EUCALYPTUS could be used tO

constlxlct   a
                 private cloud paltform.Constructing private cloud must fouces on two cfiticM issues。one issue is how tO construct it,and the
other is how to        use   it.In this paper出e EUCALYPTUS          in缸cture and   its five important componcts   are   analyzed in details.and   EUCA-

LYPTUS           features   are
                                  summarized.Lastly three interface types(commad line,web GUI and API)are showed by apphcafion          cases.




Key words:private cloud;EUCALYPTUS;EC2;EBS;S3;web service


      云计算按照其服务的用户范围可以分为private cloud(私有云)、community cloud(团体云)、pubhc cloud(公共云)和hybird                                                              cloud


(混合云)。private cloud所服务的用户是仅局限于单一的组织;团体云所服务的对象可以属于多个组织;共有云所服务的用户范围
最广.整个互联网的用户都可能是其用户:混合云表现为云平台中有私有云、团体云和公共云两种或j种的组合。Amazon提供的
AWS是一个商业的公有云计算平台,在该平台上有一些非常典型的云服务,如Amazon                                                               Elastic Computing      Cloud(Amazon EC2)、A-
mazoll Elastic Block Store(Amazon              ESS)和Amazon      Simple Storage   Service(Amazon s3)。AVIS接口已经成为各种云计算平台必须提供
或兼容的标准接口。目前也有不少大的机构或公司在内部构建了私有云计算平台,例如NASA的NEBULA cloud,Ubuntu的Ubuntu
Enterprise       Cloud(UEC)。利用开源云计算项目构建私有云计算平台是一个趋势,比较典型的开源项目有AbiCloud、Eucalyptus、
lOgen   MongoDB和Nimbus。其中Eucalyptus是开源项目中从技术和市场角度来看是比较成功的。
      Eucalyptus兼容AWS接口,主要包括EC2、EBS和S3,利用Eucalyptus构建的私有云计算平台能连接到一些公有云上;有一些
成功的基于Eucalyptus的私有云计算平台已经投入使用,如前面提到的NEBULA cloud和UEC;Eucalyptus公司内部基于Eucalyp—
tus开源项目开发了商业级的Eucalyptus系统,用以支持开源的Eucalyptus。同时,从技术角度Eucalyptus也很有特点,这在下文会有
详细的分析。
      构建私有云计算平台的首先要解决的问题是选择合适的架构及其开源实现。本文给出了EUCALYPTUS架构,对架构及其重要
组件进行了详细的分析,并综述了Eucalyptus主要技术特点。云计算平台的另一个重要问题是用户如何使用平台,不同的用户使用
平台的方式是不同的。用户有多种类型,包括平台的管理人员、应用的开发人员和一般用户。平台的管理人员和一般用户通过命令
行接口或web GUI来使用,而开发人员除需要上述两种形式外,还需要API。
本文最后通过实例分析了命令行、web GUI和API三种形式的接口。

1   EUCALYPTUS架构及其核心组件的分析
1.1   EUCALYPrUS架构分析

      EUCALYPTUS架构是一个沙漏架构.最上层客户层,中间层是云管理
层,最下层是云资源层(包括计算资源和存储资源)。EUCALYPTUS架构如图
1所示:
      1)CLC和Walrus组件
                                                                                                            图1      EUCALYPTUS架构
      CLC组件:CLC(Cloud ContmHer,云控制器)位于云管理层,它本质上是




收稿日期:2010=03-20
基金项目:国家部委预研项目(LH0305-03)
作者简介:陈吉荣(1971一),男,安徽人,蚌埠坦克学院讲师,博士,主要研究方向为网格计算、云计算、分布式系统和SOA。

    本栏目责任编辑:谢媛媛                                                                                                   ・・-一・・-・软件设计开晨-・3973
      万方数据
Computer Knmaedge and Technology电脑知识与技术                                      第6卷第15期(2010年5月)


一个用java语言实现的web service(基于SOAP架构),该web service的接口兼容EC2接口。CLC的功能包括查询平台的当前资源
信息、实现平台的资源调度和将用户对资源的使用请求转发到下一层的CC和SC上。客户使用CLC主要通过对其暴露的web                                    8er-



vice的接口(API),为了使用方便,EUCALYPTUS还开发了一些基于CLC的web service接口的工具,有命令行工具和基于Web的工
具。以适应不同的用户需求。
      一般来说,一个私有云计算平台只有一个CLC组件,这样可以方便的查询和调度资源。否则,多个CLC组件之间还需要实时的
交换资源的信息,设计的复杂度提高,通信效率降低。
      同时,用Java语言实现还考虑过到平台扩展性问题。有的组件设计必须要考虑到执行效率,如云资源层的CC和NC组件,因为
它们需要执行用户的应用程序。
      Walrus组件:Walrus(海象)位于云管理层,它本质上是一个用java语言实现的web service(基于REST架构),该web service的
接口兼容Amazon      S3接12t。基于REST架构实现的服务主要是面向资源的,包括检索资源修改资源、创建新资源和删除资源等;基
于SOAP架构实现的服务主要是面向活动的,WSDL文档定义并描述特定于服务的操作。
      Walrus主要功能是将云端的存储资源抽象为一个超大的硬盘,用户可以在其中存储和检索信息。通过Walrus存储和检索的信
息被称为对象。对象存储在存储段(bucket)中。与本地硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,
对象和存储段也可以通过统一资源标识符(Unifoan                Resource Identifier。URI)查找。

      Walrus还提供了指定存储段和对象的所有者和权限的能力,就像对待硬件的文件和文件夹一样。在Walrus中定义对象或存储
段时,用户可以指定一个访问控制策略,注明谁可以访问用户的Walrus资源以及如何访问(例如,读和写权限)。
      编程人员使用WalILlS主要通过对其暴露的web眈rvice的接口,同时Walrus还提供了一套封装了对Walrus访问的RESTful
API。普通用户主要通过EUCALY刖S提供的Walrus的命令行工具对Walrus进行访问。                          ’




      2)CC和SC组件
      CC组件:CC(Cluster Controller,集群控制器)位于云资源层的前端,是一个用C语言实现的web service。一个集群有一个CC组
件。私有云主要利用原有机构的rr基础设施,包括网络和软硬件设施,Cluster指的是位于一个局域网网段内的计算资源和存储资
源。CC是一个用C语言实现的web跎rvice,其主要功能是收集位于本集群的计算资源信息、对本集群的计算资源进行调度和对该
网段的网络进行管理。
      SC组件:SC(Storage Controller,存储控制器)位于云资源层的前端,是一个用iava语言实现的web service。一个集群有一个SC
组件。该SC的实现的接口兼容Amazon EBS。可以用SC创建卷,然后把卷作为块级设备连接到正在运行的一个实例。还可以从这
些卷创建快照,快照保存在Walrus中,以后可以从快照重新创建卷。每个快照代表一个卷在一个特定时间点的状态。如果一些文件
和数据需要超过实例寿命的长期持久化,可以把它们存储在SC卷上。然后可以把卷连接或重新连接到任何实例。
      在任何时候每个SC卷只能连接到一个实例。但是,一个实例可以同时连接任意数量的卷。每个SC卷位于一个网段中,卷连接
的实例必须在同一个网段中。SC主要应用于需要数据库、文件等支持的应用中。
      3)NC组件

      NC组件:NC(Node Controller)位于云资源层的后端,是安装在每个计算结点上(例如一台普通的PC机)的用C语言实现的web
service。NC的主要功能如下:

      负责在其结点上运行的VM实例的管理,包括执行、监控和终止;负责在本地备份VM实例的影像和及其清除;查询和控制本结
点的系统软件资源,以回应上层CC组件的查询和控制。

1.2   EUCALY】阿-【JS架构的特点

      EUCALYfrrUS架构的特点主要变现在以下几个方面:
      1)核心组件的实现方式是web services.使得云平台能为不同的用户提供方便的接口;
      2)基f模块化得架构使得云平台很容易扩展;
      3)兼容公有云的接口,使得私有云能和公有云进行互联;
      4)开源的特点使得用户能在其基础上扩展符合自身需求的功能,并能较快的使用开源的最新功能;
      5)不需要改变用户现在的11.基础设施。不需要考虑使用公有云存在的一些问题,如安全问题、费用问题等;
      6)平台需要的操作系统环境和虚拟化技术(处理机和存储)均采用Linux操作系统及其虚拟化技术,web服务器也是开源的a-
pache项目。

2用户使用EUCALYPTUS的接口
      私有云计算平台能否成功的一个重要因素是其能否为用户提供多样的、方
便的接口。

2.1 web GUI接口


      在使用云计算平台时,用户需要一个账号和安全证书(与网格计算平台类
似),其接口就是web GUI(web browse)形式。’图2所示的就是用户申请账号的
web GUI界面。
                                                                        图2用户申请账号的web GUI界面


3974・-软件设计开发一・・-・-・-・                                                             本栏目责任编辑:谢媛媛

      万方数据
第6卷第15期(2010年5月)                                                                      Computer Knowledge and Technology电奠知识与技术



2.2 command-line接口


     在该平台上,大部分的接口形式是command—line的形式。一般的用户更喜欢GUI形式的接口,这也是EUCALYPTUS以后需要
完善的地方之一。以用户启动一个VM实例为例,按照顺序依次需要用到如下的commad—line。
     euca-describe-images
     euca-describe—instances

     euca-describe-availability-zones
     euca-describe-keypairs
     euca-add-keypair mykey>mykey.private
     chmod 0600 mykey.private

     euca-mn-instances-k mykey-n<number of instances      to   start><emi-id>

     euca—describe—instances

     euca-authorize-p tcp—p 22一S O.O.0.010 default

     euca—allocate—address

     euca-associate-address<IP from allocate>-i<instance ID>

     ssh-i mykey.private root@<accessible—instance'-ip>

     euca—terminate—instances<instance—idl><instance—id2>…<instance—idn>

     关于这些命令的作用和语法请参考EUCALYPrUS的相关文档。

2.3API接口

     对于应用的开发人员来说,有些情况下需要平台能提供API形式的接口,例如用户需要在程序中将数据存储在Walrus中,然后
再适当的时候在程序中获取这蝗数据(数据是实时产生的),RESTful API就是Walrus提供的APl形式的接口。开源项目JetS3t对
RESTful    API做了进一步封装,使得开发人员可以用OOP的方式来使用RESTful API。下面以上传一部电影为例来简单说明API接
口。

     1)创建一个Jets3t的Rests3Service实例
     def awsAccessKey 2”blahblah”

     def awsSecretKey=”blah-blah”

     def awsCredentials=new    AWSCredentials(awsAccessKey,awsSecretKey)
     def s3Service=new    RestS3Service(awsCredentials)
     2)在S3服务器上创建存储段.
     def   bucket=s3Service.getOrCreateBucket(”bc50i”、
     3)修改存储段的访问控制列表
     def bucket.acl=AccessControlList.REST_CANNED_PUBLIC—READ_WRITE

     4)仓lJ建一个S3对象
     def s30bj=new    S30bject(bucket,new File(”/path/to/少林寺.mp4”))
     5)上传影片

     s3Service.putObject(bucket,s30bj)

3结束语
     目前已经有一些成功的公有云计算平台投入运营.同时在企业现有的IT基础设施上构建私有云计算平台是一个趋势。一个私
有云计算平台能否成功需要关注两个问题:架构问题和接口问题。通过本文的上述分析,可以看出EUCALYPTUS在架构和接口两
个方面都很有特点。在架构方面。表现为核心组件采用web service实现、架构容易实现和扩展、能与公有云互连等;在接口方面,提
供了丰富的接口类型(commad                line,web   GUI和API),满足不同用户(管理人员、开发人员和一般用户)的需求。
     由于EUCALYPTUS是一个开源项目。还需要不断的加以完善。例如随着云端的计算结点和存储结点、用户数量的快速增长,其
单一的CLC将会影响平台的效率。同时.还需要在提供更多的GUI接口和对其API进行进一步封装的开发工具集。由于是开源项
目,用户可以自己来加以研究和开发,这也是本文今后将关注的领域。

参考文献:

【1】EUCALYPTUS开源项目网站[EB/OL].http://www.eucalyptus.corn.
【2】AWS网站[EB/OL].http://aws.araazon.corn.
【3】NEBULA网站[EB/OL].http://nebula.nasa.gov/services.
【4】Linthicum    D S.Cloud Computing and SOA Convergence in Your   Enterprise[M].USA:Pearson   Education,2009.

【5】梁爱虎.SOA思想、技术与系统集成应用详解【M】.北京:电子工业出版社,2009.




  本栏目责任编辑:谢媛媛                                                                                      .---・-・--软件设计开发-。3975
     万方数据
构建私有云计算平台的EUCALYPTUS架构分析
作者:                 陈吉荣, CHEN Ji-rong
作者单位:               蚌埠坦克学院,计算机技术室,安徽,蚌埠,233050
刊名:                 电脑知识与技术
英文刊名:               COMPUTER KNOWLEDGE AND TECHNOLOGY
年,卷(期):             2010,06(15)


参考文献(5条)

1.梁爱虎 SOA思想、技术与系统集成应用详解 2009

2.Linthicum D S Cloud Computing and SOA Convergence in Your Enterprise 2009

3.NEBULA网站

4.AWS网站

5.EUCALYPTUS开源项目网站




本文链接:http://d.g.wanfangdata.com.cn/Periodical_dnzsyjs-itrzyksb201015053.aspx

More Related Content

Similar to 构建私有云计算平台的Eucalyptus架构分析

Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stackzhangxiao2016
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍mysqlops
 
Cisco nexus 1000 v虚拟交换机
Cisco nexus 1000 v虚拟交换机Cisco nexus 1000 v虚拟交换机
Cisco nexus 1000 v虚拟交换机mphol
 
System verilog简介
System verilog简介System verilog简介
System verilog简介wujianping
 
IOS入门分享
IOS入门分享IOS入门分享
IOS入门分享zenyuhao
 
云计算可信评估方法研究
云计算可信评估方法研究云计算可信评估方法研究
云计算可信评估方法研究iamafan
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教Bruce Chen
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論 世平 梁
 
程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號鍾誠 陳鍾誠
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 
基于Zookeeper的配置信息存储方案的设计与实现
基于Zookeeper的配置信息存储方案的设计与实现基于Zookeeper的配置信息存储方案的设计与实现
基于Zookeeper的配置信息存储方案的设计与实现billowqiu
 
SolarWinds Network Solution Guide
SolarWinds Network Solution GuideSolarWinds Network Solution Guide
SolarWinds Network Solution GuideAndrew Wong
 
浅析主流商业和开源Esb产品
浅析主流商业和开源Esb产品浅析主流商业和开源Esb产品
浅析主流商业和开源Esb产品nereuschen
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
物聯網科技與實作 Iot technology and projects
物聯網科技與實作 Iot technology and projects物聯網科技與實作 Iot technology and projects
物聯網科技與實作 Iot technology and projectsKuo-Yi Chen
 
AI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving NetworkAI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving NetworkLeo Zhou
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计mysqlops
 

Similar to 构建私有云计算平台的Eucalyptus架构分析 (20)

Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stack
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
Cisco nexus 1000 v虚拟交换机
Cisco nexus 1000 v虚拟交换机Cisco nexus 1000 v虚拟交换机
Cisco nexus 1000 v虚拟交换机
 
System verilog简介
System verilog简介System verilog简介
System verilog简介
 
Gkdq4
Gkdq4Gkdq4
Gkdq4
 
IOS入门分享
IOS入门分享IOS入门分享
IOS入门分享
 
云计算可信评估方法研究
云计算可信评估方法研究云计算可信评估方法研究
云计算可信评估方法研究
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論
 
程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
基于Zookeeper的配置信息存储方案的设计与实现
基于Zookeeper的配置信息存储方案的设计与实现基于Zookeeper的配置信息存储方案的设计与实现
基于Zookeeper的配置信息存储方案的设计与实现
 
SolarWinds Network Solution Guide
SolarWinds Network Solution GuideSolarWinds Network Solution Guide
SolarWinds Network Solution Guide
 
浅析主流商业和开源Esb产品
浅析主流商业和开源Esb产品浅析主流商业和开源Esb产品
浅析主流商业和开源Esb产品
 
Tcpip
TcpipTcpip
Tcpip
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
物聯網科技與實作 Iot technology and projects
物聯網科技與實作 Iot technology and projects物聯網科技與實作 Iot technology and projects
物聯網科技與實作 Iot technology and projects
 
Openstack网络规划
Openstack网络规划Openstack网络规划
Openstack网络规划
 
AI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving NetworkAI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving Network
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计
 

构建私有云计算平台的Eucalyptus架构分析

  • 1. ISSN 1009-8044 E-mail:xsjl@cccc.net.C11 Computer Knowledge and Technology电奠知识与技术 http://www.dnzs.net.cn ’I'el:+86—55 1—5690963 5690964 V01.6,No.15,May 2010,PP.3973—3975 构建私有云计算平台的EUCALYPTUS架构分析 陈吉荣 (蚌埠坦克学院计算机技术室.安徽蚌埠233050) 摘要:在企业现有的信息基础架构上构建私有云是IT业的一个趋势.基于开源的EUCALYPTU可以快速构建私有云计算平台。构 建一个私有云计算平台有两个非常重要的问题;如何构建的问题(架构)和如何使用的问题(接口问题)。该文详细分析了EUCA- LYPTUS架构,并对架构涉及的五个关键组件的进行了详细的论述,并总结了EUC札YPTUS的特点;最后通过实例对EUCALYP— TUS接口的三种形式(命令行、web GUI和API)进行了说明。 关键词:私有云;EUCALYPTUS;EC2;EBS;S3;web服务 中图分类号:硼吟93 文献标识码:A 文章编号:1009—3044(2010)15-397枷3 Analysis of EUCALY哪S Infrastructure for Constructing Private Cloud Computing Platform cHEN ji—rong (Computer Technology Department,Bcngbu Tank Institute,Bengbu 233050,China) Abstract:It is a IT Fend to consffuc.t a private cloud upon existing IT architecme,and an open source EUCALYPTUS could be used tO constlxlct a private cloud paltform.Constructing private cloud must fouces on two cfiticM issues。one issue is how tO construct it,and the other is how to use it.In this paper出e EUCALYPTUS in缸cture and its five important componcts are analyzed in details.and EUCA- LYPTUS features are summarized.Lastly three interface types(commad line,web GUI and API)are showed by apphcafion cases. Key words:private cloud;EUCALYPTUS;EC2;EBS;S3;web service 云计算按照其服务的用户范围可以分为private cloud(私有云)、community cloud(团体云)、pubhc cloud(公共云)和hybird cloud (混合云)。private cloud所服务的用户是仅局限于单一的组织;团体云所服务的对象可以属于多个组织;共有云所服务的用户范围 最广.整个互联网的用户都可能是其用户:混合云表现为云平台中有私有云、团体云和公共云两种或j种的组合。Amazon提供的 AWS是一个商业的公有云计算平台,在该平台上有一些非常典型的云服务,如Amazon Elastic Computing Cloud(Amazon EC2)、A- mazoll Elastic Block Store(Amazon ESS)和Amazon Simple Storage Service(Amazon s3)。AVIS接口已经成为各种云计算平台必须提供 或兼容的标准接口。目前也有不少大的机构或公司在内部构建了私有云计算平台,例如NASA的NEBULA cloud,Ubuntu的Ubuntu Enterprise Cloud(UEC)。利用开源云计算项目构建私有云计算平台是一个趋势,比较典型的开源项目有AbiCloud、Eucalyptus、 lOgen MongoDB和Nimbus。其中Eucalyptus是开源项目中从技术和市场角度来看是比较成功的。 Eucalyptus兼容AWS接口,主要包括EC2、EBS和S3,利用Eucalyptus构建的私有云计算平台能连接到一些公有云上;有一些 成功的基于Eucalyptus的私有云计算平台已经投入使用,如前面提到的NEBULA cloud和UEC;Eucalyptus公司内部基于Eucalyp— tus开源项目开发了商业级的Eucalyptus系统,用以支持开源的Eucalyptus。同时,从技术角度Eucalyptus也很有特点,这在下文会有 详细的分析。 构建私有云计算平台的首先要解决的问题是选择合适的架构及其开源实现。本文给出了EUCALYPTUS架构,对架构及其重要 组件进行了详细的分析,并综述了Eucalyptus主要技术特点。云计算平台的另一个重要问题是用户如何使用平台,不同的用户使用 平台的方式是不同的。用户有多种类型,包括平台的管理人员、应用的开发人员和一般用户。平台的管理人员和一般用户通过命令 行接口或web GUI来使用,而开发人员除需要上述两种形式外,还需要API。 本文最后通过实例分析了命令行、web GUI和API三种形式的接口。 1 EUCALYPTUS架构及其核心组件的分析 1.1 EUCALYPrUS架构分析 EUCALYPTUS架构是一个沙漏架构.最上层客户层,中间层是云管理 层,最下层是云资源层(包括计算资源和存储资源)。EUCALYPTUS架构如图 1所示: 1)CLC和Walrus组件 图1 EUCALYPTUS架构 CLC组件:CLC(Cloud ContmHer,云控制器)位于云管理层,它本质上是 收稿日期:2010=03-20 基金项目:国家部委预研项目(LH0305-03) 作者简介:陈吉荣(1971一),男,安徽人,蚌埠坦克学院讲师,博士,主要研究方向为网格计算、云计算、分布式系统和SOA。 本栏目责任编辑:谢媛媛 ・・-一・・-・软件设计开晨-・3973 万方数据
  • 2. Computer Knmaedge and Technology电脑知识与技术 第6卷第15期(2010年5月) 一个用java语言实现的web service(基于SOAP架构),该web service的接口兼容EC2接口。CLC的功能包括查询平台的当前资源 信息、实现平台的资源调度和将用户对资源的使用请求转发到下一层的CC和SC上。客户使用CLC主要通过对其暴露的web 8er- vice的接口(API),为了使用方便,EUCALYPTUS还开发了一些基于CLC的web service接口的工具,有命令行工具和基于Web的工 具。以适应不同的用户需求。 一般来说,一个私有云计算平台只有一个CLC组件,这样可以方便的查询和调度资源。否则,多个CLC组件之间还需要实时的 交换资源的信息,设计的复杂度提高,通信效率降低。 同时,用Java语言实现还考虑过到平台扩展性问题。有的组件设计必须要考虑到执行效率,如云资源层的CC和NC组件,因为 它们需要执行用户的应用程序。 Walrus组件:Walrus(海象)位于云管理层,它本质上是一个用java语言实现的web service(基于REST架构),该web service的 接口兼容Amazon S3接12t。基于REST架构实现的服务主要是面向资源的,包括检索资源修改资源、创建新资源和删除资源等;基 于SOAP架构实现的服务主要是面向活动的,WSDL文档定义并描述特定于服务的操作。 Walrus主要功能是将云端的存储资源抽象为一个超大的硬盘,用户可以在其中存储和检索信息。通过Walrus存储和检索的信 息被称为对象。对象存储在存储段(bucket)中。与本地硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样, 对象和存储段也可以通过统一资源标识符(Unifoan Resource Identifier。URI)查找。 Walrus还提供了指定存储段和对象的所有者和权限的能力,就像对待硬件的文件和文件夹一样。在Walrus中定义对象或存储 段时,用户可以指定一个访问控制策略,注明谁可以访问用户的Walrus资源以及如何访问(例如,读和写权限)。 编程人员使用WalILlS主要通过对其暴露的web眈rvice的接口,同时Walrus还提供了一套封装了对Walrus访问的RESTful API。普通用户主要通过EUCALY刖S提供的Walrus的命令行工具对Walrus进行访问。 ’ 2)CC和SC组件 CC组件:CC(Cluster Controller,集群控制器)位于云资源层的前端,是一个用C语言实现的web service。一个集群有一个CC组 件。私有云主要利用原有机构的rr基础设施,包括网络和软硬件设施,Cluster指的是位于一个局域网网段内的计算资源和存储资 源。CC是一个用C语言实现的web跎rvice,其主要功能是收集位于本集群的计算资源信息、对本集群的计算资源进行调度和对该 网段的网络进行管理。 SC组件:SC(Storage Controller,存储控制器)位于云资源层的前端,是一个用iava语言实现的web service。一个集群有一个SC 组件。该SC的实现的接口兼容Amazon EBS。可以用SC创建卷,然后把卷作为块级设备连接到正在运行的一个实例。还可以从这 些卷创建快照,快照保存在Walrus中,以后可以从快照重新创建卷。每个快照代表一个卷在一个特定时间点的状态。如果一些文件 和数据需要超过实例寿命的长期持久化,可以把它们存储在SC卷上。然后可以把卷连接或重新连接到任何实例。 在任何时候每个SC卷只能连接到一个实例。但是,一个实例可以同时连接任意数量的卷。每个SC卷位于一个网段中,卷连接 的实例必须在同一个网段中。SC主要应用于需要数据库、文件等支持的应用中。 3)NC组件 NC组件:NC(Node Controller)位于云资源层的后端,是安装在每个计算结点上(例如一台普通的PC机)的用C语言实现的web service。NC的主要功能如下: 负责在其结点上运行的VM实例的管理,包括执行、监控和终止;负责在本地备份VM实例的影像和及其清除;查询和控制本结 点的系统软件资源,以回应上层CC组件的查询和控制。 1.2 EUCALY】阿-【JS架构的特点 EUCALYfrrUS架构的特点主要变现在以下几个方面: 1)核心组件的实现方式是web services.使得云平台能为不同的用户提供方便的接口; 2)基f模块化得架构使得云平台很容易扩展; 3)兼容公有云的接口,使得私有云能和公有云进行互联; 4)开源的特点使得用户能在其基础上扩展符合自身需求的功能,并能较快的使用开源的最新功能; 5)不需要改变用户现在的11.基础设施。不需要考虑使用公有云存在的一些问题,如安全问题、费用问题等; 6)平台需要的操作系统环境和虚拟化技术(处理机和存储)均采用Linux操作系统及其虚拟化技术,web服务器也是开源的a- pache项目。 2用户使用EUCALYPTUS的接口 私有云计算平台能否成功的一个重要因素是其能否为用户提供多样的、方 便的接口。 2.1 web GUI接口 在使用云计算平台时,用户需要一个账号和安全证书(与网格计算平台类 似),其接口就是web GUI(web browse)形式。’图2所示的就是用户申请账号的 web GUI界面。 图2用户申请账号的web GUI界面 3974・-软件设计开发一・・-・-・-・ 本栏目责任编辑:谢媛媛 万方数据
  • 3. 第6卷第15期(2010年5月) Computer Knowledge and Technology电奠知识与技术 2.2 command-line接口 在该平台上,大部分的接口形式是command—line的形式。一般的用户更喜欢GUI形式的接口,这也是EUCALYPTUS以后需要 完善的地方之一。以用户启动一个VM实例为例,按照顺序依次需要用到如下的commad—line。 euca-describe-images euca-describe—instances euca-describe-availability-zones euca-describe-keypairs euca-add-keypair mykey>mykey.private chmod 0600 mykey.private euca-mn-instances-k mykey-n<number of instances to start><emi-id> euca—describe—instances euca-authorize-p tcp—p 22一S O.O.0.010 default euca—allocate—address euca-associate-address<IP from allocate>-i<instance ID> ssh-i mykey.private root@<accessible—instance'-ip> euca—terminate—instances<instance—idl><instance—id2>…<instance—idn> 关于这些命令的作用和语法请参考EUCALYPrUS的相关文档。 2.3API接口 对于应用的开发人员来说,有些情况下需要平台能提供API形式的接口,例如用户需要在程序中将数据存储在Walrus中,然后 再适当的时候在程序中获取这蝗数据(数据是实时产生的),RESTful API就是Walrus提供的APl形式的接口。开源项目JetS3t对 RESTful API做了进一步封装,使得开发人员可以用OOP的方式来使用RESTful API。下面以上传一部电影为例来简单说明API接 口。 1)创建一个Jets3t的Rests3Service实例 def awsAccessKey 2”blahblah” def awsSecretKey=”blah-blah” def awsCredentials=new AWSCredentials(awsAccessKey,awsSecretKey) def s3Service=new RestS3Service(awsCredentials) 2)在S3服务器上创建存储段. def bucket=s3Service.getOrCreateBucket(”bc50i”、 3)修改存储段的访问控制列表 def bucket.acl=AccessControlList.REST_CANNED_PUBLIC—READ_WRITE 4)仓lJ建一个S3对象 def s30bj=new S30bject(bucket,new File(”/path/to/少林寺.mp4”)) 5)上传影片 s3Service.putObject(bucket,s30bj) 3结束语 目前已经有一些成功的公有云计算平台投入运营.同时在企业现有的IT基础设施上构建私有云计算平台是一个趋势。一个私 有云计算平台能否成功需要关注两个问题:架构问题和接口问题。通过本文的上述分析,可以看出EUCALYPTUS在架构和接口两 个方面都很有特点。在架构方面。表现为核心组件采用web service实现、架构容易实现和扩展、能与公有云互连等;在接口方面,提 供了丰富的接口类型(commad line,web GUI和API),满足不同用户(管理人员、开发人员和一般用户)的需求。 由于EUCALYPTUS是一个开源项目。还需要不断的加以完善。例如随着云端的计算结点和存储结点、用户数量的快速增长,其 单一的CLC将会影响平台的效率。同时.还需要在提供更多的GUI接口和对其API进行进一步封装的开发工具集。由于是开源项 目,用户可以自己来加以研究和开发,这也是本文今后将关注的领域。 参考文献: 【1】EUCALYPTUS开源项目网站[EB/OL].http://www.eucalyptus.corn. 【2】AWS网站[EB/OL].http://aws.araazon.corn. 【3】NEBULA网站[EB/OL].http://nebula.nasa.gov/services. 【4】Linthicum D S.Cloud Computing and SOA Convergence in Your Enterprise[M].USA:Pearson Education,2009. 【5】梁爱虎.SOA思想、技术与系统集成应用详解【M】.北京:电子工业出版社,2009. 本栏目责任编辑:谢媛媛 .---・-・--软件设计开发-。3975 万方数据
  • 4. 构建私有云计算平台的EUCALYPTUS架构分析 作者: 陈吉荣, CHEN Ji-rong 作者单位: 蚌埠坦克学院,计算机技术室,安徽,蚌埠,233050 刊名: 电脑知识与技术 英文刊名: COMPUTER KNOWLEDGE AND TECHNOLOGY 年,卷(期): 2010,06(15) 参考文献(5条) 1.梁爱虎 SOA思想、技术与系统集成应用详解 2009 2.Linthicum D S Cloud Computing and SOA Convergence in Your Enterprise 2009 3.NEBULA网站 4.AWS网站 5.EUCALYPTUS开源项目网站 本文链接:http://d.g.wanfangdata.com.cn/Periodical_dnzsyjs-itrzyksb201015053.aspx