云平台资源监控系统的研究与实现.docx

上传人:b****7 文档编号:10674214 上传时间:2023-02-22 格式:DOCX 页数:10 大小:92.85KB
下载 相关 举报
云平台资源监控系统的研究与实现.docx_第1页
第1页 / 共10页
云平台资源监控系统的研究与实现.docx_第2页
第2页 / 共10页
云平台资源监控系统的研究与实现.docx_第3页
第3页 / 共10页
云平台资源监控系统的研究与实现.docx_第4页
第4页 / 共10页
云平台资源监控系统的研究与实现.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

云平台资源监控系统的研究与实现.docx

《云平台资源监控系统的研究与实现.docx》由会员分享,可在线阅读,更多相关《云平台资源监控系统的研究与实现.docx(10页珍藏版)》请在冰豆网上搜索。

云平台资源监控系统的研究与实现.docx

云平台资源监控系统的研究与实现

摘要

随着云计算技术的进一步发展,云计算技术的应用越来越普及,很多企业和组织考虑将其现已拥有的IT基础设施转移到云计算环境中,以求降低IT基础设施建设的投入和维护管理的成木。

为了让云计算平台更加有效的提供基础设施服务,监控云平台下的计算资源成为了云计算技术研究的重点。

本文研究实现了云平台下计算资源的监控。

主要工作包括以下部分:

1、本文研究了Eucalyptus源云平台、AmazonEC2,搭建了基于Eucalyptus的云计算实验平台,达到了进行包括云计算资源监控、资源管理调度、虚拟机迁移技术等云计算研究的要求。

2、本文针对云平台下因虚拟机监控器(KVM、XEN等)的异构性造成的监控信息难以统一获取的情况,基于Libvirt、SNMP等技术提供更为直观、统一的虚拟资源监控管理方法,达到了对云平台资源信息的有效获取和资源控制调节的目的。

3、木文将云平台提供的应用服务也作为云平台提供的计算资源纳入监控范围,对JVM监控技术的原理与关键技术进行了深入研究,设计并实现了云平台下对Java应用程序的监控。

木文在利用Eucalyptus开源云计算框架搭建的云平台下对平台计算资源包括Java应用程序进行了监控,为云计算平台资源管理提供了基础支撐。

关键字云计算,Eucalyptus,虚拟资源监控,应用监控

RESEARCHANDIMPLEMENTATIONOFCLOUD

PLATFORMRESOURCEMONITORINGSYSTEM

Abstract

Withthefurtherdevelopmentofcloudcomputing,cloudcomputingtechnologyisbecomingincreasinglypopular,manyorganizationsorenterprisestoshifttheirexistingITinfrastructureintothecloudenvironment,forreducingITinfrastructureinvestmentandmaintenancecosts.However,forprovisioningtheIaaScloudservicesefficientlyincaseofacloudwithheterogeneouscomputingresources,howtomonitorandmanagethesecomputingresourcesisstillachallengeforcloudproviders・Thisthesishashadadeepresearchontheexistingprincipleandcriticaltechnologiesofcloudmonitoringandimplementedaresourcemonitoringsystemprototype.

ThisthesisstudiestheopensourcecloudplatformEucalyptus,AmazonEC2,buildsanexperimentalcloudplatformbasedonEucalyptuswhichprovidesthefoundationforfurthercloudcomputingstudyascloudcomputingresourcemonitoring,resourcemanagementandscheduling,virtualmachinemigrationtechnologyetc.

Ifshardtogainthemonitoringinformationofthecloudplatformincaseofacloudwithheterogeneousvirtualmachinemonitors.Thisthesisprovidesamoreintuitive,unifiedapproachbasedonLibvirt,snmptogainthemonitoringinformationofthecloud.

Thisthesismonitorstheapplicationinthecloudplatformasaresourceofthecloudplatform.ThekeytechnologiesofJVMmonitoringareresearched,andusetheAgenttechnologytomonitortheJavaapplicationinthecloudplatform・

ThisthesispresentsasystemtomonitortheresourceincludingapplicationsinthecloudplatformbasedonEucalyptus,providesthedatabasisformanagementthecloudresource.

KEYWORDS:

cloudcomputing;eucalyptus;virtualresourcemonitoring;applicationmonitoring

摘要I

第一章绪论1

1」研究背景1

1.2问题的提出2

