云存储现状及其关键技术课件_第1页
云存储现状及其关键技术课件_第2页
云存储现状及其关键技术课件_第3页
云存储现状及其关键技术课件_第4页
云存储现状及其关键技术课件_第5页
已阅读5页,还剩65页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云存储现状与关键技术.云存储现状与关键技术.概要云存储背景与发展现状云存储中的关键技术分布式文件系统

服务等级协议(SLA)云服务接口技术云安全技术云@清华大学.概要云存储背景与发展现状.云存储背景与发展现状.云存储背景与发展现状.什么是云?XasaService(XaaS)SoftwareasaServiceHardwareasaserviceInfrastructureasaservicePlatformasaserviceUtilityComputing云计算与云用户(ABerkeleyViewofCloud).什么是云?XasaService(XaaS)云计算与云的分类公用云

提供通用操作任意用户可以使用用户不可信私用云提供专用操作企业内部用户可以使用用户可信混合云基于公用云提供私用云服务应用类型计算云存储云使用范围公用云私有云混合云.云的分类公用云应用类型计算云存储云使用范围公用云私有云混合工业界发展现状GoogleCloudGoogleFileSystemBigTableGoogleAppEngineMapReduceMicrosoftAzureLiveServicesSQLServices.NETServicesSharepointServicesDynamicCRMServicesIBMBlueCloudHadoopDB2Xen&PowerVMWebsphereTivoliSoftware存储数据库计算虚拟化AmazonCloudS3SimpleDBEC2SimpleQueueEBS.工业界发展现状GoogleGoogleFileSyste什么是云存储?云存储专注于向用户提供以互联网为基础,几乎可以无限扩展的高可靠在线存储服务,很好的满足了新兴Web2.0应用的存储需求用户无需考虑存储容量的大小、数据存储的位置、以及数据的可用性、可靠性和安全性等繁琐的技术细节用户只需要按需付费就可以从云存储服务提供商那里获得近乎无限大的存储空间和可靠的服务质量,即用即付,节约投资,从而完全专注于自身应用与业务的发展.什么是云存储?云存储专注于向用户提供以互联网为基础,几乎可以云存储的基本特征和应用领域基本特征分布于网络(互联网或局域网、公有云和私有云)易于扩展易于管理应用范围:大规模数据处理:MapReduce数据共享与分发:GigaVoxMedia、Jamglue、SmugMug、…...数据归档与备份:37signals、Altexa、BeInSync、Sonian、Zmanda、......已有的商业应用:AmazonS3、MicrosoftLiveSkyDrive、EMCAtmos、…….云存储的基本特征和应用领域基本特征.设计云存储系统面临的技术挑战异构性分布性扩展性透明性并发性可靠性效率异构性:云存储系统必须基于多种不同的存储设备、网络、操作系统、计算机硬件和编程语言,云存储平台中间件需要能够屏蔽这些不同。分布性:单一的数据中心存储模式无法满足云存储在数据访问效率、数据可靠性和系统负载均衡方面的需求,云存储平台底层的存储资源池中将包含多个地理位置分布的数据中心用来进行数据冗余和负载均衡。扩展性:简单高效的存储空间扩容是云存储系统的基本特点,存储节点的加入和退出必须以热插拔的方式进行;透明性:包括存储位置透明和用户访问透明,用户不需要关心数据存储的具体位置,就能够就近访问到数据的副本,对于用户而言,数据总是可用的。并发性:云存储系统中多个用户可能会对共享数据资源产生并发请求,每个云存储组件必须被设计成在并发环境中是安全的。可靠性:任一进程、计算机和网络都有可能独立的发生故障,因此每个云存储组件需要清楚所依赖的组件可能出现故障的方式,组件要设计成能适当的处理每个故障。效率:用户访问云存储系统中共享数据的算法应该避免性能瓶颈,频繁访问的数据需要复制更多的副本,用户能够就近获得最快的访问时间,同时用户使用云存储服务的接口应该尽可能简单。.设计云存储系统面临的技术挑战异构性分布性扩展性透明性并发性可典型的云存储服务存储技术开源应用情况是否使用廉价设备主要用途HDFS是IBM,Yahoo,FaceBook是(PC)大规模数据存储与处理GFS否Google是(PC)大规模数据存储与处理KFS是CloudStore是(PC)大规模数据存储与处理Sector是Sector-Sphere是(PC)大规模数据存储与处理S3否Amazon是(NAS)数据存储(文件<5GB)SkyDrive否Microsoft未知数据存储Upline否HP未知数据存储N否Sun未知数据处理Atoms否EMC是(NAS)数据存储.典型的云存储服务存储技术开源应用情况是否使用廉价设备主要用途云存储关键技术.云存储关键技术.云存储体系结构.云存储体系结构.云存储关键技术分布式文件系统

