开源云计算管理平台软件介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开源云计算管理平台软件
1.1.1.
2.1 Eucalyptus
产品概述:
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus)是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚大学Santa Barbara 计算机科学学院的一个研究项目,现在已经商业化,发展成为了Eucalyptus Systems Inc。不过,Eucalyptus 仍然按开源项目那样维护和开发。Eucalyptus Systems 还在基于开源的Eucalyptus 构建额外的产品;它还提供支持服务。
Eucalyptus云计算软件,在一个平台上(分为open source版和enterprise版),提供了对这些资源的抽象。Eucalyptus的源码是公开的。并且有提供给CentOS 5,Debian squeeze,OpenSUSE 11,Fedora 12的软件包。
不管是源代码还是包安装,Eucalyptus 很容易安装在现今大多数Linux® 发布版上。
它提供了如下这些高级特性:
与EC2 和S3 的接口兼容性(SOAP 接口和REST 接口)。使用这些接口的几乎所有现有工具都将可以与基于Eucalyptus 的云协作。
支持运行在Xen hypervisor 或KVM 之上的VM 的运行。未来版本还有望支持其他类型的VM,比如VMware。
用来进行系统管理和用户结算的云管理工具。
能够将多个分别具有各自私有的内部网络地址的集群配置到一个云内。
架构:
Eucalyptus 包含五个主要组件,它们能相互协作共同提供所需的云服务。这些组件使用具有WS-Security 的SOAP 消息传递安全地相互通信。
●Cloud Controller (CLC)
在Eucalyptus 云内,这是主要的控制器组件,负责管理整个系统。它是所有用户和管理员进入Eucalyptus 云的主要入口。所有客户机通过基于SOAP 或REST 的API 只与CLC 通信。由CLC 负责将请求传递给正确的组件、收集它们并将来自这些组件的响应发送回至该客户机。这是Eucalyptus 云的对外“窗口”。
●Cluster Controller (CC)
Eucalyptus 内的这个控制器组件负责管理整个虚拟实例网络。请求通过基于SOAP 或REST 的接口被送至CC。CC 维护有关运行在系统内的Node Controller 的全部信息,并负责控制这些实例的生命周期。它将开启虚拟实例的请求路由到具有可用资源的Node Controller。
●Node Controller (NC)
它控制主机操作系统及相应的hypervisor(Xen 或最近的KVM,很快就会支持VMWare)。必须在托管了实际的虚拟实例(根据来自CC 的请求实例化)的每个机器上运行NC 的一个实例。
●Walrus (W)
这个控制器组件管理对Eucalyptus 内的存储服务的访问。请求通过基于SOAP 或REST 的接口传递至Walrus。
●Storage Controller (SC)
Eucalyptus 内的这个存储服务实现Amazon 的S3 接口。SC 与Walrus 联合工作,
用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并最初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
一个Eucalyptus 云安装可以聚合和管理来自一个或多个集群的资源。一个集群是连接到相同LAN 的一组机器。在一个集群中,可以有一个或多个NC 实例,每个实例管理虚拟实例的实例化和终止。
在一个单一集群的安装中,如图3 所示,将至少包含两个机器:一个机器运行CC、SC 和CLC;另一个机器运行NC。这种配置主要适合于试验的目的以及快速配置的目的。通过将所有东西都组合到一个机器内,还可以进一步简化,但这个机器需要非常健壮才能这样做。
一个单集群Eucalyptus 安装的拓扑
在多集群安装中,可以将各个组件(CC、SC、NC 和CLC)放置在单独的机器上。如果想要用它来执行重大的任务,那么这么做就是一种配置Eucalyptus 云的理想方式。多集群安装还能通过选择与其上运行的控制器类型相适应的机器来显著提高性能。比如,可以选择一个具有超快CPU 的机器来运行CLC。多集群的结果是可用性的提高、负载和资源的跨集群分布。集群的概念类似于Amazon EC2 内的可用性区域的概念。资源可以跨多个可用性区域分配,这样一来,一个区域内的故障不会影响到整个应用程序。
一个多集群Eucalyptus 安装的拓扑
在将Eucalyptus 安装并应用到您的基础设施上之前,需要考虑硬件要求。虽然出于试验目的,可以在一个笔记本电脑上运行全部内容,但是对于一个实际的部署场景,多集群无疑是一个更好的选择。如下所列的是Ubuntu 管理员对硬件配置方面的一些指导。这些指导可广泛应用于任何的Linux 发布版(不只是Ubuntu)。
教你安装:
Eucalyptus包含的软件包,根据其组件进行相应地命名:eucalyptus云控制器(eucalyptus-cloud)、eucalyptus控制器(eucalyptus-controller)以及节点控制器(eucalyptus-nc)。在这篇文章中,使用Ubuntu 9.04系统。安装的先决条件是在所有的节点上都配置一个一致的网络时间协议(NTP),并在节点控制器之间进行桥接配置。进行桥接的步骤超过了这篇文章的范畴,但Ubuntu提供了相应的文档。安装的第一步是下载Eucalyptus(32位或者64位)。
在下载完程序之后,转到下载到的目录(在这个例子中,使用/tmp)。然后在每一台组成云控制器、集群控制器以及节点控制器的机器上执行下述命令:
root@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386#
tar zxvf eucalyptus-1.5.1-*.tar.gzroot@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386# cd eucalyptus-1.5.1-*root@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386#
echo deb file://${PWD} ./ >> /etc/apt/sources.listroot@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386#
apt-get update
apt-get update命令会对平台所需的先决条件进行安装,其中开放的Java框架占据了下载量的很大一部分。apt-get将需要执行相当长的一段时间。
对每一个组件,依赖于角色,会各自安装自己的软件包。
在云控制器上:
root@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386# aptitude install eucalyptus-cloud 在控制器上:
root@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386# aptitude install eucalyptus-cc
以及最后在节点控制器上:
root@ubuntu:/tmp/eucalyptus-1.5.1-ubuntu-i386# aptitude install eucalyptus-nc
集群现在已经建立起来。可以在合适的系统上,通过下述命令来启动服务:
/etc/init.d/eucalyptus-cloud