大学内的云计算解决方案虚拟计算实验室JitheshMoothoor,软件工程师,IBMVasviABhatt,软件工程师,IBM简介:本文通过使用一个VirtualComputingLab(VCL)详述了云计算的概念。我们通过VCL重点关注云计算实现方法,它如何为一个以研究为导向的高等教育机构提供帮助,最后,我们讨论了一些重要因素,展示VCL如何向校园IT网络基础设施提供可伸缩、可持续、具有经济价值且可行的贡献。云计算的架构层云计算平台可以根据需要动态提供、配置和重新配置服务器。云中的服务器可以是物理服务器或虚拟服务器。高级云通常包含其他计算资源,比如存储区域网络(SAN)、网络设备、防火墙和其他安全设备。总而言之,云服务提供商提供的服务主要可以分为以下三个类别:1.基础设施即服务(Infrastructureasaservice)2.平台即服务(Platformasaservice)3.软件即服务(Softwareasaservice)图1中的VCL将这些类别组合在一起并进行了解释。请在参考资料部分了解有关云概念的更多细节。图1.VCL云服务1.基础设施即服务(IaaS)IaaS就是指以服务的形式交付计算机基础设施。基础设施即服务提供了计算功能和基本存储作为网络上的标准服务。网络中包含了服务器、存储系统、交换机、路由器以及其他系统并可用于处理工作负载。IaaS云可以以一种非常经济的方式提供资源,比如按需从头构建应用程序环境所需的服务器、连接、存储和相关的工具。IaaS的优点包括快速供应、扩展能力、只为使用的资源付费。对于刚刚起步或较小的企业,面临的最大困难之一就是控制资金支出。通过将基础设施移到云中,就可以实现可伸缩的供应,就仿佛您拥有自己的硬件和数据中心一样(对于传统的托管服务提供商来说是不现实的),但是您同时可以将前期成本降至最低。VCL在一个位置同时交付不同的基础设施。它在大学内提供了一个平台(在其内部没有物理基础设施)虚拟化环境。通过使用该环境,学生不需要为其项目建立任何特定的物理基础设施。VCL为基础设施提供了以下服务。计算o物理计算机o虚拟计算机oOS级虚拟化网络存储在将所请求的映像映射到硬件之前,VCL管理者为可用的硬件资源提供适当的虚拟化(聚合,解除聚合)。VCL服务主要关注平台级别的资源控制。2.平台即服务(PaaS)平台即服务是一个虚拟化的平台,它包括一个或多个服务器(经过物理服务器集合虚拟化)、操作系统和特定应用程序(例如面向Web应用程序的Apache和MySQL)。在某些情况下,可以提供一个包含所有必需的特定于用户的应用程序的VM映像。平台即服务包含一个软件层并将其作为服务提供,这个服务可用于构建更高级的服务。从服务的创建者或消费者的角度来看,PaaS至少存在两种视角:创建PaaS(这里指VCL)的人可能会通过集成OS、中间件、应用程序软件甚至一个开发环境来生成一个平台,这个平台稍后会以服务的形式提供给用户。使用PaaS的人(大学中的用户)会看到一个封装好的服务,这个服务通过一个界面呈现给他们。用户只能通过界面与这个平台进行交互,该平台执行必需的任务来进行管理和扩展,从而提供给定级别的服务。虚拟设备可以归类为PaaS实例。通过使用VCL,学生们不需要在其机器上安装任何特定的服务、解决方案堆栈或数据库。VCL为他们提供了映像,他们只需要选择这些映像并在云中提供的机器上使用它们。服务解决方案堆栈oJavaoPHPo.NET存储o数据库o文件存储3.软件即服务(SaaS)SaaS是指以服务的形式通过Internet访问软件的能力。软件即服务以服务形式按需提供完整的应用程序。软件的一个实例在云中运行并为多个终端用户或客户组织提供服务。远程应用程序服务的一个最佳例子就是GoogleApps,它通过一个标准Web浏览器提供了多个企业应用程序。VCL允许使用任何软件即服务解决方案、虚拟化解决方案和终端服务解决方案。VMWare、XEN、MSVirtualServer、Virtuoso和Citrix都是典型的例子。VCL还允许任何访问/服务交付选项,这些选项适合从RDP或VNC桌面访问到X-Windows再到Web服务或类似服务等各种内容。云计算基础设施模型在从标准的企业应用程序部署模型迁移到基于云计算的模型时,云计算架构师需要对基础设施模型做出几点考虑。对于大学中的云计算,可以考虑三种基本的服务模型,比如公共(Public)、私有(Private)和混合(Hybrid)云。1.公共云公共计算云面向任何希望登录到其中并使用它们的用户。公共云由供应商运行,来自不同用户的应用程序可能会混合存放到云中的服务器、存储系统和网络中。公共云的优点之一就是它们拥有比公司的私有云更大的规模,并且可以提供按需扩展或缩减的能力,将基础设施风险从企业转移给云提供商。IBM为其客户运作一个云数据中心。多名客户共享相同的基础设施,但是每名用户的云都得到了保护并彼此分离,就好象他们位于自己的防火墙之内。2.私有云设计私有云的目的是使组织能够获得比使用由供应商托管的服务更多的数据控制。私有云是为某个组织专门构建的,只能由该组织使用,提供了对数据、安全性和服务质量的最大程度的控制。私有云通常位于组织(企业或大学)的防火墙之后,只有该组织内部的人员有权访问云及其资源。3.混合云混合云同时结合了公共云和私有云模型。这个模型引入了判断如何在公共云和私有云之间分配应用程序的复杂性。在数据量较小或者应用程序无状态时使用混合云,与在数据量较大时使用公共云来进行少量处理相比,前者效果更好。VCL可以处理混合云模型。它可以为一个大学内的学生和教师提供服务和基础设施来作为他们的私有云。它还可以使用公共云在大学之间扩展这些服务。这需要更加安全的网络。异构的资源云在大学中设计异构云的主要目标是显著地缩小集群系统的配置规模,具体实现方法是合并异构工作负载,同时通过提供足够的资源来增加并行工作负载请求的数量(例如基于Globus、Hadoop或Condor)。对于大型组织,通常使用各种工具针对不同的工作负载维护专用的集群系统。因此主要难题就是通过VCL在云计算平台上整合同一组织中的异构工作负载。从VCL的角度来看,只要具有合适的映像和环境管理器,它就可以转换并支持任意类型的环境(异构环境)。VCL的高层架构VCL高层架构的目的是设计和配置以一种经济、成本有效的方式为以教育和研究为导向的大学提供服务的云计算系统。VCL交付了一组丰富的功能和服务,它们与云计算的需求和期望建立了良好的对应。如图2所示,VCL架构包含几个主要组件。有关VCL及其工作模型的更多信息,请参见参考资料部分。一个终端用户访问界面(基于web)一个资源管理器(或VCL管理器),其中包含一个调度程序、安全性、性能监视、虚拟工作管理等等一个映像库(或映像)计算、存储和网络硬件安全性图2.VCL物理架构用户最初,用户通过一个Web界面访问VCL,并从菜单中选择需要使用的应用程序组合。参见图3。如果一个特定于用户的映像组合没有以映像的形式出现,那么经过授权的用户则可以灵活地从VCL库组件中构建自己的映像。VCL管理器软件随后将用户请求映射到可用的软件应用程序映像和(可能为异构的)硬件资源,然后将其调度为立即使用(按需)或稍后使用。图3.具有所需映像的新的资源预定资源访问模式将取决于服务提供。参见图4。访问模式包括RDP或VNC类型的远程桌面访问、对Linux服务的基于ssh的或X-Win访问、基于Web的访问,以及以代理的形式访问计算集群。图4.当前预定和基于ssh的连接VCL管理器VCL管理器的典型工作包括检查环境、管理计算机和映像。VCL管理器软件包含以下产品:1.IBMxCAT和VM加载程序ExtremeClusterAdministrationToolkit(xCAT)是一个主要由脚本工具组成的集合,用于构建、配置、管理和维护Linux集群。VCL使用xCAT将请求的裸机(bare-metal)映像加载到刀片服务器。虽然最初的VCL是面向裸机的,但是如今它加载了基于VMware的映像或裸机映像。VCL系统将处理请求。如果无法找到已经加载了所需映像的真实的或虚拟的服务器,那么它将选择任何满足此映像、xCAT或相应VM加载程序所需规范的服务器,动态加载所需的映像。这里,物理机器通过xCAT得到供应,而虚拟机器供应则通过VMwareESXi、VMwareESXStandard服务器、VMware空闲服务器实现。如果所有服务器处于繁忙状态,那么Web界面将通知学生在可用的时段使用网格。2.VCL中间层demon服务(vcld)VCL管理器的核心部分是一个基于perl的VCLdemon服务(vcld),用于执行实际的供应和部署。根据所请求的环境类型——不管是裸机映像、实验室机器或虚拟机映像,vcld都将确保映像被加载并能够用于请求。vcld服务的常见功能包括:在Web界面和数据库之间通信,获得安装细节和由VCLWeb门户分配的流程预定/任务发出xCAT或VMware命令,执行所请求的操作监视映像安装过程和安装所请求的postscript安装工具维护机器供应和部署过程为请求的应用配置和管理已安装的映像维护安装和配置时间3.一个开源的web服务器(Apache)基于PHP的Web应用程序(部署在ApacheWeb服务器上)是VCL的核心并提供了请求、管理和治理所有VCL资源的工具。Web界面支持经过身份验证的用户,显示他们有权使用的应用程序列表,并允许他们预定对某个应用程序的使用,可以立即使用这个应用程序,或者在未来指定的一段时间内使用。未来时间的范围和预定的长度可以进行定制,并可以因客户而异。Web界面提供的主要工具包括:映像创建–该界面允许用户创建定制的环境。映像版本控制–这个界面允许特权用户创建同一映像的多个版本。管理用户–为用户提供了特权控制,它通过Web界面向用户授予不同程度的控制权。管理资源–该界面提供一种方法来调度资源池中的资源。4.一个开源的数据库(MySQL)MySQL数据库用来跟踪每个服务器的状态、维护有关每个映像的信息,还可用于实现特权树(privilegetree)。映像在VCL中,映像一词是指一个软件堆栈,它合并了以下内容:基础操作系统,如果需要用虚拟化实现伸缩,那么将允许使用虚拟机监控程序(hypervisor)层必需的中间件或应用程序,运行在所选的操作系统之上最终用户访问解决方案,与所选的操作系统相对应映像可以被加载到裸机,或加载到所选的操作系统/应用程序虚拟环境。如果用户所需的映像组合不可用,用户有权从VCL组件库中构建自己的映像。如果用户拥有创建映像的权利,那么他通常将从一个NoApp或基础映像开始(WindowsXP或Linux),并将其扩展到应用程序。计算硬件/网络存储虚拟化对硬件进行了最大程度的抽象,甚至不需要将软件堆栈绑定到特定的物理服务器就可以执行部署和重新部署。VCL服务器提供了一个资源池,可以供用户使用。资源的分配以将要执行计算的特定应用程序为依据。存储和网络资源是动态的,同时满足工作负载和用户需求。通常伴随计算云一词出现的还有术语存储云,它使用VCL简化虚拟机映像的存储,从而提供了虚拟化存储。在VCL中,从刀片服务器到由各种台式机或工作站组成的集合,再到企业服务器或高性能计算引擎,任何内容都可以作为计算硬件和存储资源。一个典型的VCL安装含有一个或多个刀片机箱(chassis),其中一个刀片服务器被指定为管理节点。每个刀片服务器至少具有两个网络接口——一个用于公共网络,一个用于私有网络(用于管理刀片服务器和加载映像)。存储资源可以通过光纤直接连接,或者通过网络连接。参见下面的图5。图5.VCL应用程序存储VCL安全性在云环境中,要确定安全性的定义很难。对于任何分布式系统,安全度量的最终程度同时依赖于身份验证和服务授权。VCL在其系统中实现了以下几个级别的安全性:基于LDAP的身份验证VCL身份验证是