服务等级协议(SLA)云服务接口技术云安全技术.云存储关键技术分布式文件系统.分布式文件系统最常用的分布式系统之一共性目标:以分布式方式实现统一的文件逻辑视图实例:NFS(Sun’sNetworkFileSystem)AndrewFileSystem(AFS)GoogleFileSystem&others,.......分布式文件系统最常用的分布式系统之一.分布式文件系统关键技术命名服务元数据管理缓存文件访问语义(接口)副本.分布式文件系统关键技术命名服务.DFS-命名服务Naming–在物理目标和逻辑目标之间形成映射关系映射目标:位置透明使用单一的文件命名空间。GFS集群只有一个Master来负责文件系统命名空间的管理,文件的chunk可以重新分布复制,chunk可以增加或者减少副本,副本可以跨机架存储,而这一切对客户端都是透明的。用户能通过相同的操作来访问本地文件和远程文件资源位置无关

文件经常由于节点的失效、增加或者副本的改变或者重新均衡等进行着复制或者移动,对系统来说,物理存储位置改变无需改变逻辑文件名,使文件在服务器之间自由移动而不影响到客户端程序的运行达到平衡服务器负载的目的.DFS-命名服务Naming–在物理目标和逻辑目标之间形DFS-元数据管理元数据是关于数据的数据包括文件名、文件大小、时间戳、访问控制信息、用户、组、......In-bandMode(带内模式)-元数据与数据放在一起元数据访问效率低大数据量操作容易形成瓶颈Out-of-bandMode(带外模式)-使用专门的服务其存放元数据.DFS-元数据管理元数据是关于数据的数据.DFS–文件访问性能本地或者服务器缓存元数据优化元数据操作效率提高并发度本地或者服务器缓存数据优化数据访问效率减少网络流量带来严重的一致性问题.DFS–文件访问性能本地或者服务器缓存元数据.DFS-数据缓存内存缓存访问速度快开销大硬盘缓存支持文件离线访问(e.g.,AFS、SVN、GIT)支持大文件.DFS-数据缓存内存缓存.DFS-缓存一致性当缓存中的数据与服务器中的版本不一致时,如何解决?Client-initiatedapproachClient发起有效性检测,由Server进行仲裁。E.g.,时间戳,版本号,.......Server-initiatedapproach由服务器端记录所有被缓存的数据记录。当服务器探测到潜在的不一致时,发起通知。.DFS-缓存一致性当缓存中的数据与服务器中的版本不一致时,如DFS–文件访问语义StatelessService-无状态服务每一个发起的请求都是自包含的,避免服务器记录状态信息。请求消息包大,请求处理时间长。在并发访问时,无法支持锁操作。StatefulService-有状态服务服务器记录请求的会话信息以提高性能,包括元信息、TCP连接、历史请求等等E.g.,预读取数据、文件Handle、文件锁需要更多的服务器开销.DFS–文件访问语义StatelessService-DFS-副本副本-将同一文件在不同的机器上放置多份实现数据冗余保证可靠性保证可用性实现负载均衡副本位置对用户透明同样面临一致性问题,系统可以选择性使用:强一致性弱一致性.DFS-副本副本-将同一文件在不同的机器上放置多份实现数DFS-SeekProblem内存文件系统随机访问分布式文件系统HDFS随机访问机械硬盘的物理构造决定了seekproblem无法解决.DFS-SeekProblem内存文件系统随机访问分布式TheGoogleFileSystem

