当前位置:主页 > sunbet是赌博的吗 > 正文

基于负载均衡的存储架构的研究和应用pdf

  时间:2017-08-01 00:23|来源:未知|作者:admin| 浏览次数:

  1.本站不该用户上传的文档完整性,不预览、不比对内容而直接下载产生的问题本站不予受理。

  --------------------------Page1--------------------------------------------------------Page2------------------------------原创性声明和关于论文使用授权的说明原创性声明本人声明:所呈交的学位论文,是本人在导师的指导下,进行研究所取得的。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名:壹l主堡日期:至!!!:生:二里关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。(保密论文在解密后应遵守此)论文作者签名:童!ll生导师签名:--------------------------Page3------------------------------●,1.IIf^4I▲}争--------------------------Page4------------------------------山东大学硕士学位论文目录(.k摘要……………………………………………………………………………I铀Abstran………………………………………………………………………………………………….Ⅲ第一章绪论……………………………………………………………………..11.1.研究背景…………………………………………………………………l1.1.1.应用背景概述………………………………………………………11.1.2.云存储概述…………………………………………………………21.1.3.虚拟存储概述………………………………………………………31.2.相关研究…………………………………………………………………41.2.1.传统存储体系研究…………………………………………………41.2.2.负载均衡技术研究…………………………………………………71.2.3.虚拟存储架构研究…………………………………………………91.3.本文研究工作及组织结构……………………………………………..11第二章基于负载均衡的虚拟存储架构………………………………………132.1.基于规则的虚拟存储体系……………………………………………..132.1.1.体系架构…………………………………………………………..132.1.2.规则介绍…………………………………………………………..142.1.3.ROPL面向规则编程……………………………………………..152.2.负载均衡的存储架构…………………………………………………..162.2.1.应用…………………………………………………………..172.2.2.负载均衡模块设计………………………………………………..18第三章基于Saas模式的虚拟存储应用模式………………………………..223.1.Saas模式的软件应用模型…………………………………………….223.1.1.SaaS概念介绍…………………………………………………….223.1.2.Saas应用平台架构……………………………………………….233.2.服务化存储应用………………………………………………………..243.2.1.Saas模式的存储应用…………………………………………….26--------------------------Page5------------------------------山东大学硕士学位论文3.3.虚拟存储对服务化应用支撑…………………………………………..27第四章虚拟存储原型系统的设计与实现……………………………………294.1.整体框架………………………………………………………………..294.2.基础支撑…………………………………………………………..304.2.1.iRODS………………………………………………………………………………….304.2.2.Pbrtal……………………………………………………………………………………314.3.相关实现技术…………………………………………………………..334.3.1.WIebSe而ce…………………………………………………………………………334.3.2.舢,..…………………………………………………………………………………..344.4.服务接口及应用模式…………………………………………………..35第五章总结和展望……………………………………………………………445.1.本文工作总结…………………………………………………………..445.2.未来工作展望…………………………………………………………..45参考文献………………………………………………………………………..46致谢………………………………………………………………………………………………….50攻读学位期间发表的学术论文目录…………………………………………..5l攻读学位期间参加的科研项目………………………………………………..52--------------------------Page6------------------------------山东大学硕士学位论文CoNTENTSAbstractinChinese……………………………………………………………………………………IAbstractinEnglish…………………………………………………………………..Ⅲ1ChapterIntroduction…………………………………………………………l1.1.ResearchBackground……………………………………………………………………一11.1.1.oVerviewofBackgro岫d……………………………………………11.1.2.ove而ewofCloudstorage…………………………………………21.1.3.0ven,iewofVinu础storage………………………………………..31.2.RelatedI沁search………………………………………………………………………….41.2.1.Reseachontraditionalstorage黟stem……………………………….41.2.2.ReseachonloadbaJanceteclulology……………………………….71.2.3.Reseachon访mlalarchitectl叮e………………………………9storage1.3.Main、vork锄dOutlinesofmeTheis………………………………………………11-2VimlalBasedonLoadCh印terstorage心chitecnlreBal锄cing……………..132.1.ⅥrnJalBasedonRule………………………13storage缸chitecture2.1.1.aurchitectllre……………………………………………………………………………132.1.2.rule………………………………………………………………………………………142.1.3.ROP川uleorientedprogra.mming………………………………………….152.2.LoadArchitecture……………………………………16BalallingStorage2.2.1.enVironment…………………………………………………..17application2.2.2.10admoduIebalancingdesign………………………………………………….183ⅥrtuaJModeBaSedonSaas…………………..22Ch印terstorageApplication3.1.SaaSModel…………………………………………………..22SoRwareApplication3.1.1.Saas………………………………………………………………..:…………………..223.1.2.Saasplatfo册Stru曲lre……………………………….23applic撕onSeⅣice3.2.storageApplication……………………………………………………………24--------------------------Page7------------------------------山东大学硕士学位论文3.2.1.SaaSstorageapplication…………………………………………..263.3.SeⅣiceVirnJalApplic撕onSupportedbyStorage………………….274ofVirtuaJChapterDes咖&Implement撕onStoragePrototypeSystem……294.1.Framework…………………………………………………………………………………..29En、,ironment……………………………………………………………304.2.Supponing4.2.1.iRODS……………………………………………………………..30l4.2.2.Portal………………………………………………………………34.3.RelatedTeclulolo斟……………………………………………………334-3.1.W曲Sen,ice……………………………………………………………….334.4.Ser、,iceInterl’acesMode…………………………………………35andApplication5andFlltllreCh印terSummayWbrk………………………………………………………..44Theis…………………………………………………..445.1.S啪m叫oftlle5.2.FutureWrork…………………………………………………………….45‘References………………………………………………………………………………………………46Acknowle旭ements………………………………………………………………………………….5011lesisD嘶ngDegreeStudy……………………………………………………51ProjectsDu^ngDegreeStudy……………………………………………………………………52广--------------------------Page8------------------------------山东大学硕士学位论文摘要社会信息化程度的急速发展,使得数据正成几何级的数量爆炸性的产生,从而对存储提出的更高、更多的要求。虽然现在磁盘存储容量在不断的增加,但面对爆炸性的数据增长,本地磁盘的存储方案已经体现出了的局限性。随着云计算概念的提出,存储即服务(Storage鹊aSeⅣice)的SaaS模型和云存储的概念也得到了广泛的发展和应用。以硬件冗余、自动故障切换、海量并行扩容、负载均衡及易于管理为标志的云存储的到来使得大规模的廉价的存储成为了可能。云存储中核心的技术便是虚拟化技术,包括有设备虚拟化、服务虚拟化等。存储的虚拟化是实现云存储的关键步骤。本文在借鉴成熟的存储架构(如DAS、NAS、SAN、OBS等)的基础上,通过实践找到一种适合云计算形态的存储形式,并将这种存储体系在云的状态下进行部署应用。现行主流的存储架构都有着各自的优缺点,某些架构是在特定的应用下发展建立起来的。例如DAS(Direct.Attachedstorage)采用电缆直接到服务器的,I/O请求直接发送到存储设备,但其在备份、恢复、扩展、灾备等方面Area存在着突出的问题;SAN(storageChaIulel)等互连协议连接起来的,传输效率很高,但实施成本非常高。NAS(NeMork.Attachedstorage)以文件作为基础,建立专用于数据存储的存储私网,NAS主要将目光集中于应用、用户、文件及其共享上。与主流的存储架构相比,基于虚拟存储的云存储会具有明显的优越性:虚拟存储提供了一种大容量存储系统集中管理的手段,采用统一的环节对整个虚拟存储网络中的节点进行管理,避免了设备扩充等带了的管理麻烦,在虚拟存储中,扩容仅仅是管理员对新加设备的节点挂接,对整个系统的运行没有影响:虚拟存储大大提高了存储系统的整体访问带宽,存储系统是有多个的存储模块构成,而虚拟存储良好的负载均衡能力会使得数据的写入与访问更加平衡,性能大幅的提高;虚拟存储使得存储资源的管理更加灵活,不论是在副本管理还是元数据管理方面,虚拟存储都提供了良好的支持。本文通过建立虚拟化层次以组织一个自物理层至用户层的虚拟存储空间。借鉴引入成熟架构中的关键技术,并整合利用了一些开源项目组贡献的相关--------------------------Page9------------------------------山东大学硕士学位论文中间件,建立起本文中描述的通用虚拟存储体系。该虚拟存储架构在设计之初特别注重了存储体系对用户的透明性,对终端用户而言,存储空间在理论上是无限的,数据在云端是安全且易用使用的。本文致力于在普通商用网络上建立大规模分布式的安全存储网络。通过加入了规则的概念实现了虚拟存储系统的灵活控制和管理,并在实现过程中根据实际需求加入了在文件读取两方面的负载均衡控制。另一方面,随着软件即服务的SaaS应用模式已经被广泛的接受和应用。这种按需定制、多租户、灵活可配置的模式为用户提供了极大的方便。在云计算成为大势所趋的背景之下,Saas甚者PaaS的应用模式的应用必然会愈发普遍。本文在提出虚拟存储架构的基础上,同时从虚拟存储的Saas应用模式角度进行了研究和阐述。我们利用项目组在柔性按需配置的Paas平台研究中的相关工作设计实现了相关的原型系统在实际应用中进行了实践。关键词:虚拟存储:云存储:SaaS模式:负载均衡产--------------------------Page10------------------------------山东大学硕士学位论文ABSTRACTthehotofofhlfomatiza矗onbecomestopicthe矗mes;mee)【ponentialgrowthdataneedsdatavol哪eofdiskisstorage.EVenthou曲thesmglehi曲erpe渤rmancet0tlleinaIlway,localstorages仃ategyalread),haSgrowthexplosiVeincreaSing,facesomelackofresearchtllatⅡlediskproVesclearlyc印abili电只Meanwhile,some埘liza_tionislowerthan、vehaVeSaaSisnlou曲t.A10ng谢thma:tIlringincre嬲in西ytimesofCloudisasa锄dmeComp嘶ngcoming,StorageSe而ce(锄omerSaas)锄dCloudhaSandeVelopment.Hardwareredund锄吼Storagee斌ensiVe印plic撕on锄dauto-f各ulta11dadrnjnister雒mee)【pansion,loadbalancingea跚t0s、)vitch,parallelitforscale雒dofcloudhaS秭Vedandmesemakela唱es)rmbolC0mp嘶ngpossibleisthecoreofdoudtechnologystorage,includingcheaperstorage.VirtuaJiZationa11dVinualizationisⅡlecriticaJdevice访rtu砒izationserVice、,irtualization.Storagecloudofstorage.stepAtⅡleaIldOBSaremearchitectureintime,DAS,NAS,SANstoragepresentmainstreaIll.IlldeViceisDAS(Direct-AttachedStorage)architecture,storagetoittoseⅣertransmitdeViceco肌ectedusingcable,伙)requeststoragedirectly.ButhaSsomea11ddisaSterissues,recoVe吼e)(pansionoutstaJldingsuch嬲backup,AreaiscollllectedNetv旧rk)architecturebyFC(Fibermanagement.SAN(storagenlatdataomerinterconnectionisanetworkc锄traIlsmitCh锄e1)锄dprotoc01.Itanddeviceorbe觚eende啊ceaIld锄omerbet、veenseⅣerstoragestoragedirectly.ForiIlabouttenisandmestaIldardgettingdeVelopedbecornjngpracticeyears,SANoftllecostofSANisaretlleb骶eindustry,buthigh.Filesne觚orkt0corulectseⅣerandStorage)architecture.nadoptstedmologystoragede、,icet11ene似orkbuildsanetvvorkfordatabyswitch,andpriVatestoragestorage.NASclosea廿e而onand丘lesh撕ng.Whenrequestpaysto印plication,userS,fileshaSai11seⅣer、加llbemebotcleneckoftheamountsha叩increaSemomentaD,,themisbaSedaccess.OBS(ObjectStorage)syStem.AndgoesagainstmagnaIlimi母dataIII--------------------------Page11------------------------------山东大学硕士学位论文haSmeofAreaNe撕orkandNe倾,ork-AttachedcanadVantageStorageStorage.ItaCcessdataataoflikeAreaNetv旧rkhi曲ratespeedStorageandhaSt11eN咖ork-AttacheddataourllsemeofStorage’ssharingabili够IIlp印er,weconc印tOBSectandmetadatainvinualthrou曲objstorageasahasnlodelandSaaS(So胁areseⅣice)applicationbe锄谢delyacceptedmodelcanbetoon—demalld,multi—tenant,ne)【ible印plied.ThisconfiguredproVideseⅣicest0userS.hthearchitecturebaSed衄Virtualproposedstorage,virtllaJstorageofSaaSInodelisstudiedand狮dwe锄dapplic撕ondesc舶ed,desi驴edainimplementedproto够pe夥stempracticel(eywords:ViI’tualStorage;CloudStorage;SaaS;LoadBaIancing‘一--------------------------Page12------------------------------山东大学硕士学位论文第一章绪论1.1.研究背景1.1.1.应用背景概述在当今的时代,信息化正成为时代的主题,数据正成几何级的数量爆炸性的产生,从而对存储提出更高、更多的要求【11。虽然现在磁盘存储容量在不断的增加,但面对爆炸性的数据增长,本地磁盘的存储方案已经体现出了局限性,与此同时,有研究表明本地的磁盘利用率并不像想象中的那样高。并且存储系统管理的费用要远远高过设备本身的费用【21。随着Saas技术的日益成熟和云计算时代的到来,存储即服务(Storage豁aSeⅣice)的SaaS模型和云存储的概念也得到了广泛的发展和应用。以硬件冗余、自动故障切换、海量并行扩容、负载均衡及易于管理为标志的云计算的到来使得大规模的廉价的存储成为了可能。云存储中核心的技术便是虚拟化技术,包括有设备虚拟化、服务虚拟化等。存储的虚拟化是实现云存储的关键步骤。这是可以将具体的存储设备及存储系统与服务器操作系统分离开来,为用户提供一个整体的虚拟存储池【3】。Storage),存储设备是通过电缆直连到服务器的,I/o请求直接发送到存储设备,其Area在备份、恢复、扩展、灾备等方面存在着突出的问题。SAN(StorageN酿vork)Ⅲ技术是一种利用FC(FiberChalulel)等互连协议连接起来的,可以在服务器与存储设备之间以及存储设备与存储设备之间直接传送数据的网络,经过十多年的发展,SAN技术已经相当成熟,并成为了业界的事实标准,但SAN的实施成本非常高。NAS(Network.AttachedStorage)以文件作为基础,采用网络技术,通过网络交换机连接存储系统和服务器主机,建立专用于数据存储的存储私网,NAS主要将目光集中于应用、用户、文件及其共享上,当服务请求激增时,服务器将baSedStorage)综合了附网存储和成为瓶颈,不利于海量的数据访问。OBS(Object存储区域网的优点,具有存储区域网的高速直接访问和附网存储的数据共享机制,我们以对象及元数据的方式将OBS的思想应用于虚拟存储的实现当中。与主流的存储架构相比,基于虚拟存储的云存储会具有明显的优越性:虚拟--------------------------Page13------------------------------山东大学硕士学位论文存储提供了一种大容量存储系统集中管理的手段,采用统一的方式对整个虚拟存储网络中的节点进行管理,避免了设备扩充等带了的管理麻烦,在虚拟存储中,扩容仅仅是管理员对新加设备的节点挂接,对整个系统的运行没有影响;虚拟存储大大提高了存储系统的整体访问带宽,存储系统是由多个的存储模块构成,而虚拟存储良好的负载均衡能力会使得数据的写入与访问更加平衡,性能大幅的提高;虚拟存储使得存储资源的管理更加灵活,不论是在副本管理还是元数据管理方面,虚拟存储都提供了良好的支持。本文提供了一种基于负载均衡的虚拟存储R印lic撕on【5】作为基础进行了相应的实现。1.1.2.云存储概述云计算已经成为了IT界的热点话题。从业内的云计算应用来看,存储是一个绕不开的关键点。云存储也已经成为了云计算领域最先被大规模推广应用的应用模式。像谷歌、亚马逊这些业内巨头都已经推出了自己的云存储服务【8,9】。aSaSe而ce)概念的火热也体现了存储在这次云计算浪潮中存储即服务(Storage的重要地位。云存储可以看作是云计算中的一种支撑组件。云存储不仅仅是简单的在线存储,在线存储服务只是云存储能够提供的众多服务中的一种。云存储应该有高可靠性、高可用性、低成本、高扩展性、自动容错及易管理等特点。实现云存储的技术关键是虚拟化技术。与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。云存储系统的结构模型由4层组成【101。一、存储层。存储层是云存储最基础的部分。存储设备可以是FC光纤通道存储设备。云存储中的存储设备往往数量庞大且分布多不同地域,彼此之间通过广域网、互联网或者FC光纤通道网络连接在一起。存储设备之上是一个统一存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、多链冗余管理,以及2--------------------------Page14------------------------------山东大学硕士学位论文硬件设备的状态和故障。二、基础管理层。基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。基础管理层通过集群、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。CDN内容分发系统、数据加密技术云存储中的数据不会被未授权的用户所访问,同时,通过各种数据备份和容灾技术和措施可以云存储中的数据不会丢失,云存储自身的安全和稳定。三、应用接口层。应用接口层是云存储最灵活多变的部分。不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。比如视频应用平台、口TV和视频点播应用平台、网络硬盘引用平台,远程数据备份应用平台等。四、访问层。任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。云存储运营单位不同,云存储提供的访问类型和访问手段也不同。1.1.3.虚拟存储概述随着社会生产和生活信息化程度的日益加强,爆炸式的数据正在以指数级形式大量增加。数据的存储形式也由原有的直连式存储(DAS)方式逐步过渡到了以附网存储(NAS)和存储区域网(SAN)为核心的网络存储方式。但随着网络应用的日益普及和按需定制模式的成熟,传统的网络存储方式的弊端也越来越明显。尤其是当数据有GB级扩展为TB甚至PB级时,数据在存储上更加需要达到容灾备份、成本低廉、易于扩展、管理方便等多个指标。而虚拟存储的出现为解决这个问题提供了途径。虚拟存储不仅可以满足海量数据存储的需求,提高了存储空间的利用率,同时还能够屏蔽异构操作,简化了存储系统的管理。美国著名IT咨询公司R-obenFrancesGroup对虚拟存储的定义是:“虚拟存储是指那些架构和产品被设计成仿真一个物理设备,如磁带机,其特性被镜像到另~个物理设备上,通常是一个磁盘或磁盘子系统。结果,逻辑设备和虚拟设备的特性可以完全不同,应用系统操作的是虚拟设备,而不必关心线--------------------------Page15------------------------------山东大学硕士学位论文是什么。”虚拟存储技术将不同的接口协议等网络存储设备整合为一个虚拟的存储池,根据不同的需求为用户创建和提供虚拟存储空间。虚拟存储实际上是一种逻辑存储,它克服了物理存储在容量、地域等方面的局限性,能够充分的利用异构的存储平台构建存储空间。从而为用户提供海量空间、高数据可靠性的存储服务。对于系统管理员而言,虚拟存储实际上是存储资源或网络的虚拟化、逻辑化,是一种智能地、有效地管理存储数据与资源的方式。虚拟存储将一个或多个物理设备或系统映射成完全不同的逻辑镜像,呈现给系统管理员,这在了物理设备或系统高性能、高可用性等优势的前提下,打破了物理设备本身的一些局限性,使得整体系统更加简单、统一地实现配置、扩充与管理。对于用户或应用程序/服务器而言,存储资源的使用变得更加透明,用户或应用程序/服务器无需关心物理存储设备和资源,而将注意力放到存储空间的使用上。虚拟存储的实施有以下几个方面的收益:·采用虚拟存储技术有效提高存储空间利用率,一般在40%至50%;·虚拟存储技术可以实现数据地址在多个存储设备上带状分布和拆分实现并行的读写,最终达到整个存储系统面向应用的整体I/0性能的提高;·虚拟存储技术可以通过镜像技术实现对单一数据在多个存储介质上创建副本防止因个别存储介质的损坏对整个系统的影响,确保系统的高可用性;·虚拟技术可以将多个小设备整合成一个大设备,来降低直接被管理的设备数量。由此,提高了容错能力,降低故障率和恢复次数。1.2.相关研究1.2.1.传统存储体系研究目前主流的存储架构有DAS、NAS、SAN、OBS等。下面对这几种常见的架构进行一下简单的介绍。图1.1中直观的展现了DAS、NAS和SAN三中结构的构成示意图。4--------------------------Page16------------------------------山东大学硕士学位论文DAS(Direct.AttachedStorage),这种方式是将存储设备通过SCSI电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操,作系统,I/O请求直接发送到存储设备,其在备份、恢复、扩展、灾备等方面存在着突出的问题。[日[日C墅刁应用服务器应用服务器文搏系统文件系统SCSl。Fe艇RAIDRAID宙99图l-1DAS、NAS、SAN结构不意图SAN(Stofage心eaNe觚ork),是通过高速专用网络将一个或多个网络存储设备和服务器连接起来的专用存储系统。它没有采用文件共享存取方式,而是采用块(block)级别存储。根据数据传输过程采用的协议,可分为FC(光纤通道)SAN和口SAN。FCSAN存储系统位于服务器后端,采用FC协议来传输数据,是为连接SAN存储区域网络服务器、磁盘阵列等存储设备而建立的高性能专用网络。FC的优点:l、可实现大容量存储设备共享。2、可实现性能服务器与高速存储设备的高速互联。3、可实现灵活的存储设备配置要求。4、可实现数据快速备份。SAN也存在着一些不足:1、设备的互操5、提高了数据的可靠性和安全性。FC作性较差。2、成本高。3、不适合异构。4、设备昂贵。这些都阻碍了SAN技术的普及应用和推广。口SAN是基于口网络实现数据块级别存储方式的存储网络,它允许用户在已有的以太网上创建存储网络,并可在任何网络节点上实施部署,因此保存的它既具有口网络系统接口)技术。iSCsI是基于P网络实现的SAN架构,--------------------------Page17------------------------------山东大学硕士学位论文配置和管理简单等优点,同时又提供了SAN架构所拥有的强大功能和扩展性。‘.过Ⅲ传输存储命令,因此可以在整个ntemet上传输,没有距离。iSCSI存储的缺点:a)协议开销大。b)极大的占用带宽。。NAS(Ne似ork-觚achedStorage),是一种特殊的专用数据存储服务器,它对文件服务器系统进行了优化并加上大容量存储,以文件I/O方式进行数据传输,通过网络交换机连接存储系统和服务器主机,建立专用于数据存储的存储私网,是一种专用的网络文件存储及备份设备。NAS主要将目光集中于应用、用户、文件及其共享上,当服务请求激增时,服务器将成为瓶颈,不利于海量的数据访问。’basedOBS(O场ectStorage)综合了附网存储和存储区域网的优点,具有存储区域网的高速直接访问和附网存储的数据共享机制,我们以对象及元数据的方式将OBS的思想应用于虚拟存储的实现当中。在目前的虚拟存储领域的研究主要集中在虚拟存储的架构及其应用上。比较多的虚拟存储系统都是围绕SAN为核心进行扩展设计的,LUOBin,LI吲等人设计了一种从SAN扩展而来的虚拟存储实现方案,像Bw-VSDS㈣同样是以SAN为核心设计实现了一种大容量、可扩展、高性能和高可靠的网络虚拟存储系统,。对系统分为了三层的虚拟化,并对虚拟快照、缓存管理等都有所涉及。在解决大Wn【1规模数据的存储问题方面,圣迭戈分校的Michael2,”1等人在早先的时Data候设计了面向SRBGrid的大规模数据存储系统。YONGz耶和JIANG-LINGZHANG【141提出了一种基于智能体的分布式网络存储技术以解决分布式存储中遇到的扩展性,灵活性和可用性问题。HaiyanWu㈣给出了一种提高Ren和P锄zhou【16J也在数据访问效率和数据安全性的分布式存储模型。WulingWu相似的领域给出了自己的解决方案。Jian)【i和HaiyallChen,D锄F锄&Zh锄Shi等人通过名为iⅥSA的框架【171,融合分布式啪和虚拟存储的概念,给出了一种高效的存储策略。一本文中论述研究的虚拟存储架构致力于在通用商业下运行,借鉴传统存储系统中在通用下的技术特性并结合最新的虚拟存储研究,以此为基础.展开本文的相关研究工作。--------------------------Page18------------------------------山东大学硕士学位论文1.2.2.负载均衡技术研究现有的网络中往往会在带宽、吞吐量等方面出现性能上的异常,负载均衡就是在这种网络结构之上,提供了一种廉价、有效、透明的策略,来控制和调度网络设备、管理服务器的带宽和吞吐量、加强数据处理能力、提高灵活性和可用性。负载均衡可以从两个层次进行理解:第一,海量到来的并发访问和数据请求被分流到多台节点设备上进行处理,减少用户的响应时间;第二,单个节点上的运算负载过重时将负担分担到多个节点上做并行运算,每个节点设备处理结束后,将结果合并处理后返回给用户,系统处理能力将有显著的提高。目前有多种负载均衡技术用以满足不同的应用场景,常见的有:软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡及链聚合技术等【18】。其中软/硬件负载均衡的软件负载均衡解决方案,是指在一台或多台服务器相应的操作系统上,安装插件来实现负载均衡,如DNS均衡等。它的优点是基于特定、配置简单、使用灵活、成本低廉,可以满足一般的负载均衡需求。而其中的硬件负载均衡解决方案,是在系统服务器和网络结构间直接安装统称之为负载均衡器的物理负载设备。由于使用了单独的物理设备来控制系统负载,且其于操作系统,系统的性能会有大幅度的提高,负载均衡器中可以使用多样化的负载均衡策略,利用智能化的流量管理,可满足系统的负载均衡需求。通常而言,硬件负载均衡在功能、性能上优于软件方式,但是存在存储成本昂贵的缺点。下面介绍几种常见的负载均衡类型。·DNS负载均衡。这是一种最早出现的负载均衡类型,通过在DNS服务器中为多个地址配置同一个名字,查询该名字的客户机将得到其中一个地址,从而使得不同的客户机访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单有效的方法,但它的策略过于简单,不能区分出服务器差异,也无法反映服务器的当前运行状态。●代理服务器负载均衡。通过使用代理服务器,可以将请求转发给内部的服务器,静态网页的访问速度可以通过使用这种加速模式得到显著的提升。同时也可以利用这一技术,使用代理服务器将请求均衡的转发给不同的服务器,从而达到负载均衡的目的。●地址转换网关负载均衡。利用地址转换网关,首先该类网关是支持负载7--------------------------Page19------------------------------山东大学硕士学位论文均衡的,可以将一个外部IP地址映射到多个内部口地址,对每次访问请求动态使用一个映射到的内部地址以到负载均衡的目的。●协议内部支持负载均衡。在这三种负载均衡类型之外,有的协议内部支持与负载均衡相关的功能,可以利用这种功能来实现负载均衡。如咖协议中的重定向能力等。·NAT(NetworkAddressTransl撕on网络地址转换)负载均衡。概括的讲是这种方式用于未经注册的内部地址与的和已获注册的口地址间进行转换,将一个口地址转换为另一个D地址。适用于解决P地址紧张和内部网络结构对外透明等的情况。·反向代理(ReverSePro斟)负载均衡。代理服务器对外像一个服务器一样,通过使用代理服务器来接受网络上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端。反向代理负载均衡技术是把将来自网络上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。·混合型负载均衡。在某些复杂的大型网络中,由于多个服务器群内硬件物理设备、各自的规模、提供的服务等等存在差异,我们可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向提供服务以达到最佳的性能。这就是所谓的混合型负载均衡。此种方式有时也可用于单台均衡设备的性能不能有效满足大量连接请求的情况下。负载均衡是一种策略,即让多台服务器或多条链共同承担一些繁重的计算或任务,从而以较低成本消除网络瓶颈,提高网络的灵活性和可靠性,减少用户的等待时间。网络负载均衡是一种动态均衡,它通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。常见的负载均衡算法包括有:轮循均衡,权重轮循均衡,随机均衡,权重随机均衡,响应速度均衡,最少连接数均衡,处理能力均衡和DNS响应均衡。LoadingBalancingS仃ate科(DLBS)㈣以解决OBS中的负载均衡问题。在负载均衡--------------------------Page20------------------------------山东大学硕士学位论文RaSool等人提出的研究方面,现在更加注重了Replica方面的研究,例如Q缸sar了一种在数据网格中的负载均衡策略【5】,通过Fair.ShareReplic撕0n的策略实现了在数据网格中的副本均衡。Moo.1yuIlgS眦g【驯等人提出了内容传递网络中的内容重定向的一种算法用于解决分布式下的均衡。在oBS的研究方面W.e等人提出了DWC2㈨的方式处理大型OBS集群。Qingsong在本文设计实现的虚拟存储系统的具体运行过程中,我们发现在分布式的多存储节点中存储诸多的负载均衡问题。有一些负载问题直接成为了系统的性能瓶颈,为了解决这些存在的现实问题,我们结合传统的负载均衡问题和最新的一些负载研究,在系统架构中设计了两个关键的负载均衡模块。这些内容会在下文的2.2节中详细介绍。1.2.3.虚拟存储架构研究根据虚拟化多种形式的实现,可以将虚拟存储的实现方式分为在I/o通上的虚拟化、块级和文件级的存储虚拟化、在应用服务器中的存储虚拟化、在存储设备中的存储虚拟化和在网中的存储虚拟化【211。·虚拟化功能可以在I/O通的不同点上实现。在磁盘子系统中的虚拟化具有把任务从计算机移到磁盘子系统,从而计算机负担的优点;在存储网络中的虚拟化的优点是可以从中心点集中的管理所有可提供的存储资源容量,这就减少了管理和访问存储资源的代价,并允许更有效的使用可提供的资源;在主机总线适配器中的虚拟化提供了在服务器和磁盘子系统之间实现RAID的一种选择,这样也同样可以计算机的负担。把虚拟化的放在哪里可以达到最佳的性能是不确定的,这要综合考虑资源消耗、容错、性能、可扩展性和易于管理等多个因素。·块级和文件级的存储虚拟化。块级虚拟化是指存储容量是以虚拟盘的形式向操作系统或应用程序提供。这种情况下虚拟化实体的任务是把这些虚拟块映射到真实存储设备的物理块。文件级虚拟化意味着虚拟化实体以文件和目录的形式向操作系统或者应用程序提供虚拟存储,在使用这种虚拟化技术时,应用程序不是针对块而是针对文件工作,并且把文件转换为虚拟块的工作由虚拟化实体本身负责。9--------------------------Page21------------------------------山东大学硕士学位论文·在应用服务器中的存储虚拟化。这种虚拟化技术典型的方式是将文件系统和卷管理程序结合起来。卷管理程序负责逻辑层和物理设备之间的分一割。把物理设备封装为逻辑空间。这样,应用服务器中的文件系统即可针对逻辑空间进行相关的文件操作。基于主机的虚拟化技术主要的问题是每台主机上的虚拟化都需要进行单独的配置和管理,增加的管理的成本。·在存储设备上的虚拟化。智能磁盘子系统中的块级虚拟化是在存储设备上虚拟化的一种典型应用。存储系统通过RAID等方式组织起来,通过多种I/0通道对服务器提供存储空间。服务器使用诸如sCsI、光纤协议等多种协议来访问由物理存储设备组织在一起形成的虚拟盘。基于存储设备的虚拟化的重要局限在于标准。目前市场上有多家成熟的存储设备厂商提供基于自有标准的虚拟化解决方案,导致了在用户选择上的局限,不利于这种虚拟化技术的推广应用。●在网络中的存储虚拟化。在这种方式中虚拟化由网络本身实现,通常情况下在sAN网络中附加虚拟化设备或者虚拟化模块来实现存储虚拟化。根据数据流和控制流是否使用同一个通道,可以将该类存储虚拟化方式分为对称虚拟化和非对称虚拟化。·在对称式存储系统中,存储的网络虚拟化工作需要使用相应的专用虚拟化引擎来实现。所谓的虚拟化引擎,是一种被称作SANAppliance的专用存储管理服务器,用来完成虚拟化工作。它负责将多个物理磁盘系统组合成大的存储池(Storagep001),再把它们分割成小的存储单元或逻辑卷,并根据主机对容量、速度和可用性的要求,将这些存储单元P逻辑卷分配给主机使用。当sANappliances直接位于主机服务器和存储设备的数据通道中间(In—Band)时,这种虚拟存储方式被称为对称式虚拟存储。此时控制信息和用户数据都会通过它,而它会将逻辑卷分配给主机,就像一个标准的存储子系统一样。一--------------------------Page22------------------------------山东大学硕士学位论文主机l主机l主机蒜割罐引蒜≥,\I/虚拟化弓擎_Ij声拟化B祭sAN存储网络存储池RAI。IRA-。lRA·。IRA·。l曰曰曰曰图l-2对称式及非对称式虚拟化框架图虚拟化将是实现大规模异构分布式存储系统的关键技术,虚拟化将在整个系统的多个层次上发挥作用,这次作用不仅包括将不同物理特性的存储设备统一注册为一致的存储空间,也包括有用更加简洁的统一化方式对系统进行控制和管理。在本文中我们借鉴了前人在虚拟化技术上的研究,并通过因为规则的概念来完成整个系统的虚拟化工作,以此使得整个系统形成有机的整体。1.3.本文研究工作及组织结构本文的主要研究内容集中在基于负载均衡的虚拟存储模型的架构设计、模块设计及系统原型实现。在此基础上探讨虚拟存储模型在柔性按需定制的服务平台中作为运行态的支持并同时作为的存储应用以Saas服务的模式对外提供服务。基于这样的研究目的,本文的主体将分为五章对研究内容进行介绍:第一章:绪论。提出本文的研究主题的切入点,介绍相关的研究背景、概念和目前相关研究内容的进展程度,并阐述本文研究内容在存储领域的创新性工作。最后给出本文的主要研究内容和文章的组织结构。第二章:基于负载均衡的虚拟存储架构。在这一章中首先引入了规则的概念,并在相关概念介绍的基础上提出了基于规则的虚拟存储体系。结合该体系和实际运行中遇到的负载均衡问题,设计提出了相关的负载均衡策略并扩展为负载均衡的存储架构。第三章:基于Saas模式的虚拟存储应用模式。设计了负载均衡的存储架构在应用于柔性按需定制的服务平台中时运用SaaS应用模式将存储作为一种服务向外提供。这一章中介绍了相关的概念和Saas模式的存储服务化应用。--------------------------Page23------------------------------山东大学硕士学位论文第四章:虚拟存储原型系统的设计与实现。这一章中将介绍基于上述章节提出创新性工作的架构及模式设计的统一的虚拟存储原型系统。首先会引入相关系统支持所需软硬件方面的概念,并着重介绍架构的实现、服务接口及应用模式。第五章:总结和展望。这一章将总结本文中研究工作的创新性工作的应用,并就相关的研究内容提出未来发展趋势的展望。一--------------------------Page24------------------------------山东大学硕士学位论文第二章基于负载均衡的虚拟存储架构一2.1.基于规则的虚拟存储体系本文通过引入规则的概念以实现在整个虚拟存储系统中的控制管理,规则将成为整个存储系统的核心元素,规则引擎在系统中也发挥着至关重要的作用。在本节中,我们将引入规则的概念并简要介绍相关概念,并介绍以规则为核心基于规则的虚拟存储体系。2.1.1.体系架构我们首先介绍一下基于规则的虚拟存储体系架构。这是本章中介绍的基于负载均衡的虚拟存储架构中的存储系统的核心体系。规则是整个体系的核心,规则引擎也处于整个体系的中心。从图2.1中我们可以看到,体系可以分为数据系统层和界面层两个层次。规则引擎是数据系统层的核心,这个引擎会运行在所有分布式的存储节点上,它将负责调用并解释执行所需的微服务及其构成的各种规则。规则引擎中需要处理的规则可以分为系统级规则和用户级规则两种。厂—————————————————————————————————————、I基于规则的虚拟存储体系图2.1基于规则的虚拟存储体系结构·系统级规则:这些规则是存储服务器自身调用的一些管理策略。像数据管理的控制包括有:数据完整性、数据访问权限、数据布局、副本管理、元数据抽取等。还包括有像认证管理、账户管理等系统管理层面的服务。--------------------------Page25------------------------------山东大学硕士学位论文当系统在特定的时间点有管理层面的需求时,规则引擎将调用系统级规则。·用户级规则:规则引擎会处理来自于界面层用户产生的相关数据请求。这些流程性的规则可以根据具体的需求由用户使用系统定义的微服务或规则进行定制,具体的定制过程将在后续的章节中进行说明。规则引擎在数据系统层有两方面的任务:一方面它将接受来自于界面层的数据请求,并将请求进行解释、处理及反馈;另一方面,在数据系统层内部,它对数据服务器和元数据目录进行沟通,通过与数据服务器的交互,对存储在底层物理存储设备上的数据进行相关操作,通过与元数据目录的交互,对系统内部存储的数据的元数据信息进行。2.1-2-规则介绍在虚拟存储体系中,我们将细粒度的操作抽象为原子的操作,并将这种操作称为微服务。通过面向规则编程(ROP)将微服务编制为规则。ROP的概念我会在下一小节进行介绍。我们首先给出规则的定义。曩规则定义:规则是特定一个或多个逻辑动作的别名,通过微服务或规则进行★编制,用于满足特定的系统或用户需求。一条规则包含名称、条件、执行链和回滚链四部分,每一部分之间使用“I”分割。conditionworkflow-chain规则结构:actionDefIrecoveq-chajn·actionDef:名称;是规则的唯一标识。●Condition:条件;满足条件时执行规则。$rescName==demoResc8·workflow-chain:执行链;是一组微服务和规则的序列,每个单元用“群妒’分割,包含有输入和输出参数,参数为空以NULL代替。执行链可以调用规则本身,但需避免无限循环。·recove拶.chain:回滚链;当执行链中的节点执行失败时将执行回滚链。一回滚链中节点与执行链中节点一一对应,如果相应的执行链节点不需要一回滚则使用“nop”对应。规则示例:--------------------------Page26------------------------------山东大学硕士学位论文1.iRoUback拌{毕msiRonback南6撑nop●acCreateUser:规则名字·msiCreateUser:创建用户·acCreateDefaultCollections创建默认的空间●msiCom】nlit:在元数据目录中注册相应信息·msiRollback:删除用户信息●msiRDllbauck:删除空间信息·nop:没有操作Pamlike2.acRe百sterDatal$objmome/collections.nvo/2maSs严I●acRegisterData:规则名称●$obiPath时执行该规则。·.nV0,wnte):找到可用的存储;注册文件:赋予nvo工程中的2maSsusers用户组写权限。●suSers.nv0,write):删除注册文件/权限。在系统中存在大量的系统级及用户级的规则。分别用于完成系统运行的逻辑指令和满足用户对存储系统的各类需求。在原子操作的微服务之上,用户可以为在系统中定义新的规则,以及通过规则修改流程或定义新的流程。2.1.3.ROP.面向规则编程面向规则编程(ROP)是一种不同于传统编程的编程模式。它强调普通用户使用语言来产生控制能力,普通用户可以不在系统级专业开发人员的帮助下完成对需求的实现。ROP是一种块级的编程语言,它的基本构成单位是上文中提到--------------------------Page27------------------------------山东大学硕士学位论文的“微服务”。微服务是一种原子的、定义良好的功能单元。微服务是由系统级和应用级的开发人员定制的,普通用户及管理员可以通过“”微服务来实现自己的需求或者构造更高级别的服务。更高级别的服务可以称之为“动作”。动作可以是某一类功能微服务的,也可能是多类微服务的,它可以表达某一种特定的功能,也可以同时表达多’种功能。2.2.负载均衡的存储架构我们在实际的项目工作中将基于规则的虚拟存储体系加以实现应用,在实际的运行过程中我们发现在多个方面存在负载均衡的问题。像多客户端对单一节点的并发读写会造成突出的性能瓶颈。在本小节中我们将基于规则的虚拟存储体系加以扩展,组织为一个完成的通用存储体系一虚拟存储架构VSA(VinuaJStorage中同时介绍我们设计的负载均衡模块。VSA这个架构是基于存储虚拟化模型s、伽进行设计的。正如图2.2中所示,鲥该架构中包含有界面层、规则及元数据管理层和虚拟存储管理层。这样一个三层的结构对应于sⅧ的三个虚拟化层次。其中规则和组成规则的微服务用于控制▲系统的流程。●界面层为普通用户和管理员提供了多种的交互方式,比如:iCommands、客户端、web和共享文件夹。●规则及元数据管理层。这一层中分为上下两个层次。在上层中,提供了客户端和管理端两种界面接口,这两种接口提供了不同的访问权限。在这一层中,第一次使用到了规则。在存储过程中的原子操作,我们定义Transaction),规则就是由这些原子操作组成的。规为OT(Oper撕ng则引擎管理这些规则。任何访问及管理的操作都被定义为规则。当使用用户界面时,用户的请求将被发送到基于资源的服务和基于元数据的服一务两个模块;当使用管理界面接入时,管理员可以通过配置规则模块、服务管理及元数据模块来管理规则引擎、资源服务及元数据服务。在这一层中有两个重要的功能模块:基于资源的服务和基于元数据的服务。--------------------------Page28------------------------------统中有一张参数表来保存这些参数。在分析左右的资源节点后,系统会在整个逻辑空间中选择最优的资源节点进行操作。系统中时刻着一张包含各节点的负载信息表。当数据写入请求到来时,系统通过调用写时由模块来完成数据写入时的负载控制;当数据访问请求到来时,系统通过副本由策略来完成对访问时副本的控制。客户端界面管理界面…..—.———二f—.—————.—————.—.—.———,,,;=:髯、:;:三::k————··…·…lo…·…·…一二,一一1,o一-o、:一oo·、‘=一。一厂、厂,元数据模配置模块规则模块服务管理规则调用块◆检查模块检查模块检查模块1EI—一●H曼叫’一。(赢o∥兀烈惦目前疾态·7/规则引擎/‘\~\~\\u、L////:二蓬新摇的阴冬、r厂罾J必删、HJ_l】瞩7]、厂-{。儿瓤循删服劈.11k—U微服务模块LU微服务模块。I—ll、L.一\/图2-2负载均衡的虚拟存储架构2.2.1.应用负载均衡的存储架构设计应用在分布式异构的中。资源层的物理设备可以是在性能和属性上差别很大的存储设备,比如各种型号的硬盘、磁带,它们可以挂接在诸如、Ⅳindo、ⅣS、linu)【等不同的操作系统之下,每个节点中将加装一个存储中间件来获取节点的相关信息和完成对节点的操作、控制。整个系统中17--------------------------Page29------------------------------山东大学硕士学位论文将设置有若干的存储主控服务器和元数据服务器:存储主控服务器将负责整个存储系统的运行工作,前文章节中提到的位于核心地位的规则引擎就位于主控服务器中;元数据服务器负责存储系统中数据元数据信息的存储、控制等相关工作。2-2-2.负载均衡模块设计在负载均衡的存储架构图2.2中我们可以看到在虚拟存储管理层中有两个重要的负载均衡模块:副本由模块和写时由模块。副本由模块的主要任务是在系统对单一节点单一数据或单一节点多条数据进行访问是,造成数据请求堆积在单一节点上,造成性能瓶颈,系统的全部性能将受制于数据来源处节点的性能及请求来源处到数据节点的网络,这是需要通过特点的策略将性能瓶颈处的数据做出副本迁移到其他相对更优的数据节点上,系统对瓶颈处节点的压力。这个模块中的主要使用到了一个副本均衡的算法。写时由模块的主要任务是在系统中有数据写入请求时,该模块负责在全局下寻找最优的存入节点,该节点不仅在各方面的性能上相对最优且需要拥有对外良好的网络,写时由模块会根据执行的策略对节点进行筛选并获得最优节点,将数据写入。这个模块中主要使用到一个写时均衡的算法。·副本均衡首先介绍在副本管理模块中采用的副本均衡算法。在数据网格中的副本均衡策略中提到使用了一种Fair-ShareR印lic撕on(FSR)策略。我们将处理的问题中包含有如下的技术参数:数据网格的拓扑结构、网络带宽、节点容量、数据集大小、副本数量及所在的节点。我们在拥有这些参数信息的情况下对系统中的数据访问负载进行控制。FSR的主要思是基于系统中节点的访问负载并在访问负载接近的情况下基于最优的存储负载从众多兄弟节点中选择最优的节点将副本迁移至此。下图展示了FSR的框架图。GridReplic撕onarrivaltime这个时间点有来自客户端clientid’fileid),这个表说明的是在timeclientid的一个对于文件fileid的请求。R印Iica创建时使用另一张的负载表所的平均访问频率,(公式),当节点的频率高于或等于平均频率时,即可触发创建相应的replica。GRS包含了所有的R印lica目录。其策略是首先向同级别--------------------------Page30------------------------------山东大学硕士学位论文的兄弟节点创建,在兄弟节点不满足条件时向下级节点分配,直到符合要求的节点。在访问该数据时,GRS提供了一个ReplicaSelector来负责从众多的II印lica中选取最合适的file数据相应访问请求。与此同时FSR提供了一个ReplicaReplacementPoli叫.5ltclsn0Z图2-3Fa讯ShareReplicalion·写时均衡在写时均衡时,我们采用一种通过权值计算的方式,获取最优的写入节点。系统会根据节点的硬件配置情况对每个节点Ni都设定一个初始权值哪(Ni)(通常性能越高的节点其初始权值越高),然后,随着节点负载的变化,应用服务器将对节点的权值不断进行动态调整。为了评估一个服务器的负载,通常需要周期性地从各个服务器节点收集以下参数:·CPU利用率Cpu(Ni)%·内存利用率Mern0秽(Ni)%·当前网络流量T(Ni)·磁盘I/o访问率IO(Ni)%·响应时间Rt(Ni)·进程总数Pr(Ni)结合每个节点当前的权值,可以计算出新权值的大小。动态权值要能正确反映各节点的负载状况,以预测节点将来可能的负载变化。对于不同类型的应用系统,各个参数的重要程度也有所不同。为了方便在系统运行过程中针对不同的应用来适当调整各个参数的比例,为每一个参数设定一个权系数Ⅱi,用来表示各个19--------------------------Page31------------------------------山东大学硕士学位论文负载参数的重要程度,其中∑兀i_1。因此,任何一个节点Ni的负载就可以描述为:IO(Ni)%+了【5×Rt(Ni)+Ⅱ6×Pr(Ni)均衡器的动态权值采集程序周期地运行,一般为5.10秒(可以根据具体情况进行设置),根据上述公式,在刷新周期T(i)内,可以查询节点的负载情况,并计算出各个节点的动态权值Load(Ni)。在数据写入时,写时由模块将从权值表中查找最优的权值所在的逻辑节点,并将数据由向最优的节点。算法流程是:南一害.@图2-4写时均衡算法流程1.计算逻辑空间层的初始权值表(Lw)和资源层节点的初始权值表(R、叻,并以5.10秒的周期进行刷新。2.写入请求到达时,在LW中查找最优节点,若最优节点为多个首选网络流量T更优的节点,考察该节点存储空间剩余量,若符合则向下资源节点层由,若不符合,在LW中选择次之的节点重复执行2。3.在RW中查找最优节点,若最优节点为多个首选网络流量T更优的节点,考察该节点存储空间剩余量,若符合条件,写入该节点,若不符合则在RW中选--------------------------Page32------------------------------山东大学硕士学位论文择其他节点。下面给出了这个算法流程的代码示例。1.LW/RW初始化;输入需要存入的文件为F;//文件大小为F.v2.intx=一1;3.do{4.i“LW.1eng山==O)//判断LW中是否有节点,如果有继续下而的流程5.break;6.i11tj=getop(LW);∥调用方法getCp()找到最优的LW节点7.if(LwD】F.v)//如果节点剩余空间/1i满足要求,则继续寻找8.LW.remoVe(LW【j】);9.else10.x_j;11.)while(tme)12.inty=-1;13.do{14.if(Rw.1ength—O)//判断Rw中是台有节点,女lI果有继续下面的流程15.break:16.intj=getCIp(RW);∥调用方法getop()找到最优的Rw节点17.if(RW[j】F.v)∥如果节点剩余空问不满足要求,则继续寻找l8.LW.remoVe(RW[:j]);19.else20.蚓;21.)while(仃ue)//方法getop(),用丁.找到最优的节点1.intjg朗op(LRW){2.intm=newa-LRW[O];ListList;//初始的第一个节点的得分为基准3.for(eachLRW)4.{5.if(LRw[i]a)//找到得分最高的节点6.m.add(LRW[i]);7.a=LRW【i】;8.)9.if(m.1en酬胗=1)//是否存在这样的节点,及是否为多个10.{11.intb=m.at(O).T;12.intj_O;13.for(eachm)14.{15.if(a.at(i).T_b)//找到T参数最优的节点16.f17.b=m.at(i).T;18.j=i;19.}20.}21.)22.)21--------------------------Page33------------------------------山东大学硕士学位论文第三章基于SaaS模式的虚拟存储应用模式3.1.SaaS模式的软件应用模型3.1.1.SaaS概念介绍传统的软件分发模式,其中软件购买后安装在个人电脑上,有时也称为软件即产品。SaaS是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。Saas是一种软件分销模式,其中应用程序由供应商或供应商托管,并通过网络提供给用户。它与on.dem锄dsoR啪re(按需软件),se而cethe印plic撕onproVider(AsP,应用服务提供商),hostedsoR坝une(托管软件)所具有相似的含义。Saas已成为一种越来越普遍的交付模式,因为支持W幽服务和面向服务的架构的支撑技术日渐成熟,而且新的开发方法越来越普及。同时宽带服务越来越用于支持用户从世界各地更多地区的访问。互联网服务提供商(ISP)做出巨大努力,以增加带宽,加上不断引进越来越强的微处理器及廉价的数据存储设备,围在商业和个人计算各个领域的设计、部署和实用软件提供了一个巨大的平台。SaaS应用程序还能够与在同样的多种和平台中的替他数据和应用交互。DC确定了两个略有不同的SaaS交付模式口2,231。托管应用管理模式类似于应用服务提供商(AsP)模式。另一种模式是软件按需求提供模式,供应商为客户提供基于网络访问特别为Saas发布创建的应用程序单一副本。Saas常见的实现是以较低的成本为企业用户提供商业软件功能,同时允许这些与客户能够获得与商业授权在内部操作的软件同样的作用。这样可以省去那些软件相关的安装、管理、支持、授权等的成本和高初始成本的复杂性。客户对软件是如果安装部署及如果起作用的并不是十分关心,用户最关注的是他们在完成自己工作时软件提供的便利的功能【231。诸如会计、电子邮件、人力资源、视频会议等软件都非常适合SaaS模式。SaaS解决方案被开发专门在W曲浏览器内运行。基于SaaS的应用的架构则是专门为一次支持并发用户而设计的。这和传统的客户端朋艮务器的适用于有限用户的基于应用服务提供商(ASP)的解决方案有很大的不同。SaaS模式的应用更能体现出规模的优势。--------------------------Page34------------------------------山东大学硕士学位论文鲁皇曼曼曼曼曼曼曼!曼皇曼曼曼璺曼曼皇鼍曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼兰曼曼曼曼曼寰曼曼皇曼曼曼皇曼曼曼!!!曼曼曼曼曼曼曼曼曼曼皇曼曼量曼曼!!曼!!曼微软给出了saas架构的四个成熟级别阱】。其中的关键属性是易于配置、多租户的效率和可扩展性。成熟度等级1是指特定/定制,这实际上是没有成熟的模式,每个客户还是依托于独特的定制版本;成熟度等级2是指可配置性,通过配置程序元数据提供程序的灵活性;成熟度等级3是指多租户效率,一个单一程序的实例能够满足供应商的所有用户;成熟度等级4是指可扩展,能够支持运行在可变数量的服务器的负载均衡的相同应用程序实例群。从思想的角度来看,Saas思想脱胎于ASP模式,Saas模式可以帮助企业确保所有使用正确的应用程序版本,并使记录和传输的数据格式是一致、兼容和准确的。通过将应用的责任交给SaaS提供商,企业可以减少行政和管理的负担,负责会把这些过重的负担加载自己的企业应用上。Saas给客户带来的好处是显而易见的:改进的管理、自动更新和补丁管理服务、数据兼容性、更容易的企业范围的协作、全球无障碍使用。目前阶段,云计算的大潮方兴未艾、云中提供了各种类型的W曲服务,有能力在网络中利用可重用的软件组件对实现者有很大的吸引力。现在,云计算中最常见、最成功的模式就是Saas。本文探讨的文件存储系统是整个云系统的一个重要支撑,同时其也可以通过这种成熟的Saas模式直接对外提供文件系统的存储服务【3】。3.1-2.SaaS应用平台架构如图3.1中所示,SaaS应用平台中主要包括有基础层、运行池、框架层和界面层。基础层中主要是服务器、磁盘阵列等物理设备,它们以分布式的方式部署在云端,对外输出计算和存储能力。运行池中包含有web容器、存储引擎、引擎等用以驱动整个平台的运行组件。这些组件向下驱动基础层的物理设备,向上对服务提供宿主。框架层中将使用集成框架对平台中的服务进行组装集成,提供MVC的框架模式。界面层将通过流行的页面技术将服务展现给用户。基础层和运行池可以看作是基础运行层,作为一个Saas服务平台采用分布式的架构设计,整个系统的高可用、高扩展、高可靠、高安全、高性能。同时SaaS服务平台是一个式的服务平台,对外了平台的各种服务,集成整合了众多的第三方软件开发商、应用提供商、内容提供商、服务提供商等产业链的各种商家,有效了平台的生命力。整个应用平台的界面引擎、中间件--------------------------Page35------------------------------山东大学硕士学位论文引擎、规则引擎、工作流引擎、引擎以及本文涉及的虚拟存储引擎等核心引擎也位于基础运行层,它可以完成对各种技术实现的支撑,通过系统的组件化设叠计,了系统的可扩展性、可配置性、可管。界面屡框架屡囟囟囟囟图3.1SaaS应用平台架构图框架层是整个平台的应用集成层,它在基础运行层的基础上,不仅包含了平台直接以服务形式提供的应用,还整合了培训、CI洲、ERP等众多第三方应用,有力支撑运营商业务、增值业务等业务的拓展。该层主要选取适合Saas应用模式的集成框架,用以完成平台集成。目前流行的S眦s、Spring等开源MVC框架以及“dsphere等门户框架都可以完成这项工作。界面层会通过一些普遍使用、容易被用户接受的方式进行展示。目前流行的JsP、ASP、PHP等都可以做到良好的用户体验。用户对于Saas模式提供的新型应用方式的掌握将比较方便,不需要陡峭的学习线.服务化存储应用这里我们主要介绍存储虚拟化的模型。存储虚拟化是指屏蔽物理存储设备的差异,提供统一的用户存储接口和管理接口,完成对物理磁盘的分配、映射等。在存取过程中,存储虚拟化过程将完成从逻辑地址到物理地址的寻址由,通过对底层透明的方式完成存储操作。如图3.2所示,存储虚拟化的整体模型可以分--------------------------Page36------------------------------山东大学硕士学位论文为资源虚拟化层、逻辑空间虚拟化层和存取网络虚拟化层三层结构。,囱/\JJ._’固图3.2虚拟空间映射不恿图资源虚拟化层实现了基本物理存储设备向统一标示的资源虚拟化映射,通过Resource统一资源模块(UnifiedModule)I瓜M将来自不同物理特性、运行载体和操作系统下的物理存储设备进行统一化的映射处理,使之成为VSM下的基础资源。这里的物理存储设备可以是廉价的、低性能的PC或者是高性能的存储服务器,它们都将通过统一的资源虚拟化标示差异,赋予资源节点属性,使存储资源得以统一的对外。逻辑空间虚拟化层实现了统一存储资源向逻辑空间的虚拟化映射。逻辑空间是VSM下逻辑操作的空间集合节点(Collection),通过连接、获取资源层资源,构建基础空间操作节点。逻辑空间是通过不同的用户策略创建的,它在创建之初将考虑到资源节点的属性等多方面的因素,将资源点集合起来像上层。AreaN咖ork)将逻辑集合节点存取网络虚拟化层通过SAN(Storage(Colle“on)组装成为逻辑寻址的全局空间。将通过虚拟存储地址由表、副本由模块和存时由模块完成对虚拟存储池构成的全局空间的集中管理。这些模块将位于虚拟存储系统的虚拟存储服务器上,为虚拟磁盘的管理提供地址映射查询等服务。--------------------------Page37------------------------------山东大学硕士学位论文3.2-1.SaaS模式的存储应用我们将文件服务器以分布式的方式部署在云端,这些服务器在硬件上可能存在较大的差异,接入云端的网络也可以差异,但这并不影响我们将它们组织在一起组成一个大的云端存储空间。这些差异化在会虚拟存储架构的控制下完成硬件物理设备到系统存储资源的虚拟化过程中被屏蔽掉。如图中所示,组织在云端的分布式存储服务器集群将构成整个SaaS模式存储应用的物理基础,将对外部提供文件系统的存储支持。分布式存储服务器SaaS平台一瓣臻缸浆圉雹圉团口回回重回口一图3·3存储的SaaS应用模型我们将文件服务器以分布式的方式部署在云端,这些服务器在硬件上可能存在较大的差异,接入云端的网络也可以差异,但这并不影响我们将它们组织在一起组成一个大的云端存储空间。这些差异化在会虚拟存储架构的控制下完成硬件物理设备到系统存储资源的虚拟化过程中被屏蔽掉。如图中所示,组织在云端的分布式存储服务器集群将构成整个SaaS模式存储应用的物理基础,将对外部提供文件系统的存储支持。在SaaS平台中,我们将设计使用相关的虚拟存储控制引擎来控制底层的物理设备,将它们统一的组织在一起。并加入一些性能优化、安全等方面的控制组件以系统的稳定性和高可用性。SaaS平台中提供了多种的界面接入方式来--------------------------Page38------------------------------山东大学硕士学位论文为用户开辟属于自己的虚拟存储空间,这些空间对用户而言是透明的,用户不需要关心空间的大小,他只需要按需定制即可。在用户端,用户可以通过诸如PC、智能手机等多种接入方式来完成对个人虚拟存储空间的访问,也可以对平台及组织内容开发的共享空间进行相应的操作。这样一个过程就完成了虚拟存储的SaaS化应用。将文件系统的存储系统不仅作为整个平台文件系统的支撑,同时直接作为一种服务提供给外部的用户。为用户提供文件存储的廉价解决方案。3.3.虚拟存储对服务化应用支撑虚拟存储作为系统的运行池的组成部分,可以为服务化应用提供支撑。本文涉及的虚拟存储架构是针对文件系统的一个存储管理系统。如图3.4中所示,在下端的存储云中,众多的存储服务器通过虚拟存储架构的设计组织在一起,与文件和相关数据进行交互。存储节点的组织结构会在下面的章节中进行介绍。在上端的服务化架构中,每个层次都有虚拟存储相关的组件、应用或硬件设备。图中标注的蓝色箭头标注的通道是从底层的云端服务器到支撑层的虚拟存储的一个支撑过程。支撑层的虚拟存储不仅能够单独的作为一项服务在应用层对外提供服务,也可以为应用层的其他服务提供文件系统的支撑。图中由平台管理层中存储管理引出的自上而下的红色箭头标注的通道是由上而下的系统管理通道。存储管理不仅有接口可以管理到支撑层的相关组件,也可以使用接口来直接控制云端的存储服务器。每个服务化应用的层次中都可能有文件系统的相关应用,以云的形式组织在一起的虚拟存储可以直接的对各层中的这些应用进行支持。虚拟存储中包含有符合各个层次应用的完整架构,不仅可以在硬件上提供存储支持,更包含有包括存储引擎、应用接口等在内的一套完整的支撑方案。--------------------------Page39------------------------------山东大学硕士学位论文_--_…●_-●●。_______一.t’+一。~,’]广。—1t。—一■r一丁t75”““77覆8”(缎织,用户/支付】lIl+支圉罔鳓峦.座l撑震jj-————’.j§膀总线}丽{勰;擎l删弓譬l—秽_’r删____o哆??÷_:·,一■。?,。。…。…?;?。