云环境下存储技术的研究.docx
- 文档编号:20153289
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:46
- 大小:786.30KB
云环境下存储技术的研究.docx
《云环境下存储技术的研究.docx》由会员分享,可在线阅读,更多相关《云环境下存储技术的研究.docx(46页珍藏版)》请在冰豆网上搜索。
云环境下存储技术的研究
目录
摘要I
AbstractII
1绪论1
1.1云存储的兴起1
1.2云存储的发展2
2云存储的概念3
2.1云存储的定义3
2.2云存储与传统存储3
2.3云存储与云计算4
2.4云存储架构模型4
3云存储的关键技术6
3.1存储虚拟化技术6
3.2分布式存储技术7
3.3数据备份技术8
3.3.1传统的备份策略8
3.3.2副本数据布局8
3.3.3连续数据保护8
3.4数据缩减技术9
3.4.1自动精简配置9
3.4.2自动存储分层9
3.4.3重复数据删除10
3.4.4数据压缩10
3.5存储安全技术11
3.6容错技术12
4云存储的架构技术13
4.1GFS系统架构13
4.2GPFS架构15
4.3HDFS架构16
4.4Dynamo架构17
5云计算仿真CloudSim20
5.1CloudSim环境配置20
5.2程序流程图22
5.3程序编写步骤22
5.4仿真结果29
6总结及展望30
6.1本文工作总结30
6.2研究工作展望30
参考文献31
致谢33
摘要
云计算是当前研究与应用的热点问题。
至今为止,Google、Microsoft、IBM、亚马逊等IT商业巨头都推出了自己的云计算平台,并把云计算作为其未来发展的最主要战略之一。
云存储作为云计算的底层服务,对上层服务提供重要的支持;同时,云存储可以有效的存储和管理海量数据,所以更是成为专家学者们关注的焦点。
因此,云存储的研究不但紧跟发展的趋势,同时还具有较高的应用价值。
云存储是一种架构复杂的分布式文件系统,一是其建立在云计算系统的基础设施之上,这样的基础实施是基于廉价的或虚拟化了的不可信物理硬件;二是其必须支持超大节点规模和海量数据的高效存储,这对于系统架构和模块设计的关键技术提出了巨大的挑战。
本文讨论了云存储的发展背景,给出了云存储的定义,描述了云存储的特点,提出了云存储的架构模型,系统地阐述了云存储的关键技术,对比了GFS、GPFS、HDFS、Dynamo架构的特点,并用CloudSim对云计算系统进行了仿真。
关键词:
云存储,关键技术,架构模型,HDFS,CloudSim
Abstract
Cloudcomputingisahottopicinrecentresearchandapplications.Uptonow,Google、Microsoft、IBM、Amazonandsomeotherfamouscooperationshaveproposedtheircloudcomputingapplication,andtakecloudcomputingasoneofthemostimportantstrategyinthefuture.Cloudstorageisthelowerlayerofcloudcomputingsystemwhichsupportstheserviceoftheotherlayersaboveit.Meanwhile,itisaneffectivewaytostoreandmanageheavydata.Soitfocusedevenmoreattentionsfromsomeresearchers.Therefore,theresearchofcloudstoragewillnotonlykeepupontrends,butalsohasahighapplicationvalue.
Cloudstorageisadistributedfilesystemwithcomplicatedarchitecture.Firstly,itisimplementedontopofthecloudcomputinginfrastructurewhichisbasedoncheap,virtualizedandunreliablephysicalhardware.Secondly,itshouldsupportshugeserverscale,efficientheavydatastorage.Allofthesechallengethekeytechnologiesofthesystemarchitectureandmodulesdesign.
Thisarticlediscussesthebackgroundofthedevelopmentofcloudstorage,givesthedefinitionofcloudstorage,describesthecharacteristicsofcloudstorage,proposesthemodeofcloudstoragearchitecture,exposedthekeytechnologiesofcloudstoragesystematically,comparedthefeaturesofGFS,GPFS,HDFS,Dynamoarchitecture,andsimulatedthecloudcomputingsystemwithCloudSim.
KeyWords:
cloudstorage,thekeytechnologies,themodeofcloudstoragearchitecture,HDFS,CloudSim
1绪论
近年来,随着云计算[1-2]和软件即时服务[3-5]的兴起,云存储成为信息存储领域的一个研究热点。
与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系统[6]。
这是一种具有很大诱惑性的存储技术,云存储可以实现存储完全虚拟化,大大简化应用环节,节省客户建设成本,同时提供更强的存储和共享功能。
云状存储中所有设备对使用者完全透明,任何地方任何被授权用户都可以通过一根接入线与云存储连接,进行空间与数据访问。
用户无需关心存储设备型号、数量、网络结构、存储协议、应用接口等,应用简单透明。
因此,云存储的研究不但紧跟发展的趋势,同时还具有较高的应用价值。
1.1云存储的兴起
迄今为止,人类对于计算机发展的需求所关心的共同问题都集中在如何进行高效的存储和存储如何促进计算的协作上。
存储与之相关计算的发展历经了以下四个的阶段[7]:
(1)集中式的应用和存储——客户机/服务器计算
在计算的初期,所有的应用软件、所有的数据和控制器都位于大型的电脑主机之上。
用户必须连接到主机,获得适当的权限后才能访问数据。
(2)存储资源共享——对等计算
无须经由服务器,将一台计算机连接到另一台计算机,导致了P2P对等计算的发展。
在P2P网络中没有主机,所有的通信不再经由主服务器,计算机平等运行,所有的数据分散存储到对等的节点上,提高了通信效率,易于进行数据的共享。
(3)存储与计算的分布式化
个人电脑能的计算和存储的资源很大一部分没有得到较好的利用,分布式计算能很好的利用这些资源。
当一台计算用于某个分布式项目时,需要在机器上安装软件,它会利用空闲的时间进行数据的存储与运算并定期传送到分布式计算网络中与该项目中的其它计算合并结果。
只要有足够的计算机参与,这种做法足以比拟更大的主机和超级计算机的处理能力,用户可以共享文件并同时在相同的文件上工作。
(4)云计算——瘦客户端下的计算与存储
随着手持设备的发展,云计算的产生使得在瘦客户端——没有多少计算力和存储空间的接入设备上,也能够进行海量数据的处理[8]。
更深入的来看存储技术的发展。
由于单机存储方案无法满足数据拓展和协作性,而产生了分布式存储系统[10]。
分布式存储系统是基于硬件的存储技术,由于其较大的成本和较差的灵活性而逐渐被大型企业放弃[9]。
云存储是一种新的分布式存储模式,具有廉价、高可靠性和安全性的优点[7,9,11,12],成为未来最值得期待推广和应用的技术之一。
1.2云存储的发展
云存储这个概念一经提出,就得到了众多厂商的支持和关注[13]。
Amazon公司推出弹性块存储技术支持数据持久性存储;Google推出在线存储服务GDrive;内容分发网络服务提供商CDNetworks和云存储平台服务商Nirvanix结成战略伙伴关系,提供云存储和内容传送服务集成平台;EMC公司收购BerkeleyDataSystems,取得该公司的Mozy在线服务软件,并开展SaaS业务;Microsoft公司推出WindowsAzure,并在美国各地建立庞大的数据中心;IBM也将云计算标准作为全球备份中心扩展方案的一部分。
目前有近百种云存储系统。
一些系统有明确的关注点,如存储网络电子邮件信息或者数字图片。
其它一些用来存储所有形式的数字文件。
一些云存储系统是小规模操作的,其它一些是超大集群的以至于物理设备能填满整个仓库。
尽管对于云存储来说有很多优势值得我们选择和研究,然而云存储仍面临着许多技术的难题,特别是安全性。
图1.1是因特网数据中心关于云存储所做的调研[13],可以看出安全、控制和性能等问题是关注的焦点。
有效的控制和性能反映出用户对于云存储可用性的期待。
目前云存储研究的热点仍集中在安全性、可用性、可靠性三个方面。
云存储安全特别是用户数据的隐私问题,即服务商也不能得到用户的数据,至今没有较好的解决方案。
图1.1云存储的关注调查
2云存储的概念
2.1云存储的定义
云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
云存储系统以传统的分布式存储技术为基础,利用高吞吐率网络技术为依托,一方面高效地整合管理网络存储资源,另一方面对外提供友好的接口,发布便捷的网络数据存储服务。
与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系统[12]。
云存储不是存储,而是服务。
使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。
云存储的核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变[13]。
2.2云存储与传统存储
相比于传统的集中存储方式,云存储系统具有以下几点优势:
(1)更容易扩容(包括带宽)
云存储的扩容过程将变得简单:
新设备仅需安装操作系统及云存储软件后,打开电源接上网络,云存储系统便能自动识别,自动把容量加入存储池中完成扩展。
相比传统的存储扩容,云存储架构采用的是并行扩容方式,即当容量不够时,采购新的存储服务器即可,扩容环节无任何限制。
(2)更易于管理
在传统存储系统管理中,管理人员需要面对不同的存储设备不同的管理界面,要了解每个存储的使用状况,工作复杂而繁重,当传硬盘或是存储服务器损坏时,读写效率会降低,数据很可能丢失;而云存储没有这个困扰,硬盘坏掉,数据会自动迁移到别的硬盘,不需要立即更换硬盘,大大减轻了管理人员的工作负担。
对云存储来说,管理人员只要在整体硬盘容量快用完时,按需采购服务器即可,通过一个统一管理界面监控每台存储服务器的使用状况,使得维护变得简单和易操作。
(3)成本更低廉
传统的存储系统对硬盘的要求近乎苛刻,必须同厂家、同容量、同型号,否则系统很容易出问题。
面对升级换代较快的IT产业,硬盘在使用2~3年后很难找到同型号产品更换。
而云存储没有这个问题,云存储系统中不同的硬盘可以一起工作,既可以实现原有硬件的利旧保护投入,又可以实现新技术、新设备的快速更新,合理搭配、可持续发展。
且云存储系统中所采用的存储及服务器设备均是性价比较高的设备。
可实现长久合作关系下,设备商采购的稳定渠道,便于实现对成本及服务质量的控制。
(4)数据更安全,服务不中断
传统存储系统会因为硬件损坏而导致服务停止,虽然可以设计全冗余的环境,但成本相对太高且工作复杂。
云存储系统则不同,它可通过将文件和数据保存在不同的存储节点,避免了单一硬件损坏带来的数据不可用。
云存储系统知道文件存放的位置,在硬件发生损坏时,云存储系统会自动将读写指令导向存放在另一台存储服务器上的文件,保持服务的继续。
另外,传统存储系统在升级时,往往需要把旧的存储设备文件备份出来后,停机换上新的存储设备,这通常会导致服务的短暂停止。
云存储并不单独依赖一台存储服务器,因此存储服务器硬件的更新、升级并不会影响存储服务的提供,系统会将旧存储服务器上的文件迁移到别的存储服务器,等新的存储服务器上线后,文件会再迁移回来。
2.3云存储与云计算
从整体来看,云计算系统可以认为是以数据处理、数据运算为中心的系统。
云计算的设计方向是将在不同地域的各种计算资源,通过虚拟化方式统一到庞大的计算资源“云”系统中来。
云系统统一调配、协调、处理来自不同客户的运算需求,通过云系统计算后对外输出运算结果。
云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。
通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大的网络服务功能。
云计算系统不但能对数据进行处理和运算,系统中还有大量的存储阵列设备,以实现对计算数据的保存和管理。
在云计算系统中配置相应的存储设备,该计算系统即拥有了云存储系统功能。
由此可以理解,云存储是云计算系统的延伸,是配置了大容量存储空间的云计算系统,可以说云存储是云计算服务的一种,即SaaS[13](storageasaservice,存储即服务),甚至可以说,利用云计算系统来建立存储系统,此时的云存储概念相当于一个云计算服务,它往往称之为“存储云”。
如亚马逊的S3服务,我们可以利用它来建立另外一个存储系统,S3服务本身就是云服务,所以这样的系统可以称为云存储。
2.4云存储架构模型
云存储系统的结构模型由4层组成,如图2.1所示。
(1)存储层
存储层是云存储最基础的部分。
数量庞大的云存储设备分布在不同地域,彼此之间通过广域网、互联网或者FC光纤通道网络连接。
各存储设备上都安装有统一的存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、集中管理、多链路冗余管理以及硬件设备的状态监控和维护升级等。
(2)基础管理层
基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。
应用接口层通过集群系统、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能。
云存储系统通过集群文件操作系统实现后端存储设备的集群工作,并通过系统的控制单元和管理单元实现整个系统的管理,数据的分发、处理,处理结果的反馈。
可利用CDN内容分发系统、P2P数据传输技术和数据压缩技术等保证云存储中的数据可以更有效地存储,使用和占用更少的空间以及更低的传输带宽,从而对外提供更高效的服务。
数据加密技术实现了数据存储和传输过程中的安全性。
数据备份和容灾技术可保证云存储中的数据多份保存不会丢失,保证云存储数据自身的安全和稳定。
(3)应用接口层
应用接口层是云存储最灵活多变的部分。
不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。
任何一个授权用户通过网络接入、用户认证和权限管理接口的方式来登入云存储系统,都可以享受云存储服务。
(4)访问层
云存储运营单位不同,提供的访问类型和访问手段也不同。
云存储使用者采用的应用软件客户端不同,享受到的服务类型也不同,比如个人空间租赁服务、运营商空间租赁服务、数据远程容灾和远程备份、视频监控应用平台、IPTV和视频点播应用平台、网络硬盘引用平台,远程数据备份应用平台等。
图2.1云存储架构模型
3云存储的关键技术
3.1存储虚拟化技术
通过存储虚拟化方法,把不同厂商、不同型号、不同通信技术、不同类型的存储设备互联起来,将系统中各种异构的存储设备映射为一个统一的存储资源池。
存储虚拟化技术能够对存储资源进行统一分配管理,又可以屏蔽存储实体间的物理位置以及异构特性,实现了资源对用户的透明性,降低了构建、管理和维护资源的成本,从而提升云存储系统的资源利用率。
总体来说,存储虚拟化技术可概括为基于主机虚拟化、基于存储设备虚拟化和基于存储网络虚拟化三种技术。
用表格的方式对三种存储虚拟化技术的技术优点与缺点、适应场景等进行了分析对比,结果如下:
表3.1存储虚拟化技术对比
实现层面
主机
网络
设备
优点
支持异构的存储系统;不需要额外的硬件支持,便于部署。
不占用主机资源;技术成熟度高,容易实施。
架构合理,不占用主机资源;数据管理功能丰富,技术成熟度高。
缺点
占用主机资源,降低应用性能;存在越权访问的数据安全隐患;主机数量越多,管理成本越高。
消耗存储控制器资源;存储设备兼容性需要严格验证;原有的磁盘阵列的高级存储功能将不能使用。
受制于存储控制器接口资源,虚拟化能力较弱;异构厂家存储设备的高级存储功能将不能使用。
主要用途
使服务器的存储空间可以跨越多个异构磁盘阵列,常用于在不同磁盘阵列之间做镜像保护。
异构存储系统整合和统一数据管理(灾备)
异构存储系统整合和统一数据管理(灾备)
适用场景
主机采用SF卷管理,需要新接多台存储设备;存储系统中包含异构阵列设备;业务持续能力与数据吞吐要求较高。
系统包括不同品牌和型号的主机和存储设备;对数据无缝迁移及数据格式转换有较高时间性保证。
系统中包括自带虚拟化功能的高端存储设备与若干需要利旧的中低端存储。
不适用场景
主机数量大,采用SF会涉及高昂的费用;待迁入系统数据量过大,如果只能采用存储级迁移方式,数据格式转换将耗费大量时间和人力。
对业务持续性能力和稳定性要求苛刻。
需要新购机头时,费用较高;存在更高端的存储设备。
(1)基于主机的虚拟化
其核心技术是通过增加一个运行在操作系统下的逻辑卷管理软件将磁盘上的物理块号映射成逻辑卷号,并以此实现把多个物理磁盘阵列映射成一个统一的虚拟的逻辑存储空间(逻辑块)实现存储虚拟化的控制和管理。
(2)基于存储设备虚拟化
该技术依赖于提供相关功能的存储设备的阵列控制器模块,常见于高端存储设备,其主要应用针对异构的SAN存储构架。
(3)基于存储网络虚拟化
该的技术的核心是在存储区域网中增加虚拟化引擎实现存储资源的集中管理,其具体实施一般是通过具有虚拟化支持能力的路由器或交换机实现。
存储网络虚拟化又可以分为带内虚拟化与带外虚拟化两类,二者主要的区别在于:
带内虚拟化使用同一数据通道传送存储数据和控制信号,而带外虚拟化使用不同的通道传送数据和命令信息。
3.2分布式存储技术
分布式存储是通过网络使用服务商提供的各个存储设备上的存储空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在各个存储设备上。
先进的分布式存储系统必须具备以下特性:
高性能、高可靠性、高可扩展性、透明性以及自治性。
目前比较流行的分布式存储技术为:
分布式块存储、分布式文件系统存储、分布式对象存储和分布式表存储。
(1)分布式块存储
块存储就是服务器直接通过读写存储空间中的一个或一段地址来存取数据。
由于采用直接读写磁盘空间来访问数据,相对于其他数据读取方式,块存储的读取效率最高,一些大型数据库应用只能运行在块存储设备上。
分布式块存储系统目前以标准的Intel/Linux硬件组件作为基本存储单元,组件之间通过千兆以太网采用任意点对点拓扑技术相互连接,共同工作,构成大型网格存储,网格内采用分布式算法管理存储资源。
(2)分布式文件系统存储
文件存储系统可提供通用的文件访问接口,如POSIX等,实现文件与目录操作、文件访问、文件访问控制等功能。
目前的分布式文件系统存储的实现有软硬件一体和软硬件分离两种方式。
(3)分布式对象存储
对象存储引入对象元数据来描述对象特征,对象元数据具有丰富的语义,支持数据的并发读写,一般不支持数据的随机写操作。
对象存储技术相对成熟,对底层硬件要求不高,存储系统可靠性和容错通过软件实现,同时其访问接口简单,适合处理海量、小数据的非结构化数据,如:
邮箱、网盘、相册、音频视频存储等。
(4)分布式表存储
表结构存储是一种结构化数据存储,与传统数据库相比,它提供的表空间访问功能受限,但更强调系统的可扩展性。
提供表存储的云存储系统的特征就是同时提供高并发的数据访问性能和可伸缩的存储和计算架构。
提供表存储的云存储系统有两类接口访问方式:
一类是标准的SQL数据库接口,一类是Map-reduce的数据库应用处理接口。
前者目前以开源技术为主,尚未有成熟的商业软件,后者已有商业软件和成功的商业应用案例。
3.3数据备份技术
3.3.1传统的备份策略
典型的用户备份流程是这样的:
每天都要在凌晨进行一次增量备份,然后每周末凌晨进行全备份。
采用这种方法,一旦出现了数据灾难,用户可以恢复到某天(注意是以天为单位的)的数据,因此在最坏的情况下,可能丢失整整一天的数据。
该备份策略在备份的数据量很大的情况下,备份时间窗口很大,需要繁忙的业务系统停机很长时间才能做到。
因此,为了确保数据的更高安全性,用户必须对在线系统实行在线实时复制,尽可能多地采用快照等磁盘管理技术维持数据的高可用性,这样势必需要增加很大一部分投资。
3.3.2副本数据布局
该方法通过集中式的存储目录来定位数据对象的存储位置。
这种方法可以利用存储目录中存放的存储节点信息,将数据对象的多个副本放置在不同机架上,这样可大大提高系统的数据可靠性。
然而,它存在以下两个缺陷:
(1)随着存储目录的增长,查找数据对象所需的开销也会越来越大;
(2)为提高数据对象的定位速度,一般情况下都会将存储目录存放在服务器内存中,对于PB级的云存储系统来说,文件的数量可能达到上亿级,这导致存储目录将会占用上百GB的内存。
因此,当数据对象数量达到上亿级别时,基于集中式存储目录的数据放置方法在存储开销和数据定位的时间开销上都是难以接受的,此外,还会大大限制系统的扩展性。
3.3.3连续数据保护
连续数据保护是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法,可以实现过去任意一个时间点的数据恢复。
连续数据保护系统可能基于块、文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。
连续数据保护可以提供更快的数据检索、更强的数据保护和更高的业务连续性能力,而与传统的备份解决方案相比,连续数据保护的总体成本和复杂性都要低。
连续数据保护解决方案应当具备以下几个基本特性:
数据的改变受到连续的捕获和跟踪;所有的数据改变都存储在一个与主存储地点不同的独立地点中;恢复点目标是任意的,而且不需要在实际恢复之前事先定义。
尽管一些厂商推出了连续数据保护产品,然而从它们的功能上分析,还做不到真正连续的数据保护,比如有的产品备份时间间隔为一小时,那么在这一小时内仍然存在数据丢失的风险,因此,严格地讲,它们还不是完全意义上的连续数据保护产品,目前我们只能称之为类似连续数据保护产品。
3.4数据缩减技术
数据量的急剧增长为存储技术提出了新的问题和要——怎样低成本高效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 环境 存储 技术 研究
![提示](https://static.bdocx.com/images/bang_tan.gif)