SOSP2003.TheGoogleFileSystem

SOSP20GFS的需求分析组件失效是常态文件规模一般都在几个G以上Writeoncereadmany负载模型文件写入后,基本不需要重写操作文件被大量地连续读操作,随机读很少发生允许大量客户端并行追加写同一个文件,追加写操作必须是原子操作对海量数据处理来说,带宽是稀缺资源.GFS的需求分析组件失效是常态.接口(API)提供文件系统接口非标准的POSIXAPI仅仅提供几种最基本的操作–create,delete,open,close,read,write利用写时拷贝(copy-on-write)技术实现快照功能.接口(API)提供文件系统接口.GFS体系结构文件被切割成固定大小的块(Chunk)一个主Master,多个ShadowMaster多个chunkserver多client.GFS体系结构文件被切割成固定大小的块(Chunk).Master设计特点主master将所有元数据保存在内存中,实现快速访问同时提供chunk令牌管理、孤立块垃圾回收、块迁移、副本管理功能定期与chunkserver发送心跳消息,收集chunkserver状态任何对元数据的写操作都会保存到日志中元数据在一段时间内会缓存在clients中ShadowmastersMaster的状态(checkpoint和log)会定期复制到shadowmasters中,以保证系统的可靠性。当master失效后,系统会尝试从shadowmaster中读取checkpoint和log进行数据恢复,恢复周期一般为秒级

即使master失效,shadow也能提供文件的只读访问。.Master设计特点主master.Chunkserver设计特点在linux系统中以实体文件存放chunk默认放置3个chunk副本,2个在同一个机架的不同机器,1个在另外的机架平衡访问负载平衡存储空间提供可用性和可靠性

块数据不缓存块大小为64MB优点:减少元数据,每chunk对应64Bytes元数据,2P数据需要2G内存减少网络开销,因为client往往对一个chunk进行多次操作,所以chunkserver可以在一段时间之类保持住一个client和chunkserver之间的TCP连接缺点:小文件容易形成访问热点解决方案:为小文件准备更多的副本.Chunkserver设计特点在linux系统中以实体文件存client设计特点client是一组供上层应用调用文件系统的API,它向master请求元数据,向client请求数据client在有限时间内缓存元数据client不缓存数据,因为用户请求的数据往往很大或者是流式写操作,缓存没有意义.client设计特点client是一组供上层应用调用文件系统对于NMasters的考虑层次结构按目录划分、按id划分、按区域划分…限制每个master的规模多机热备多台master为一组元数据互为备份同时提供服务监管机制发现master失效启动备用master.对于NMasters的考虑层次结构.数据完整性chunkserver利用CRC校验检查数据完整性每个chunks被切割成绩64KB的block,每个block有一个32bit的校验和当每一个block被读的时候,检查该校验和。如果发现数据错误,由master发起通知,重新创建chunk,并通知chunkserver删除错误的chunk。当新的block被写或者追加写时时,只校验新的数据,计算开销很低对于重复写操作,CRC的开销非常大,所有的校验和都需要重新计算.数据完整性chunkserver利用CRC校验检查数据完整性性能测试.性能测试.设计分布式文件系统的一些经验不同的分布式文件系统有不同的应用场景,往往需要为了特定应用量身定制;规模越大,不可预见的问题就越多;小文件IO存在严重问题;具有突破性的技术:带外模式半同步/半异步并发模型缓存与预取策略条带分片存储策略写时拷贝技术(Copy-on-Write)异步IO技术.设计分布式文件系统的一些经验不同的分布式文件系统有不同的应用SLA用户按照QoS选择和使用云服务相同功能的云服务相同功能但不同服务质量可用性、可靠性、性能、价格、基本架构使用合约(SLA)描述服务描述QoS描述资源描述责任.SLA用户按照QoS选择和使用云服务.云服务接口技术Web浏览器网络磁盘传统标准接口HTTPFTP其他接口RESTfull/JSONSOAP/XML.云服务接口技术Web浏览器.云安全技术安全的基本要求:私密性:防止用户的信息被其他非认证用户查看完整性:用户的数据不被会其他用户改动可用性:用户的数据不会受到恶意攻击的影响可认性:SLA是可以认证的解决方案:传统的网络安全限制使用范围、防火墙、......数据分片数据加密数据冗余.......云安全技术安全的基本要求:.云@清华大学.云@清华大学.清华云计算平台数据中心数据中心数据中心数据中心分布式文件存储服务Carrier分布式计算服务Horde虚拟计算环境服务CoronaGUIAPIShellWeb企业业务并行批处理计算个人业务资源层中间件层应用层.清华云计算平台数据中心数据中心数据中心数据中心分布式文件存储分布式文件存储服务Carrier.分布式文件存储服务Carrier.分布式文件存储服务