1.3研究现状3

1.4本文研究内容6

1.5论文组织结构7

第二章相关技术原理和知识8

2」虚拟机技术与云计算8

2.2Eucalyptus研究12

2.3资源监控技术13

2.4应用程序监控相关技术16

2.5本章小结16

第三章基于Eucalyptus云计算平台的搭建17

3」搭建云平台产品的选择17

3.2Eucalyptus的安装和云平台的搭建17

3.3本章小结19

第四章云平台资源监控系统的设计20

4」系统设计总体思路与原则20

4.2总体结构设计22

4.3系统子模块设计24

4.3.1CenterMaster职责与设计24

4.3.2AgentNode职责与设计29

4.3.3CollectNode职责与设计30

4.4本章小结32

第五章云平台资源监控系统的实现33

5」系统子模块具体实现33

5.1.1CenterMaster子系统的实现33

5」.2AgentNode子系统的实现43

5」.3CollectNode子系统的实现46

5」.4AgentJar代理程序的实现47

5.2系统应用举例50

5.3本章小结58

第六章总结与后续研究工作59

论文工作总结:

59

下一步工作方向:

59

参考文献错误!

未定义书签。

致谢错误!

未定义书签。

攻读学位期间发表的学术论文错误!

未定义书签。

第一章绪论

1.1研究背景

随着互联网的迅猛发展,互联网的用户和数据急剧膨胀,世界上各大互联网公司必须建立数量巨大的服务器集群来处理这些不断增长的数据。

据统计,Google作为世界互联网企业的巨头,其服务器集群规模已经超过1800万台,在国内,腾讯、阿里巴巴等互联网公司的集群规模也已经超过了六位数。

山于服务器硬件发展日新月异,而操作系统和软件应用发展却相对滞后,硬件资源的利用率仅为15%〜20%o据统计,在当前的数据中心中,CPU资源的利用率平均在5%〜20%之间,而内存资源的利用率也不超过60%14。

因为利用率的低水准导致扩大集群数量只会增加企业IT基础设施的投入,并带来更加巨大的能源消耗和管理维护的费用,而且集群的大小同机器故障率成正比关系,集群的增长同时也带来了安全性等问题⑶。

在这样一种形式下,云计算技术得到了迅猛的发展。

考虑到新增服务器带来的经济负担和集群的扩大带来的数据安全性问题,各大IT公司都将LI光投向云计算。

云计算(CloudComputing)⑷技术通过虚拟化(Virtualization),将大量的虚拟资源'®整合,为用户提供IaaS(InfrastructureasaService)⑷,PaaS(PlatformasaService)以及SaaS(SoftwareasaService),例如Eucalyptus,AmazonEC2⑺,GoogleAppEngine181,MicrosoftAzure191,Salesforce1101等。

云计算技术使用户能够按需求获得计算资源,提高资源利用率。

企业也能够从自身的IT基础设施建设中解脱出来,将更多精力和资源投入到企业核心业务上。

由于云计算技术以虚拟化技术为基础,将资源进行了虚拟化,虚拟资源在云计算平台上以虚拟机的形式存在。

虚拟机以其良好的扩展性、可靠性和隔离性得到了广泛的应用成为云计算技术发展的前提和基础,随着硬件日新月异的更新换代,系统拥有的资源越来越多,如何管理和控制这些资源成为一个亟待解决的问题山」21。

在虚拟环境下,调度器完成了资源的分配和调度工作,调度器进行资源分配多数基于资源共享,而往往对虚拟机应用的紧迫性、资源消耗具体情况以及优先等级考虑不多,这种资源管理具有一定的盲H性。

如果需要满足虚拟机资源需求的动态化特征,传统固定资源配置的方式势必造成资源的巨大浪费2】。

因此云讣算平台管理员需要一个更高效的资源监控系统,能够屏蔽不同虚拟机监控器的异构性,帮助云计算平台合理分配资源。

虚拟化资源的管理很大程度上直接影响了云计算平台所提供服务的质量,而虚拟化资源的管理必须以对虚拟资源的监控为前提。

所以本文研究的重点是如何有效地监控云计算平台下的资源,包括云计算平台服务器硬件资源、虚拟资源以及应用程序资源,设计并实现监控云计算平台资源的监控原型系统,为云计算平台资源的管理提供支撑平台。

