已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云计算及其应用的开源实现研究【摘要】本文对比分析了当前有代表性的云计算参与企业所采用的云计算实现方案和技术特点。总结云计算是一种能够提供动态资源池、虚拟化和高可用性的计算平台,包含两个方面的含义:底层的基础设施平台和构建在这个平台之上的应用程序。读者通过此文可以了解云计算的当前发展状况以及未来的研究趋势。文章通过集成整合Eucalyptus开源云计算平台系统和Liferay开源内容管理系统,剖析具有特定应用的云计算平台构建过程,并着重介绍了在基于虚拟技术的云计算平台中,如何使用XEN虚拟技术制作基于Linux系统的可定制服务的实例映像(Amazon Machine Image,AMI)文件,使用AMI工具运行制作的实例(虚拟服务器)和部署应用服务等技术要点,使读者能够明确掌握云计算平台的搭建过程及云计算实例应用的快速部署与迁移。【关键词】云计算;虚拟技术;映像;开源 【分类号】TP393 Research on the Realization of Open Source Cloud Computing and its ApplicationsZhao Huaming Li Chunwang Li Yu Zhou Qiang(National Science Library, Chinese Academy of Sciences, Beijing 100190, China)【Abstract】 This paper compares and analyses the technical characteristics and the solutions of the cloud computing adopted in some current representative enterprises. It summaries that cloud computing is a computing platform that support for virtualization, dynamic-resource-pool and high availability, including the low-layer infrastructure and the application based on it. From this paper, readers will comprehend the current status and future trends of cloud computing. Through the integration on both Eucalyptus system - an open-source cloud computing platform - and Liferay system - an open-source content management system-, the detailed build process of the application-specific cloud platform is described, especially, creating the linux-based service-customized amazon machine image file (AMI) by the xen virtual tools in the virtualization-based cloud platform, and starting and running the virtual machines by AMI tools, to let readers capture the build process of cloud platform with rapidly deploying & migrating the application. 【Keywords】 cloud computing; virtual technology; machine image; open-source 1引言世界之所以精彩,是因为不断地有新的事物出现。在当今IT领域,云计算是最为新鲜、最为热门的话题,其通过提供灵活、自助服务式的IT基础架构,促使信息处理方式发生了革命性的转变1。云用户不需要了解有关“云”的技术构架和专业知识就可以轻松便捷地完成应用的部署或迁移。那么,如何搭建自己的云计算平台和应用呢?本文将以Eucalyptus开源云计算平台2和Liferay内容管理系统3,4,5,6为例,从云计算概念、云计算平台构建、服务集成应用等三方面,详述云计算平台的应用部署和实现过程。2 云计算概述IBM公司于2007年底宣布了云计算计划7,云计算的概念出现在大众面前。但到目前为止,云计算到底是什么?众说纷纭,业界还没有统一明确的云计算定义。本文这部分将探讨IBM公司给出的云计算定义,并例举业界主要的有代表性的云计算实例。2.1云计算定义在IBM的技术白皮书“Cloud Computing”8中,云计算是这样定义的:“云计算一词用来描述一种系统平台或者一类的应用程序。云计算平台可以按需进行动态地部署、配置、重新配置以及撤销服务器。云中的服务器可以是物理的或虚拟的服务器。通常高级的云还包含诸如存储区域网络(SANs)、网络设备、防火墙以及其他安全设备等计算资源。云计算也可以是一类通过互联网进行访问的可扩展的应用程序。这些云应用使用大型的数据中心以及强大的服务器来运行网络应用程序与网络服务。用户可以通过一个合适的互联网接入设备以及一个标准的浏览器访问一个云计算应用程序。“2.2云计算实例从上述定义看出,云计算有两个方面的含义:一方面描述了云计算基础设施;另一方面描述了云计算应用程序,并给出云计算是一种能够提供动态资源池、虚拟化和高可用性的计算平台。很多大公司企业则分别提出了自己对云计算的理解,运用不同的技术和系统框架来实现上述云计算的应用目标(见表1)。亚马逊弹性计算云9(Elastic Compute Cloud,简称EC2)允许用户使用客户端通过SOAP over HTTPS协议与亚马逊弹性计算云内部的实例进行交互,弹性计算云中的每一个实例代表一个运行中的虚拟机。用户可以使用XEN10,11虚拟技术自己创建一个新的包含应用、运行库、数据和相关配置文件的亚马逊实例映像(AMI)文件,也可以从开放的实例映像库(AMIs)中的选择一个,并上载运行它。亚马逊弹性计算云以实例的运行时间收费。通过这种模式,弹性计算云平台为用户或者开发人员提供一个运行Linux应用程序的虚拟集群计算环境。用户具有充分灵活性,同时用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的管理员权限。Google云计算12,13是一套专属的云计算平台,这个平台是为Google最重要的搜索应用提供服务的,现在扩展到了其他应用,如:Google应用引擎14(App Engine)。Google应用引擎允许用户运行使用Python程序语音编写的web应用程序。除了支持Python标准运行库,Google应用引擎还支持用于数据存储、Google Accounts、URL提取、图像处理和邮件服务等应用的程序接口(APIs),提供基于web的管理控制界面。每个Google应用引擎应用程序都会拥有足够的CPU、带宽和存储空间,及免费支持每月五百万次左右的页面访问量。表1有代表性的云计算平台之间的主要特性对比亚马逊(EC2)Google(App engine)微软(Azure)SUN(Cloud APIs)IBM(蓝云)平台类型基础设施应用程序应用程序基础设施应用/基础设施服务类型计算、存储Web应用Web/non-Web应用计算、存储计算虚拟技术基于Xen的系统级虚拟应用级虚拟(App Container)fabric controller的系统级虚拟Sun xVM hypervisor, VMware vSphere, Microsoft Hyper-VXen/PowerVM系统级虚拟接口亚马逊EC2命令行工具基于Web的管理控制台Azure portalSun web portalIBM WebSphere portalWeb APIs有有有有有增值服务有无有有有与旧软件的兼容性兼容不兼容兼容兼容兼容用户群开发人员终端用户开发人员开发人员开发人员编程框架可定制的linux实例映像(AMI)PythonMicrosoft .NETSun Cloud APIsLinux-img, hadoopMicrosoft Azure 15旨在提供整套的开发、运行、监控的云计算环境,使软件开发人员通过微软数据中心就可以轻松创建、运行、管理和布署Web / non-web应用。Microsoft Azure 支持包含多种专有开发工具和多种协议的复杂合集,包括Live Services, Microsoft .NET Services, Microsoft SQL Services, Microsoft SharePoint Services, and Microsoft Dynamics CRM Services,还支持如SOAP和REST等网络程序接口,使程序开发人员可以在微软或非微软的工具和技术之间自如转换。Sun Cloud16,17的基础是资源模型以及访问/操纵这些资源的API。Sun Cloud所定义的资源模型都是围绕着云资源而展开的,并且提供了对云本身及其组件的访问。API将使人们能够与开放云平台和Sun Cloud更好合作,更加轻松地开发出应用软件以及云环境。Sun Cloud有两项服务,存储服务和计算服务,计算服务的核心是虚拟数据中心(VDC),支持拖放、API以及通过浏览器分配计算资源的命令行界面。存储服务支持用于文件访问和存储的WebDAV协议。IBM的“蓝云”18计算平台是一套软、硬件平台,通过架构一个分布式、可全球访问的资源结构,使得数据中心使用类似于互联网的计算环境。“蓝云”大量使用了IBM先进的大规模计算技术,结合了IBM自身的软、硬件系统以及服务技术,支持开放标准与开放源代码软件。“蓝云”基于IBM Almaden研究中心的云基础架构,支持Xen和PowerVM19虚拟化技术,Linux操作系统映像以及Hadoop20(Google File System21以及MapReduce22,23,24的开源实现)文件系统的并行构建。3、云计算平台构建Amazon是互联网上最大的在线零售商,也是业界最早提供远程云计算平台服务的公司。2006年推出的新一代主机租赁(hosting)服务,为独立软件开发人员以及开发商提供云计算服务平台,并得到了快速发展。Amazon将他们的云计算平台称为弹性计算云。本文这部分,将通过Eucalyptus开源云计算平台,向读者展示如何搭建和实现自己的类似亚马逊弹性计算云(EC2)的云计算应用平台,实际体验云计算的魅力和应用潜力。3.1开源云计算平台(Eucalyptus)搭建Eucalyptus 2项目全称是Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems是 Amazon EC2 的一个开源实现,它与商业服务接口兼容,由加利福尼亚大学(Santa Barbara)大学建立的开源项目,是实现云计算环境的弹性需求的软件,通过其在集群或者服务器组上的部署,并且使用常见的Linux工具和基本的基于web的服务。使用FreeBSD License,意味着可以直接使用在商业软件应用中。该系统使用和维护十分方便,使用SOAP安全的内部通信,且把可伸缩型作为主要的设计目标,具有简单易用,扩展方便的特点。这个软件层的工具可以用来通过配置服务器集群来实现私有云,并且其接口也是与公有云相兼容,可以满足私有云与公有云混合构建扩展的云计算环境。和 EC2 一样,Eucalyptus 依赖于 Linux 和 Xen 进行操作系统虚拟化。因为Eucalyptus 是加利福尼亚大学为进行云计算研究而开发的,您可以从该大学的网站上下载它,或者通过 Eucalyptus Public Cloud 体验它,不过后者有一些限制。Eucalyptus系统构架如下:(见图1)Eucalyptus的结构包括:Instance Manager、Group Manager和Cloud Manager三部分,采用层状结构。Instance Manager(实例管理):每一个安装有虚拟机的节点上都有一个Instance Manager。它控制虚拟机的运行。Group Manager(分组管理):管理一组Instance Manager,管理Instance Manager收集的实例信息,对应于一个由虚拟集结点组成的虚拟网络。Cloud Manager(云管理):管理一组Group Manager,是云的入口点,供云最终用户或系统管理员使用。上述三部分的物理部署结构如下图:机群B云管理分组管理实例管理实例管理实例管理实例管理专用网分组管理实例管理实例管理实例管理实例管理专用网机群A共用网图1 Eucalyptus系统物理部署结构3.2系统安装硬件需求Eucalyptus运行所需要的硬件:Eucalyptus的一个较为完整的安装、配置需要4台机器。2台做cluster节点,安装Instance Manager,1台安装Group Manager,1台安装Cloud Manager。Eucalyptus各部分在硬件上的部署:Eucalyptus的三个主要构件Instance Manager、Group Manager和Cloud Manager分为前端(front-end)和节点(node)端两部分。Group Manager和Cloud Manager属于前端,节点端即Instance Manager。3.2系统安装前准备Eucalyptus系统安装首先需要LINUX基础环境、JAVA与ANT环境、PERL脚本、XEN虚拟环境等;其次,与Eucalyptus系统交互过程需要安装EC2兼容命令行工具集;最后,Eucalyptus系统的安装和启动过程要以“root”身份进行。另外还要注意以下几点:1、由于Eucalyptus系统管理员是以邮件方式验证Eucalyptus用户身份的,因此系统前端设备须有发邮件功能;2、节点端设备须将系统网络接口配置为桥方式,以保障虚拟机之间和外网络的连通;3、Eucalyptus系统所处的网络环境中须有DHCP服务器,以保障Eucalyptus虚拟实例可通过DHCP服务器获得ip地址。3.3系统安装在前端设备安装eucalyptus-cloud and eucalyptus-cc 程序包,并启动Group Manager和Cloud Manager服务;在节点端设备安装eucalyptus-nc程序包,并启动Instance Manager服务。3.4系统配置在前端设备通过“euc-conf”命令添加集群和节点设备名组成云,Eucalyptus平台设定一个云可以有多个集群,每个集群可以有多个节点设备,从而形成服务器之间的高可用性和可扩展性;通过在浏览器进入 “https:/ :8443/” 云计算平台入口,第一次进入时,须初始化云计算平台设置,包括管理员密码修改、(x.509)安全证书下载和API及AMI 管理工具下载安装;通过AMI 管理工具上载Eucalyptus系统默认的linux系统映像实例及绑定AMI-ID等等。至此,Eucalyptus云计算平台搭建完成。3.5 运行实例Eucalyptus云计算用户(这里指开发人员)通过“https:/ :8443/”注册、验证和安装EC2 API and AMI 管理工具后:运行“ec2-run-instances AMI-ID”命令启动实例(虚拟服务器),并得到实例的ip地址;运行“ssh root”进入实例,这时用户可以像操作本地系统一样操作这个实例,如:安装配置mysql数据库程序或启动运行诸如httpd、mail、ftpd等服务;运行“ec2-describe-instances”命令检测实例状态;运行“ec2-terminate-instances”命令关闭实例(虚拟服务器)。4 在云计算平台上集成服务/应用细心的读者可能已经发现,上述Eucalyptus云计算平台安装后的实例是空的裸系统。如果用户可以将自己特定的应用制作成实例映像文件,并上载运行,无疑将充分发挥云计算的优势,实现应用的快速部署和迁移。本文这部分,就以Liferay开源内容管理系统应用和Centos系统为例,向读者展示如何将内容管理系统应用制作成实例映像文件,上载至Eucalyptus云计算平台,启动运行,实现门户集成服务应用的快速部署。4.1 Liferay开源内容管理系统简介Liferay Portal3,25,26作为一个优秀开源的Portal项目,利用了大量的第三方组件和优秀的框架,采用了最先进的技术,如Hibernate,Struts,Spring等开源框架,EJB,JMS,SOAP,AJAX等技术,实现了JCP JSR168规范中提出的Portal功能,在开源Portal系统中有比较典型的代表性。Liferay代表了完整的J2EE应用,使用了WEB,EJB以及JMS等技术,特别是其前台界面部分使用Struts框架技术,基于XML的Portlet配置文件可以自由地动态扩展,支持访问Web服务来获取一些远程信息,使用Apache Lucene实现全文检索功能。Portal系统所提供的单点登录、权限控制、个性化定制、内容集成、文件管理等独特的功能,已经大大占据公众的眼球,并在信息集成和消除信息孤岛方面发挥了重要的作用。使用Liferay企业能够很方便地建立自己的门户网站,个性化自己的外观。通过定制portlet,能够更加高效地管理和处理企业的信息。Liferay还在不断的完善和发展中,已渐渐成为行业领先的Portal系统,受到越来越多的关注。4.2定制基于Centos系统的Eucalyptus实例映像根据Eucalyptus系统要求,Eucalyptus实例映像包括三部分:内核(kernel)、内存(ramdisk)、文件系统(filesystem)。制作实例映像的办法主要有三种:除了最灵活最常用的“dd“27方法外,还有“debootstrap”28和“vmbuilder”29等第三方工具可以使用。这里将以“dd”方法为例,制作Centos+Liferay的实例映像文件。在制作文件系统映像文件时嵌入Liferay开源内容管理系统。4.3定制内核文件在Centos系统环境下,安装并配置xen环境,修改/boot/grub/menu.lst文件,重启后将在/boot/路径中得到内核文件“vmlinuz-uname-rxen“。4.4定制内存(ramdisk)文件通过mkinitrd命令创建内存(ramdisk)文件“centos-ramdisk.img“。4.5定制文件系统映像文件A、创建空的系统映像文件$ dd if=/dev/zero of=centos-root.img bs=1M count=1999/创建系统映像文件;$ mkfs.ext3 centos-root.img /格式化系统映像文件;B、进入映像文件、配置并安装Centos基础系统$ mkdir rootdisk/创建挂接目录;$ mount -o loop centos-root.img DIR/rootdisk/ /挂接系统映像文件到目录;$ cd rootdisk /进入系统映像文件;$ mkdir etc & vi DIR/etc/fstab /配置文件系统信息;$ mkdir dev & for i in console null zero; do /sbin/MAKEDEV -d DIR /rootdisk/dev -x $i; done /配置系统设备;$ mkdir -p lib/modules & cp -a /lib/modules/uname-rxen/ DIR/rootdisk/lib/modules/ /配置内核模块;$ mkdir -p etc/sysconfig/network-scripts & vi ifcfg-eth0 /配置网络;$ mkdir -p var/lock/rpm & vi DIR/yum-xen.conf /配置程序包和 yum源;$ yum -c DIR/yum-xen.conf -installroot= DIR/rootdisk -y groupinstall base /安装基础系统;$ cd /root & umount DIR/rootdisk /退出系统映像文件;C、嵌入整合Liferay开源内容管理系统下面我们就将Liferay系统嵌入到上述已经安装有Centos基础系统的实例映像文件(centos-root.img)中,实现Centos与Liferay的整合集成。Centos+Liferay整合方案的主要思路就是在xen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47551-2026塑料有害物质限量要求多溴联苯和多溴二苯醚
- 土方路基检查记录表(加筋土工材料)
- 项目部安全资金投入计划月度报表
- 项目经理就餐记录
- 《老年服务伦理与礼仪》全套课件 项目1-9:老年服务伦理认知 -老年服务场合礼仪实践
- (辅导班)2026年新高三数学暑假讲义(基础班)第14讲 导数的概念与运算(解析版)
- 2025-2026学年浙江省台州市高三第一次模拟考试语文试卷含解析
- 【2026】年公务员考试山西省申论巩固难点解析
- 【2025】荆州市松滋市定向招聘大学生村级后备干部考试真题
- 26年基础护理师资培训课件
- Windchill系统使用操作手册
- T/CHTS 20030-2023公路锌铝复合涂层钢护栏
- 2023气体绝缘金属封闭电器用全氟异丁腈混合气体密度继电器技术规范
- API STD 667-2022 板式和框架式热交换器
- 2024年甘肃定西中考数学试题及答案2
- 2023BIM三维场布实施标准
- 《建设工程造价咨询工期标准(房屋、市政及城市轨道交通工程)》
- 2024年新课标高考物理试卷(适用黑龙江、辽宁、吉林地区 真题+答案)
- 8S管理培训基础知识课件
- 小学科学教学仪器配备标准
- 城市智慧路灯(5G综合灯杆)建设工程项目(含方案设计及项目实施方案)
评论
0/150
提交评论