Carrier数据中心数据中心数据中心数据中心分布式文件存储服务Carrier分布式计算服务Horde虚拟计算环境服务CoronaGUIAPIShellWeb资源层中间件层应用层计算业务个人备份文件共享容灾业务.分布式文件存储服务

Carrier数据中心数据中心数据中心数清华云存储解决方案我们研究了包括分布式文件系统、云存储服务接口以及虚拟文件管理在内的各项关键技术,研发一整套云存储平台,在此基础上完成了Mobile+Cloud的几项示范性应用。FolderAppsStorageCloudEBSEC2StorageS3.清华云存储解决方案我们研究了包括分布式文件系统、云存储服务接分布式文件系统Carrier架构松耦合的体系结构多个元数据服务器MetadataServer多个数据存储服务器DataServer多个Supervisor负责系统监控与故障恢复、副本管理、垃圾回收等事务特色:支持多样化的文件负载、高可扩展、容错、高并发接口:Fuse、Shell、APIChunk-BasedDistributedDatabaseClientsMetadataServerDataServersMetadataServerMetadataServersDataServersDataServersDataServersClientsClientsClientsSupervisorsSupervisorsSupervisorsDataServers.分布式文件系统Carrier架构松耦合的体系结构Chunk-MetadataServer设计基本原则:必须实现自动故障恢复和节点当机之后的元数据服务转移功能,保证元数据服务尽可能的在线;为了支持多样化的负载,元数据服务器必须是可扩展的;尽量减少元数据节点和其它节点的交互次数,降低元数据节点的负载;文件被组织成一个传统的目录树读写锁去冗余的访问控制列表DistributedDatabase(Mnesia)MetadataServer3MetadataServer2MetadataServer1.MetadataServer设计基本原则:Distribu..读写锁基于轻量级进程的读写锁MetadataServerClient(1)申请写操作(2)标志位加锁(3)定期检查死锁记录MetadataServerClient(1)申请写操作(2)生成进程锁1、传统的进程锁2、轻量级进程锁.读写锁基于轻量级进程的读写锁MetadataServerC去冗余的访问控制列表(ACL)1、传统的LinuxACL300%的性能开销2、去冗余的ACL尽可能减少数据库的记录条数,缩短每次查询数据库的时间PathACL....../A{Bob:rw,Alice:rw}....../A/B{Bob:rw,Alice:rw}....../A/B/C{Bob:rw,Alice:rw}....../A/B/C/D.txt{Bob:rw}......PathACL....../A{Bob:rw,Alice:rw}....../A/B/C/D.txt{Bob:rw}.......去冗余的访问控制列表(ACL)1、传统的LinuxACL2DataServer设计文件被按32M大小进行分块(chunk)存储,一个chunk对应Linux文件系统中的一个实体文件基于UUID算法产生128位chunkid记录Chunk的文件数据的MD5值来检查已保存数据的完整性MetadataServerClientDataServerMetadataServerClientDataServer1、由Metadataserver产生chunkid需要3次网络交互2、由Client产生chunkid仅需要2次网络交互(1)申请chunkid(3)汇报Metadata(2)写chunk(3)汇报Metadata(2)写chunk(1)生成chunkid.DataServer设计文件被按32M大小进行分块(chuSupervisor设计定期的主机状态监控、副本管理、副本恢复(3个)、完整性检测、故障恢复、垃圾回收MetadataServerDataServer1、MetaServer广播回收方式2、MetaServer应答回收方式DataServerDataServer[A,B,C][A,B,C][A,B,C][A,B,C][A,D]MetadataServerDataServerDataServerDataServer[A,B,C][A,D][A,D][D]MetadataServerDataServerDataServerDataServer[A,B,C][010][A,D][010][010]3、基于BloomFilter的管道回收方式.Supervisor设计定期的主机状态监控、副本管理、副本恢Client设计客户端和元数据服务器进行元数据的操作,但是所有的数据相关的通讯是直接和数据服务器进行的,接口包括:串行接口:open,read,write,close,list,delete,mkdir并行接口:put,get.Client设计客户端和元数据服务器进行元数据的操作,但是所开发语言的选择Erlang由瑞典电信设备制造商Erission所辖的CS-Lab开发,问世于1987年。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式具有以下特性:并发性:支持超大量级的并发线程,并且不需要操作系统具有并发机制分布性:一个Erlang节点能够创建运行在其它节点上的并行线程健壮性:具有多种基本的错误检测能力,它们能够用于构建容错系统热代码升级:允许程序代码在运行系统中被修改外部接口:与C,Java,Python外部程序通信开源基于Erlang实现过可靠性为99.9999999%的电信工业级交换机.开发语言的选择Erlang由瑞典电信设备制造商ErissioCarrier系统基本性能测试操作时间(ms)文件大小/

操作数具体描述带宽(MB/s)/

单次耗时(ms)大文件写1003224GB将一个大小为4GB的文件写入carrier43.94MB/s大文件读1965534GB从carrier中读取一个大小为4GB的文件22.43MB/s中等文件写134727MB将一个大小为27MB的文件写入carrier20.7MB/s中等文件读290727MB从carrier中读取一个大小为27MB的文件9.6MB/s小文件写12802229MB将目录linux-写入carrier2.3MB/s小文件读14301829MB从carrier中读取目录linux-2.0MB/s创建文件1955010000在目标路径下创建10000个大小为0的小文件1.955ms返回文件列表15010000在含有10000个小文件的目录下做listdir操作0.015ms删除小文件822510000删除一个包含10000个小文件的目录0.8225ms创建目录871110000在目标路径下创建10000个空目录0.8711ms返回目录列表13710000在含有10000个空目录的目录下做listdir操作0.0137ms删除目录821510000删除一个包含10000个空目录的目录0.8215ms.Carrier系统基本性能测试操作时间(ms)文件大小/

操云服务接口技术FolderAppsStorageCloudEBSEC2StorageS3.云服务接口技术FolderAppsStorageCloudE....虚拟文件管理系统Corsair实现文件数据的存储和共享,提供本地资源和网络资源的统一文件管理视图为全部用户提供共享存储服务为社区用户提供共享存储服务为个人用户提供共享存储服务.虚拟文件管理系统Corsair实现文件数据的存储和共享,提供..Corsair系统架构.Corsair系统架构.Corsair的特性快速共享简单的申请操作和审批就可以拥有100GB的社区空间移动U盘简单的申请操作就可以拥有2GB的个人空间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论