1.2问题的提出

由于云计算技术的不断发展,以及前面提到的诸多优势,越来越多的企业将自身的IT基础设施转移到云讣算平台上。

考虑到云计算技术正处在发展阶段并不是非常成熟,平台用户会从自身企业成本、数据安全等问题考量云计算平台,而平台提供者也需要注意这些问题并给出解决方案。

云计算平台使用者核心关注的主要问题:

保证服务的可靠性:

企业为了提供用户良好的体验,服务必须全天不间断,所以企业要求即使某些服务器故障关停,也不会影响服务提供的水平。

保证数据安全性:

数据在互联网时代已经成为企业生存、发展的生命线,数据的丢失可以说会带给企业灭顶之灾,所以企业都要求即使硬盘坏掉,数据也不能丢失。

降低使用成本:

上面一节我们提到,由于传统的集群服务器的扩展带来了巨大的基础设施建设成本投入,企业才纷纷将IT基础设施转投云计算平台,所以企业都想尽量降低资源使用成本。

提高资源利用率:

因为云计算的特征之一就是资源的'‘按需索取资源,按实际使用付费”,所以为了降低使用成本,必须提高资源利用率。

而云计算平台提供者面临的问题:

如何高效的管理云计算平台:

云计算平台下的资源庞大,为了提供高质量的云计算服务,必须实现高效的云计算资源管理,而且山于云计算平台通过虚拟技术整合异构的物理计算资源,特别是在由不同的虚拟机监控器(VMM:

VirtualMachineMonitor)如KVM[⑷、XEN"51等共存的云计算平台中如何高效统一管理。

如何合理分配云计算资源:

上面一节我们提到,山于在虚拟环境下,调度器完成了资源的分配和调度工作,往往忽视了虚拟机应用的紧迫性、资源消耗具体惜况以及优先等级,这种资源管理具有一定的盲口性。

并且虚拟机资源需求的动态化特征,传统固定资源配

置的方式势必造成资源的巨大浪费。

因此如何更合理分配云讣算资源成为业界研究的重点。

更深入的资源发现与管理:

传统的计算资源管理通常局限于计算机硬件资源的监控与管理,而在云讣算时代,资源管理的重点是面向云讣算平台下通过虚拟化技术虚拟整合的虚拟讣算资源,具体表现形式是成千上万的虚拟机,而虚拟机内部的应用程序资源的监控与管理还鲜少触及,全面深入的资源监控才能为云计算资源的管理提供更可信的数据依据。

为了解决这些问题,必须实现对云计算平台资源的高效管理,云计算技术领域热门的研究包括云计算环境下虚拟机内存分配、虚拟机动态迁移等技术都应运而生,而进行行之有效的云计算平台管理的前提是实施对云计算平台资源以及使用情况的有效监控。

监测数据能够为资源的调整提供依据,资源控制调整的功能能够为平台的管理提供行之有效的手段。

1.3研究现状

目前,国内外的学者和研究机构针对云计算平台的资源监控方面的技术作了较多的研究,产生了一些极具应用价值,并且应用广泛的商业产品或开源软件,本章将对现有软件产品进行研究,分析它们的优点与不足。

1、Virt-Manager

Virt-Manager是一款基于Libvirt库开发的管理虚拟机的桌面应用程序【⑹。

Libvirt屏蔽了虚拟机底层的复杂结构,提供了一个用户层次的接口。

Virt-Manager可以监控云讣算环境下运行的虚拟机的资源利用情况和实时性能,可以新建虚拟机、调整和配置虚拟硬件资源及虚拟机的资源分配。

Virt-Manager不仅可以管理Xen,也可以管理KVM和QEMU”I创建的虚拟机。

其还捉供一套丰富的控制台管理工具:

VirtImage(创建虚拟机镜像)、VirtInstall(创建虚拟机)、VirtClone(虚拟机控制台)、VirtualMachineViewer(图形显示虚拟机桌面)。

V-Manager可以同时监控多个虚拟机的CPU利用情况、内存使用情况、网络配置以及虚拟块设备配置等信息,但是也存在很多不足之处。

1、Virt-Manager无法获得虚拟机VCPU资源利用情况。

hypervisor层存放了VCPU的负载信息,Virt-Manager无法访问底层的数据,无法了解到详细的虚拟机资源损耗。

2、Virt-Manager无法监测虚拟机的内存消耗和使用悄况。

Virt-Manager监测

的内存使用率并不表示虚拟机的资源消耗,只表示了VMM分配给该虚拟机的内存所占系统总体内存的比例关系。

3、Virt-Manager作为一种虚拟机监控程序管理软件,它所监测到的虚拟机资源消耗信息并不多,并不能很好的作为云平台资源管理和优化配置的数据依据,而且并没有提供良好的数据接口不便于针对企业不同情况订制管理系统。

4、另外Virt-Manager没有提供对虚拟机内的应用程序监测的功能。

2、Xen

Xen是一个开放源代码的半虚拟化(para-virtualizing)虚拟机,或"管理程序”,是为x86架构的机器设计的。

Xen可以安全的在一套物理硬件上执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少l,8,o111于其优越的性能和开源性,被业界认为是未来最有前途的一款虚拟机管理软件。

基于Xen的操作系统,有多个层,最底层和最高特权层是Xen程序本身。

Xen在设计之初釆用了半虚拟化技术1,9-201,需要少量修改GuestOS内核与VMM协同工作,后来在加入了Intel和AMD的VT-x及SVM硬件虚拟技术支持后,Xen能够实现全虚拟化,此时GuestOS内核不需要修改,Windows这种非开源的操作系统开始可以在其上运行,弥补了半虚拟化时的不足BQ】。

图M为Xen3.0的结构示意图。

 

其中dom(Domain,域)称为虚拟域,也就是虚拟机。

hypervisor直接运行于

硬件裸机上,处于特权级ringO,用于控制和管理虚拟硬件资源,负责对各个虚拟机的调度以及对共享资源的控制访问等。

Xen可以管理多个来宾操作系统,每个操作系统都能在一个安全的虚拟机中实现和运行。

在Xen的术语中,DomainillXen控制,以高效的利用CPU的计算资源。

每个来宾操作系统可以管理它自身的应用。

这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。

当Xen启动后,Xen虚拟机监控程序自动创建一个名为DomainO的特殊域,只有这个DomainO特殊域有权限访问底层硬件设备,同时DomainO和虚拟机管理程序交互,是其他虚拟主机的管理者和控制者,DomainO可以构建更多其它的Domain域,并管理虚拟设备。

它还能执行管理任务,比如虚拟机的休眠、唤醒和迁移其他虚拟机a】。

3、Xentop

Xentop以一种持续更新的方式实时显示系统和虚拟机的信息,可以显示虚拟机的名称、CPU负载、虚拟机运行状态、内存使用状况、虚拟网络传输状况和虚拟块设备读写请求等a】。

Xentop在DomainO上运行,因此所有运行在Xen上的虚拟机消耗物理CPU资源的情况都可以被Xentop监测到,Xentop监控的信息量相对比较丰富,包括虚拟机的标识号、名字、CPU负载情况、内存使用惜况、虚拟机的虚拟CPU个数、每个虚拟CPU运行时间、虚拟网络流量数据等情况。

Xentop能够实时动态显示监测到的计算资源消耗情况,但是不能够显示历史数据,无法提供给云平台系统管理员根据历史数据分析平台性能、管理系统资源,也没有提供管理员控制平台和优化资源分配的接口,不能通过监测到的数据调整虚拟机的资源分配,实现资源配置的优化。

4、XenMon

XenMoiV26'性能监控程序是在Xen虚拟化环境下对服务质量监控和运行性能进行分析的辅助性工具。

XenMon使用trace方法获取Xen环境下虚拟机监控器的事件流,并根据事件流得出一些性能指标。

它主要山三个模块组成Xentrace.Xenbaked以及XenMonFrontend,它们的职责分别是:

Xentrace负责记录程序产生的事件,该模块位于虚拟机监控器;Xenbaked的任务职责是缓存并处理Xentrace产生的事件内容,该模块位于特权虚拟机内;XenMonFrontEnd的职责是在前端显示Xenbaked的处理输出。

使用XenMon可以得到虚拟机的很多事件信息,比如虚拟机被调度执行的次数、虚拟机阻塞时间、I/O操作的次数、等待I/O处理的时间、虚拟机之间页交换的次数。

但是XenMon获得事件流必须以修改虚拟机监控器为前提,是专门针对Xen虚拟机监控器而设计的,其他虚拟机

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1