分布式文件系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第九章分布式文件系统主讲:陈志刚教授第九章分布式文件系统22020/7/3中南大学9.1分布式文件系统的特点和基本要求分布式文件系统的特点为整个网络上的文件系统资源提供了一个逻辑树结构,用户可以抛开文件的实际物理位置,仅通过一定的逻辑关系就可以查找和访问网络的共享资源。用户能够像访问本地文件一样,访问分布在网络中多个服务器上的文件。分布式文件系统的顾客、服务员和存储设备分散在各机器上,服务活动必须跨网完成。存储设备不是单一的集中数据存储器。分布式文件系统的具体配置和实现可以有很大的不同,有的服务员运行在专用的服务器上,有的机器既是服务员又是顾客。第九章分布式文件系统32020/7/3中南大学9.1分布式文件系统的特点和基本要求分布式文件系统的基本要求透明性位置透明性:服务员和存储器的多重性和分散性对顾客透明。移动透明性:用户意识不到资源的移动。性能透明性:当服务负载在一定范围内变化时,客户程序可以保持满意的性能。扩展透明性:文件服务可以扩充,以满足负载和网络规模的增长。性能分布式文件系统比常规文件系统类似(有时更好)的性能和可靠性第九章分布式文件系统42020/7/3中南大学容错为了处理暂时的通信错误,容错设计可以基于最多一次性语义无状态的服务器:崩溃重启时不需恢复安全性身份验证,访问控制,安全通道效率:应提供比传统文件系统相同或更强的性能和可靠性9.1分布式文件系统的特点和基本要求第九章分布式文件系统52020/7/3中南大学9.2分布式文件系统中的命名命名方案分布式文件系统中名字透明和位置透明:数据和位置分离为文件提供一个较好的抽象名字透明给用户共享数据提供了一个简便方法位置透明把命名结构从存储器结构和服务员见的结构分开第九章分布式文件系统62020/7/3中南大学9.2分布式文件系统中的命名命名方案分布式文件系统中用于文件和目录命名的方法有以下常见的3种:主机名+文件本地名,如/machine/path,它能保证唯一的系统范围内的名字将远程文件目录附加到本地名字空间中把所有个部分文件系统全部集成组合成一个在所有机器上看上去都一样的单个名字空间第九章分布式文件系统72020/7/3中南大学9.2分布式文件系统中的命名命名的实现技术常用的命名实现技术有:路径名翻译。正文名字到底层标识符的变换典型地都使用常规UNIX中的方法,即递归查找(recursivelookup)程序。组成单元服务员Cu1机器1Cu2机器2cu3机器3第九章分布式文件系统82020/7/3中南大学9.2分布式文件系统中的命名命名的实现技术常用的命名实现技术有:有结构的标识符。实现透明的命名需要提供文件名到其位置的变换机制。提示(hint)。这是用于位置变换的另一个方法。一个提示是一份信息,能提高性能,如果它不正确也不会引起任何语义上的副作用。安装机制。为了创建一个全局名字结构而把远程文件系统连接起来,通常使用安装机制。第九章分布式文件系统92020/7/3中南大学9.3共享语义共享语义是评价分布式文件系统允许多个顾客共享文件的重要标准。它说明分布式文件系统的这样一个特性,即多个顾客同时访问共享文件的效果。特别是,这些语义应当说明被顾客修改的数据何时可以被远程顾客看到。在分布式系统中处理共享文件的四种方法方法说明UNIX语义对一个文件的任何操作于所有的进程都是及时可见的会话语义在文件关闭之前,对文件的修改于其他进程是不可见的不可更改文件不能进行更改,只是简单地共享和复制事务处理所有改动以原子操作的方式(顺序)发生第九章分布式文件系统102020/7/3中南大学9.4缓存文件的远程访问方法文件的远程访问方法有2种:远程服务在远程服务方法中,顾客把访问请求传送给服务员,服务员执行访问,结果回送给顾客。访问请求被变换成对服务员的报文,服务员的回答也打包成报文回送给顾客。缓存如果请求的数据不在本地,则从服务员处取来那些数据的复制件给顾客。通常取来的数据量比实际请求的要多得多,例如整个文件或几个页面,所以随后的访问可在顾客所在地的本地副本中进行。第九章分布式文件系统112020/7/3中南大学9.4缓存文件的远程访问方法缓存方案的设计需要考虑的问题:缓存的单位问题存储部分文件的位置如何决定各个顾客缓存中的数据是否一致第九章分布式文件系统122020/7/3中南大学9.4缓存缓存的粒度和地点缓存的粒度:如果数据单元(即粒度)愈大,则下次访问的数据在顾客方的本地找到的可能性愈大,但传送数据的时间和一致性问题也增加了。反之,粒度太小,通信的开销也随之增加。缓存的地点在一个各自有主存和磁盘的客户-服务器系统中,有四个地方可以用来存储文件或存储部分文件:服务器磁盘、服务器主存、客户磁盘(如果可用的话)或者客户主存。第九章分布式文件系统132020/7/3中南大学9.4缓存缓存的粒度和地点存储所有文件最直接的地方是在服务器磁盘上,使用磁盘缓存具有可靠性的优点。但是使用主存作缓存器也有若干优点。首先,它可支持无盘工作站;其次,从主存缓存器中访问数据要比从磁盘缓冲器中访问数据要快;第三,服务员缓存器(用于加速磁盘输入输出操作)是设在主存中,如果顾客缓存器也使用主存,就可以构造一个单一的缓存机构,服务员和顾客均可使用。两种缓存地点强调的功能不一样,主存缓存器主要减少访问时间,磁盘缓存器主要提高可靠性和单个机器的自治性。第九章分布式文件系统142020/7/3中南大学9.4缓存更新策略、缓存有效性检验和一致性方法描述直接写一旦数据写到缓存器中就把此数据写到服务员磁盘上,可靠性高。延迟写把修改先写到缓存器中,等待一段时间再写到服务员磁盘上,但可能语义不清驱逐时写当被修改过的数据块要被从缓存器中驱逐出去时,该数据块被发送到原本周期性写周期地扫描缓存器,把从上次扫描以来已被修改过的块发送给原本关闭时写当文件关闭时把数据写回到服务员,与会话语义相对应。第九章分布式文件系统152020/7/3中南大学9.4缓存更新策略、缓存有效性检验和一致性判定本地缓存的数据副本是否与原本一致,有两个基本方法验证其有效性:顾客发动的方法。顾客与服务员联系,检查本地数据与原本是否一致。这个方法的关键是有效性检验的频度。服务员发动的方法。服务员为每个顾客登记被该顾客缓存的文件或文件的某个部分。当服务员检测出可能不一致时,必须做出反应。服务员发动方法的一个问题是违背顾客/服务员模型第九章分布式文件系统162020/7/3中南大学9.4缓存缓存和远程服务的比较两种方法的优缺点:选择缓存还是远程服务的问题本质上是选择改进性能的潜力还是选择简单性的问题。使用缓存时,大量的远程访问可由本地的缓存器有效地处理,大多数远程访问获得的服务速度和本地的一样快。使用缓存时,服务员负载和网络通信量都减少了,扩充能力加强了。而在使用远程服务方法时,每次远程访问都是跨过网络处理的,明显增加了网络通信量和服务员负载,引起性能下降。缓存时,传输大批数据的全部网络开销低于远程服务时传输一系列对具体请求的短的回答的网络开销。第九章分布式文件系统172020/7/3中南大学9.4缓存缓存和远程服务的比较缓存方案的主要缺点是一致性问题。在不经常写的访问模式中,缓存方法是优越的;但在有经常写的情况下,用于解决一致性问题的机制在性能、网络通信量和服务员负载方面产生重大开销。在用缓存作为远程访问方法的系统中,仿真集中式系统的共享语义是很困难的。使用远程服务时,服务员将所有访问串行化,因此能够实现任何集中的共享语义。远程服务风范仅仅是本地文件系统接口在网络上的扩充。这样,机间接口是本地顾客和文件系统之间的接口的映射。第九章分布式文件系统182020/7/3中南大学9.5容错和可扩充性无状态服务和有状态服务文件、目录和其他的服务器是否应该保留客户的状态信息。存在两种派别思想的对抗:当一个服务员在为其顾客请求进行服务的时候,如果它保存其顾客的有关信息时,称该服务员是有状态的(stateful)。如果服务员在为其顾客请求进行服务的时候不保存该顾客的任何信息,就称该服务员是无状态的(stateless)。第九章分布式文件系统192020/7/3中南大学9.5容错和可扩充性无状态服务和有状态服务比较无状态服务器的优点有状态服务其的优点容错请求消息比较短不需要OPEN/CLOSE调用更好的性能没有服务器表空间的浪费可以预读信息块减少延迟没有打开文件数目的限制易于幂等性客户崩溃时不会造成服务器错误可以对文件加锁第九章分布式文件系统202020/7/3中南大学9.5容错和可扩充性可用性与文件复制可恢复性:当对某个文件的操作失败,或由顾客夭折此操作时,如果文件能转换到原来的一致状态,则说此文件是可恢复的。坚定性:如果当某个存储器崩溃和存储介质损坏时某个文件能保证完好,则说此文件是坚定的。可用性:如果无论何时一旦需要就可访问,甚至在某个机器和存储器崩溃,或者在发生通信失效的情况下,某个文件仍然可被访问,则这种文件叫做是可用的。第九章分布式文件系统212020/7/3中南大学9.5容错和可扩充性可用性与文件复制文件复制:文件复制是一个冗余措施。这里指的是不同机器上的文件复制,而不是同一机器上不同介质上的文件复制(如镜像磁盘)。文件复制的原因通过对每个文件的独立备份来增加系统的可靠性。当一个文件服务器出现问题时,仍允许进行文件访问;将工作量分配到多个服务器上,避免运行性能上的瓶颈。第九章分布式文件系统222020/7/3中南大学9.5容错和可扩充性可用性与文件复制用户需要了解文件复制到何种程度吗?在文件复制进程中需要达到什么要求呢?文件复制的要求:应对用户隐匿复制细节。把一份复制件名字变换成指定的复制件是命名方案的任务。与复制件有关的主要问题是它们的更新。从用户观点看,文件的所有复制品代表同一逻辑实体,所以对任何复制件的更新必须反映到所有其他复制件。大多数情况下,不能放弃文件数据的一致性,因此使用复制来增加可用性时还要使用复杂的更新传播协议。第九章分布式文件系统232020/7/3中南大学9.5容错和可扩充性可扩充性设计大规模系统要考虑的问题:首先是有界资源(boundedresources)原理:“从系统的任何部分来的服务要求应该限于一个常数,此常数和系统中的节点数无关”。负载和系统规模成比例的任何服务员,一旦系统扩充到超过某一范围则必然阻塞,再增加资源也缓解不了这个问题。广播是一种使网络中的每个机器都参加的活动。在广播基础上建立的机构对超大型系统很明显不实际。网络拥挤和延迟是大规模系统的主要障碍。使用缓存和实施放松的共享语义,使跨机器的交互作用最少。第九章分布式文件系统242020/7/3中南大学9.5容错和可扩充性可扩充性设计大规模系统要考虑的问题:不应当使用集中控制方案和集中的资源建立可扩充的和容错的系统。分散化的一个重要方面是系统的管理。分配管理职责时,应有利于自治性和对称性,不干扰分布式系统的连贯性和一致性。将系统划分为若干半自治的小组。每个小组包括一些机器和一个专用的小组服务员。为了尽量减少跨越小组的文件访问,大多数时间,每个机器的请求应由其小组服务员满足。第九章分布式文件系统252020/7/3中南大学9.5容错和可扩充性用线程实现文件服务员单个进程服务员的缺点在于一旦有一个请求需要磁盘输入输出时,整个服务将被推迟到输入输出完成为止。每个顾客分配一个服务进程将导致CPU完成进程切换付出很大代价。使用线程服务员,同一个进程里的多个线程之间只有很少的非共享状态。线程的切换和线程的创建比起进程的切换和进程的创建要便宜得多。使用线程方案实现服务的优点有:一是一个输入输出请求仅推迟一个线程而不是整个服务;二是容易实现诸线程共享数据结构。第九章分布式文件系统262020/7/3中南大学9.6安全性分布式文件系统的安全性还包括保护和加密两个方面:保护方面:文件系统中的每个文件有一张小表格和文

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功