第五章-分布式文件系统..

上传人:仙*** 文档编号:174352320 上传时间:2022-12-15 格式:PPT 页数:47 大小:245KB
收藏 版权申诉 举报 下载
第五章-分布式文件系统.._第1页
第1页 / 共47页
第五章-分布式文件系统.._第2页
第2页 / 共47页
第五章-分布式文件系统.._第3页
第3页 / 共47页
资源描述:

《第五章-分布式文件系统..》由会员分享,可在线阅读,更多相关《第五章-分布式文件系统..(47页珍藏版)》请在装配图网上搜索。

1、第第5 5章章 分布式文件系统分布式文件系统 分布式文件系统设计分布式文件系统设计 分布式文件系统的实现分布式文件系统的实现 分布式文件系统的发展趋势分布式文件系统的发展趋势 分布式文件系统分布式文件系统文件服务与文件服务器文件服务与文件服务器 文件服务文件服务 w 文件系统提供给客户内容的详细说明。它描述了可用的原语、文件系统提供给客户内容的详细说明。它描述了可用的原语、原语所需要的参数和执行的动作。文件服务说明了文件系统对原语所需要的参数和执行的动作。文件服务说明了文件系统对客户的接口。客户的接口。文件服务器文件服务器 w 文件服务器是运行在某台机器上的一个有助于实现文件服务的文件服务器是

2、运行在某台机器上的一个有助于实现文件服务的进程。一个系统可以有一个或多个文件服务器,每台文件服务进程。一个系统可以有一个或多个文件服务器,每台文件服务器提供不同的功能。器提供不同的功能。5.1 分布式文件系统设计分布式文件系统设计 文件服务器接口文件服务器接口 w 文件:在许多系统中,如文件:在许多系统中,如和和,文件是一,文件是一个未经解释的字节序列。文件中的信息的含义和结构完全取决个未经解释的字节序列。文件中的信息的含义和结构完全取决于应用程序。于应用程序。w 文件的属性:是关于文件的一部分信息。典型的属性有所有者、文件的属性:是关于文件的一部分信息。典型的属性有所有者、大小、创建日期和访

3、问权限。大小、创建日期和访问权限。w 文件创建后能否修改?文件创建后能否修改?通常是可以的。通常是可以的。不可变的文件:一旦文件创建,不能改变它。使得支持文不可变的文件:一旦文件创建,不能改变它。使得支持文件高速缓存和复制变得容易。件高速缓存和复制变得容易。w 分布式系统的保护分布式系统的保护 权能权能 存取控制表存取控制表 5.1 分布式文件系统设计分布式文件系统设计 文件服务器接口文件服务器接口 文件服务分类文件服务分类w 上载上载/下载模式下载模式 文件服务只提供两种主要的操作:读文件和写文件。读文件服务只提供两种主要的操作:读文件和写文件。读文件将整个文件从一个文件服务器传送到提出请求

4、的客户。文件将整个文件从一个文件服务器传送到提出请求的客户。写操作将整个文件从客户传送到服务器。写操作将整个文件从客户传送到服务器。客户机客户机服务器服务器 1.1.文件移动文件移动到客户端到客户端 2.2.在客户端在客户端进行访问进行访问 3.3.当客户端工作完毕后,当客户端工作完毕后,文件又移回服务器文件又移回服务器老文件老文件新文件新文件5.1 分布式文件系统设计分布式文件系统设计 文件服务器接口文件服务器接口 文件服务分类文件服务分类w 上载上载/下载模式下载模式 优点:概念简单。使用这种模式不需要掌握复杂的文件接口。优点:概念简单。使用这种模式不需要掌握复杂的文件接口。整个文件的传送

5、是高效的。整个文件的传送是高效的。缺点:客户端必须具有足够大的存储空间来存储所需的所有缺点:客户端必须具有足够大的存储空间来存储所需的所有文件。如果只需要文件的一小部分,移动整个文件是很浪费文件。如果只需要文件的一小部分,移动整个文件是很浪费的。的。5.1 分布式文件系统设计分布式文件系统设计 文件服务器接口文件服务器接口 文件服务分类文件服务分类w 远程访问模式远程访问模式 文件服务提供了大量的操作用于打开和关闭文件,读写文件服务提供了大量的操作用于打开和关闭文件,读写文件的一部分,在文件中来回移动,检查和改变文件属性等。文件的一部分,在文件中来回移动,检查和改变文件属性等。客户机客户机服务

6、器服务器客户请求访问远程服务器客户请求访问远程服务器上的文件上的文件文件保存在服务器上文件保存在服务器上 优点:在客户端不需要很大的空间,当仅需要文件的一小部分时,优点:在客户端不需要很大的空间,当仅需要文件的一小部分时,需要传送整个文件。需要传送整个文件。5.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 目录服务目录服务w 提供诸如创建和删除目录,命名和重命名文件以及将文件从提供诸如创建和删除目录,命名和重命名文件以及将文件从一个目录移动到另一个目录等操作。一个目录移动到另一个目录等操作。文件扩展名:文件扩展名:prog.c man.txtw 分布式系统允许目录包含

7、子目录,形成一棵目录树。通常分布式系统允许目录包含子目录,形成一棵目录树。通常 称为分层文件系统。称为分层文件系统。ABCDE一棵有一棵有5 5个目录的树个目录的树 在树型层次结构中,在树型层次结构中,仅当目录为空时,才能仅当目录为空时,才能删除指向该目录的连接删除指向该目录的连接5.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 目录服务目录服务w 对任意目录建立连接或指针。使得可以将目录组织成更强有对任意目录建立连接或指针。使得可以将目录组织成更强有力的任意目录图。力的任意目录图。ABCDE在两台机器中的目录图在两台机器中的目录图01211计算指向这个目录的计算指向

8、这个目录的目录数量目录数量机器机器1 1机器机器2 2 在目录图中,一个目在目录图中,一个目录只要存在至少另一条录只要存在至少另一条链接时就可以删除指向链接时就可以删除指向该目录的链接该目录的链接5.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 孤立目录孤立目录w 删除删除A到到B的连接。结果从文件系统(的连接。结果从文件系统(A)的根已不能到达)的根已不能到达B。B、D、E三个目录以及它们的所有文件实际上是孤立了。三个目录以及它们的所有文件实际上是孤立了。ABCDE01111计算指向这个目录的计算指向这个目录的目录数量目录数量机器机器1 1机器机器2 2 分布式系统

9、中分布式系统中的孤立目录问的孤立目录问题题5.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 问题问题1:w 在设计分布式系统时,是否全部机器(和进程)都应该具有在设计分布式系统时,是否全部机器(和进程)都应该具有完全相同的分层目录结构视图?完全相同的分层目录结构视图?ABCDEF文件服务器文件服务器1文件服务器文件服务器25.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 问题问题1 :w 所有客户(和其他机器)具有相同的分布式文件系统视图的所有客户(和其他机器)具有相同的分布式文件系统视图的情况:即如果路径情况:即如果路径 /D/E/x 在一

10、台机器上有效,则在所有机器在一台机器上有效,则在所有机器上都有效。上都有效。ABCDEFRootABCDEFRoot客户客户1客户客户25.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 问题问题1:w 不同的机器可能具有不同的文件系统视图。路径不同的机器可能具有不同的文件系统视图。路径/D/E/x/D/E/x在客在客户户1可能是有效的,而在客户可能是有效的,而在客户2上可能是无效的。上可能是无效的。ABCDEFRoot客户客户1ABCDEFRoot客户客户25.1 分布式文件系统设计分布式文件系统设计 目录服务器接口目录服务器接口 问题问题2:w 是否存在一个全局根目

11、录,所有的机器都认为其为根。是否存在一个全局根目录,所有的机器都认为其为根。w 设置全局根目录的方法是使这个根只包含每个服务器的一个设置全局根目录的方法是使这个根只包含每个服务器的一个入口。入口。路径的形式为:路径的形式为:/服务器服务器/路径路径5.1 分布式文件系统设计分布式文件系统设计5.1.2 目录服务器接口目录服务器接口 命名透明性命名透明性w 位置透明性:指路径名并不能对文件(或其他对象)存储位位置透明性:指路径名并不能对文件(或其他对象)存储位置给出任何提示。置给出任何提示。w 如路径如路径 /server1/dir1/dir2/x 说明说明x位于服务器位于服务器1上,但是并没有

12、上,但是并没有说明服务器说明服务器1的位置。服务器在网络中可以自由的移动而无需的位置。服务器在网络中可以自由的移动而无需改变路径名。改变路径名。w 如果文件如果文件x非常大而且服务器非常大而且服务器1上的空间又很紧张。需要将文上的空间又很紧张。需要将文件件x移动到服务器移动到服务器2上。系统不能够自动的移动。上。系统不能够自动的移动。/server1/dir1/dir2/x /server2/dir1/dir2/x?5.1 分布式文件系统设计分布式文件系统设计5.1.2 目录服务器接口目录服务器接口 命名透明性命名透明性w 位置独立性:在一个系统中文件能够移动而无需改变其文件位置独立性:在一个

13、系统中文件能够移动而无需改变其文件名,这样的系统称之为具有位置独立性。名,这样的系统称之为具有位置独立性。w 一个明确将机器或服务器名嵌入路径名的分布式系统不是位一个明确将机器或服务器名嵌入路径名的分布式系统不是位置独立的系统。置独立的系统。机器机器+路径名路径名 如如/machine/path/machine/path 或或 machine:pathmachine:path 安装远程文件系统到本地文件分层结构安装远程文件系统到本地文件分层结构 一个在所有机器上看上去都一样的单个名字空间一个在所有机器上看上去都一样的单个名字空间 分布式系统中用于文件和目录命名有以下三种方法:分布式系统中用于文

14、件和目录命名有以下三种方法:5.1 分布式文件系统设计分布式文件系统设计5.1.2 目录服务器接口目录服务器接口 两级命名两级命名w 符号名和二进制名:文件(和其他对象)具有符号名,供用符号名和二进制名:文件(和其他对象)具有符号名,供用户使用,还可以具有内部的二进制名供系统使用。户使用,还可以具有内部的二进制名供系统使用。w 目录的作用是提供这两个命名层次之间的一个变换(映射)目录的作用是提供这两个命名层次之间的一个变换(映射)5.1 分布式文件系统设计分布式文件系统设计5.1.3 文件共享的语义文件共享的语义 UNIX语义语义w 在在READ操作紧跟在操作紧跟在WRITE操作后执行时,操作

15、后执行时,READ操作返回操作返回刚刚写入的值。刚刚写入的值。w 当一当一个个READ操作跟在两个紧相连发生的操作跟在两个紧相连发生的WRITE操作后,读操作后,读入的值是后一个写操作写入的值。入的值是后一个写操作写入的值。ababcAB单处理器单处理器1.写写“c”2.读出读出“abc”初始文件初始文件5.1 分布式文件系统设计分布式文件系统设计5.1.3 文件共享的语义文件共享的语义 分布式系统分布式系统存在的问题:存在的问题:w 分布式系统中允许客户在它们自己的高速缓存中保留经常使分布式系统中允许客户在它们自己的高速缓存中保留经常使用的文件的局部拷贝。用的文件的局部拷贝。ababcA2.

16、写写“c”ababB1.读读“ab”3.读出读出“ab”客户客户2客户客户1文件服务器文件服务器读出了一个过时的值读出了一个过时的值5.1 分布式文件系统设计分布式文件系统设计5.1.3 文件共享的语义文件共享的语义 解决办法解决办法对话语义对话语义w 立即将高速缓存文件的所有修改回写到服务器上。简单、效立即将高速缓存文件的所有修改回写到服务器上。简单、效率低。率低。w 规则:对一个打开文件的修改仅对修改该文件的进程是初始规则:对一个打开文件的修改仅对修改该文件的进程是初始可见的,仅当文件关闭时,其修改才对其他进程可见。(对可见的,仅当文件关闭时,其修改才对其他进程可见。(对话语义)话语义)w

17、 当两个或多个客户同时进行高速缓存和修改同一文件,若各当两个或多个客户同时进行高速缓存和修改同一文件,若各个文件连续关闭,将它们的值送到服务器上,最后的结果取个文件连续关闭,将它们的值送到服务器上,最后的结果取决于哪个文件最后关闭。决于哪个文件最后关闭。5.1 分布式文件系统设计分布式文件系统设计5.1.3 文件共享的语义文件共享的语义 不可更改文件不可更改文件w 对文件不能进行更改,只是简单的共享和复制。文件不能被对文件不能进行更改,只是简单的共享和复制。文件不能被更新,但是目录可以更新。更新,但是目录可以更新。事务事务w 为了存取一个文件或一组文件,进程首先执行某种类型的开为了存取一个文件

18、或一组文件,进程首先执行某种类型的开始事务处理原语,以指示跟在其后的操作是不可分的。始事务处理原语,以指示跟在其后的操作是不可分的。w 然后通过系统调用来读写一个或多个文件然后通过系统调用来读写一个或多个文件w 工作完成后,执行结束事务处理原语。工作完成后,执行结束事务处理原语。w 关键特性:保证了包含于事务处理中的所有调用都将按顺序关键特性:保证了包含于事务处理中的所有调用都将按顺序完成,不能有其他任何同时存在的事务处理的干扰。完成,不能有其他任何同时存在的事务处理的干扰。5.1 分布式文件系统设计分布式文件系统设计5.1.3 文件共享的语义文件共享的语义 四种处理共享文件方法比较四种处理共

19、享文件方法比较方法方法说明说明UNIX语义语义对一个文件的任何操作对所有进程都是及时对一个文件的任何操作对所有进程都是及时可见的可见的会话语义会话语义在文件关闭之前,对文件的修改对其他进程在文件关闭之前,对文件的修改对其他进程是不可见的是不可见的不可更改语义不可更改语义不能进行更改,只是简单的共享和复制不能进行更改,只是简单的共享和复制事务事务所有的更改要么都完成,要么都不能完成所有的更改要么都完成,要么都不能完成5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构 客户与服务器不同吗?客户与服务器不同吗?w 客户和服务器没有差别。客户和服务器没有差别。所有的机

20、器执行基本相同的软件,所有的机器执行基本相同的软件,任何机器都可以自由的为公众提供文件服务。任何机器都可以自由的为公众提供文件服务。w 文件服务器和目录服务器仅是用户程序。可根据需要配置一文件服务器和目录服务器仅是用户程序。可根据需要配置一个系统以便在同一机器上或者不同机器上执行客户和服务器个系统以便在同一机器上或者不同机器上执行客户和服务器软件。软件。w 系统根据硬件或软件将客户和服务器分配在完全不同的机器系统根据硬件或软件将客户和服务器分配在完全不同的机器上。上。5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构 文件和目录服务如何构造?文件和目录服务如何

21、构造?w 将两者合并成一个服务器来处理所有的目录和文件自身的调将两者合并成一个服务器来处理所有的目录和文件自身的调用。用。w 保持独立。打开一个文件需要进入目录服务器,以便将它们保持独立。打开一个文件需要进入目录服务器,以便将它们的符号名变换成二进制名。然后用二进制名进入文件服务器的符号名变换成二进制名。然后用二进制名进入文件服务器对文件进行读写。对文件进行读写。5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构 文件和目录服务器独立的情况文件和目录服务器独立的情况w 目录分层在多个服务器之间分配的情况目录分层在多个服务器之间分配的情况abc服务器服务器1上的

22、目录上的目录服务器服务器2上的目录上的目录服务器服务器3上的目录上的目录文件文件客户客户查找查找a/b/c查找查找b/c查找查找c c带着带着c c的的响应响应迭代查找迭代查找a/b/c5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构 文件和目录服务器独立的情况文件和目录服务器独立的情况w 目录分层在多个服务器之间分配的情况目录分层在多个服务器之间分配的情况abc文件文件客户客户查找查找a/b/c查找查找b/c查找查找c c带着带着c c的的响应响应自动查找自动查找a/b/c5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构

23、 频繁查找路径名,代价昂贵,采用高速缓存提示改善性能频繁查找路径名,代价昂贵,采用高速缓存提示改善性能w 当一个文件打开时,先检查高速缓存中是否有该路径名,如当一个文件打开时,先检查高速缓存中是否有该路径名,如果有,就不必逐个目录去查找,从高速缓存中直接读取其二果有,就不必逐个目录去查找,从高速缓存中直接读取其二进制地址。如果没有再进行查找。进制地址。如果没有再进行查找。w 为使用名字高速缓存,基本的做法是:当无意中使用一个已为使用名字高速缓存,基本的做法是:当无意中使用一个已过时的文件时,设法通知客户,以便它能通过逐一查找目录过时的文件时,设法通知客户,以便它能通过逐一查找目录的方式找到文件

24、并更新高速缓存。的方式找到文件并更新高速缓存。5.2 分布式文件系统的实现分布式文件系统的实现5.2.2 文件系统结构文件系统结构 有状态服务器与无状态服务器有状态服务器与无状态服务器w 无状态服务器:当客户发送一个请求到给服务器,服务器完成无状态服务器:当客户发送一个请求到给服务器,服务器完成请求,发送一个应答,然后从内部表中移出关于该请求的所有请求,发送一个应答,然后从内部表中移出关于该请求的所有信息。在请求之间,服务器不保存具体客户的信息。信息。在请求之间,服务器不保存具体客户的信息。w 有状态服务器:服务器保存两个请求之间的客户的状态信息。有状态服务器:服务器保存两个请求之间的客户的状

25、态信息。无状态服务器的优点无状态服务器的优点有状态服务器的优点有状态服务器的优点容错容错请求消息比较短请求消息比较短不需要不需要OPEN/CLOSE调用调用更好的性能更好的性能没有服务器表空间的浪费没有服务器表空间的浪费可以预读可以预读没有打开文件数目的限制没有打开文件数目的限制易于幂等性易于幂等性客户崩溃时不会造成服务器错误客户崩溃时不会造成服务器错误可以对文件加锁可以对文件加锁5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 在一个各自有主存和磁盘的客户在一个各自有主存和磁盘的客户-服务器系统中,有四个存储文服务器系统中,有四个存储文件或部分文件的地方:件或部分

26、文件的地方:3421网络网络服务器磁盘服务器磁盘服务器主存服务器主存客户磁盘客户磁盘客户主存客户主存5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 存储在服务器磁盘上存储在服务器磁盘上w 服务器磁盘上有充足的空间,存放在那里的所有文件对客户服务器磁盘上有充足的空间,存放在那里的所有文件对客户都是可访问的。由于文件只有一个拷贝,不会产生一致性问都是可访问的。由于文件只有一个拷贝,不会产生一致性问题。题。w 运行效率低。在客户读一个文件之前,运行效率低。在客户读一个文件之前,文件必须从服务器磁文件必须从服务器磁盘传送到服务器主存中,然后再通过网络传送到客户的主存盘传送

27、到服务器主存中,然后再通过网络传送到客户的主存中。中。5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 服务器高速缓存服务器高速缓存w 将最近使用的文件保留在服务器的主存中。客户读取一个刚将最近使用的文件保留在服务器的主存中。客户读取一个刚 好在服务器主存中的文件,可以消除磁盘传送,但网络传送好在服务器主存中的文件,可以消除磁盘传送,但网络传送仍然存在。仍然存在。w 需解决的问题:需解决的问题:1.什么是高速缓存管理单元?什么是高速缓存管理单元?2.当高速缓存填满,置换算法。当高速缓存填满,置换算法。w 在服务器主存中设置高速缓存:容易、对客户是完全透明的。在服务器

28、主存中设置高速缓存:容易、对客户是完全透明的。由于服务器可以保证其主存和磁盘拷贝同步。从客户的观点由于服务器可以保证其主存和磁盘拷贝同步。从客户的观点看,每个文件只有一个拷贝,不会产生一致性问题。看,每个文件只有一个拷贝,不会产生一致性问题。5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 客户端高速缓存客户端高速缓存w 在客户主存中设置高速缓存,有三种可使用的选择来精确定在客户主存中设置高速缓存,有三种可使用的选择来精确定义高速缓存的位置。义高速缓存的位置。1.1.在每个用户进程自己的地址空间直接进行文件高速缓存在每个用户进程自己的地址空间直接进行文件高速缓存 高

29、速缓存由系统调用库管理。高速缓存由系统调用库管理。当打开、关闭、读和写文件时,当打开、关闭、读和写文件时,该库只是保存最常用的文件该库只是保存最常用的文件 当进程退出时,所有被修改过当进程退出时,所有被修改过的文件都写回到服务器中的文件都写回到服务器中内核内核 进程本身的内进程本身的内部部cache Cahce命中命中Cahce未命中未命中服务器服务器5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 客户端高速缓存客户端高速缓存 2.2.在内核中设置高速缓存在内核中设置高速缓存 缺点是在所有情况下都需要内缺点是在所有情况下都需要内核调用,甚至对于高速缓存命核调用,甚

30、至对于高速缓存命中。中。内核内核Cahce命中命中Cahce未命中未命中 服务器服务器5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 客户端高速缓存客户端高速缓存 3.3.高速缓存管理作为一个用户进程高速缓存管理作为一个用户进程 用户级高速缓存管理者的优点用户级高速缓存管理者的优点是它保持了内核独立于文件系是它保持了内核独立于文件系统编码。易于编程,更加灵活。统编码。易于编程,更加灵活。Cahce命中命中Cahce未命中未命中Cache管理进程管理进程用户进程用户进程 服务器服务器5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 高速缓

31、存一致性高速缓存一致性w 直接写算法(直接写算法(WRITE-THROUG算法)算法)当修改一个高速缓存项(文件或块)时,新的值保存在当修改一个高速缓存项(文件或块)时,新的值保存在高速缓存中,并立即写到服务器。高速缓存中,并立即写到服务器。问题问题1:假设在机器假设在机器A A上的一个客户进程读文件上的一个客户进程读文件f f。客户结束但机器在其。客户结束但机器在其高速缓存中保存高速缓存中保存f f。随后,机器。随后,机器B B上的一个客户读同一个文件,修改上的一个客户读同一个文件,修改它,并将它写到服务器上。最后,机器它,并将它写到服务器上。最后,机器A A上的一个新的客户进程开始上的一个

32、新的客户进程开始启动。它从该机器的高速缓存中打开并读入启动。它从该机器的高速缓存中打开并读入f f。(过期值)。(过期值)解决方法解决方法:要求高速缓存管理者在从高速缓存向客户提供文件:要求高速缓存管理者在从高速缓存向客户提供文件时,须先与服务器进行核对。如果不同,当前的版本必须从时,须先与服务器进行核对。如果不同,当前的版本必须从服务器中提取。服务器中提取。5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 高速缓存一致性高速缓存一致性w 直接写算法(直接写算法(WRITE-THROUG算法)算法)问题问题2:尽管它对读是有益的,但是对写来说,网络传输是相同的,就尽

33、管它对读是有益的,但是对写来说,网络传输是相同的,就像根本没有高速缓存一样。像根本没有高速缓存一样。解决方法解决方法:替代在写操作完成的瞬间访问服务器,客户只是记:替代在写操作完成的瞬间访问服务器,客户只是记录一下该文件已被修改。大约每隔录一下该文件已被修改。大约每隔3030秒,所有的更新文件聚秒,所有的更新文件聚集在一起一次向服务器发送。集在一起一次向服务器发送。延迟写延迟写5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 高速缓存一致性高速缓存一致性w 延迟写延迟写 延迟写操作使得语义变得不清楚。当另一个进程读此文延迟写操作使得语义变得不清楚。当另一个进程读此文

34、件时,它所得结果取决于时间选择。延迟写只好在运行效率件时,它所得结果取决于时间选择。延迟写只好在运行效率和清晰的语义之间权衡。和清晰的语义之间权衡。w 关闭时写关闭时写 仅当文件关闭后才将文件写回到服务器。与对话语义相仅当文件关闭后才将文件写回到服务器。与对话语义相配。配。5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 高速缓存一致性高速缓存一致性w 集中控制算法集中控制算法 当打开一个文件时,打开该文件的机器向服务器发送一当打开一个文件时,打开该文件的机器向服务器发送一条消息。服务器保存谁打开了哪个文件以及打开是为了读还条消息。服务器保存谁打开了哪个文件以及打开

35、是为了读还是写或者两者兼有。是写或者两者兼有。如果文件是为读而打开,允许其他进程为读而打开,避如果文件是为读而打开,允许其他进程为读而打开,避免为写而打开。如果某个进程为写而打开一个文件,必须禁免为写而打开。如果某个进程为写而打开一个文件,必须禁止所有其他访问。止所有其他访问。当关闭文件时,必须报告,以便服务器更新。当关闭文件时,必须报告,以便服务器更新。缺点:不健壮,不能规模化。缺点:不健壮,不能规模化。5.2 分布式文件系统的实现分布式文件系统的实现5.2.3 高速缓存高速缓存 高速缓存一致性高速缓存一致性w 管理客户文件高速缓存的四种算法管理客户文件高速缓存的四种算法方法方法描述描述直接

36、写直接写有效,但不影响写流量有效,但不影响写流量延迟写延迟写效率较高,但可能语义不清效率较高,但可能语义不清关闭时写关闭时写与会话语义相配与会话语义相配集中控制集中控制UNIX语义,但不健壮,不能规模化语义,但不健壮,不能规模化5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 提供文件复制的原因提供文件复制的原因 分布式系统通常保持文件的多个拷贝,每个拷贝放在一台单分布式系统通常保持文件的多个拷贝,每个拷贝放在一台单独的文件服务器上,提供这种服务的原因:独的文件服务器上,提供这种服务的原因:w 数据不丢失:通过对每个文件的独立备份来增加系统的可靠数据不丢失:通过对每个文件的

37、独立备份来增加系统的可靠性。性。w 当一个文件服务器出现问题时,仍允许进行文件访问当一个文件服务器出现问题时,仍允许进行文件访问w 负载均衡:将工作量分配到多个服务器上。负载均衡:将工作量分配到多个服务器上。5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 实现复制的方法实现复制的方法w 显示复制显示复制 当进程产生一个文件时,可以当进程产生一个文件时,可以在其他服务器上生成另外的拷在其他服务器上生成另外的拷贝。贝。如果目录服务存在允许一个文如果目录服务存在允许一个文件有多个拷贝,所有拷贝的网件有多个拷贝,所有拷贝的网络地址都可以和这个文件名联络地址都可以和这个文件名联系起

38、来。系起来。CS2S1S3123文件文件1.14prog.c1.212.162.433.193.41符号名符号名多个二进制地址多个二进制地址5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 实现复制的方法实现复制的方法w 懒惰复制懒惰复制 只要在某个服务器上建立每个只要在某个服务器上建立每个文件的一个拷贝,服务器自己文件的一个拷贝,服务器自己在其他的服务器上也可自动生在其他的服务器上也可自动生成副本。成副本。CS2S1S3服务器服务器现在现在以后以后以后以后客户客户5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 实现复制的方法实现复制的方法w 用组复制

39、文件用组复制文件 所有的写系统调用同时传送到所有的写系统调用同时传送到所有的服务器。于是,其他的所有的服务器。于是,其他的拷贝在原文件产生时就产生了。拷贝在原文件产生时就产生了。CS2S1S35.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 更新协议更新协议w 主拷贝复制主拷贝复制 使用时指定一个服务器为主服务器,其他所有的服务器为使用时指定一个服务器为主服务器,其他所有的服务器为从服务器。从服务器。当更新一个复制文件时,将该改变送至主服务器,在本地当更新一个复制文件时,将该改变送至主服务器,在本地完成修改,然后向从服务器发送命令,命令他们完成修改。完成修改,然后向从服务器

40、发送命令,命令他们完成修改。为了防止主服务器在向从服务器发送命令之间崩溃,在改为了防止主服务器在向从服务器发送命令之间崩溃,在改变主拷贝之前,应将更新写在稳定存储介质上。变主拷贝之前,应将更新写在稳定存储介质上。缺点:当主服务器停机时,所有的更新将不能进行。缺点:当主服务器停机时,所有的更新将不能进行。5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 更新协议更新协议w Gifford 基本思想:在读或写一个复制文件之前要求申请并获得多基本思想:在读或写一个复制文件之前要求申请并获得多个服务器的允许。个服务器的允许。服务器在改变文件时,将一个新的版本号和新的文件联系服务器在

41、改变文件时,将一个新的版本号和新的文件联系起来。版本号用来表识该文件的版本。起来。版本号用来表识该文件的版本。读一读一个已有个已有N个复制存在的文件时,客户需要获得一个读个复制存在的文件时,客户需要获得一个读法定数法定数Nr,修改一个文件需要一个写法定数修改一个文件需要一个写法定数Nw,Nr和和Nw的的值必须满足约束条件值必须满足约束条件 Nr+NwN.即只有在适当数目的服务器即只有在适当数目的服务器参与时,文件才能被读或写。参与时,文件才能被读或写。5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 更新协议更新协议w GiffordA B C DE F G HI J K

42、LNr=3,Nw=10读法定数读法定数写法定数写法定数 写法定数由写法定数由10个服务器组成,个服务器组成,这些服务器得到了新版本和新这些服务器得到了新版本和新版本号。版本号。任何随后的由三个服务器组成任何随后的由三个服务器组成的读法定数至少包含一个集合的读法定数至少包含一个集合中的成员。中的成员。5.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 更新协议更新协议w GiffordA B C DE F G HI J K LNr=7,Nw=6读法定数读法定数写法定数写法定数A B C DE F G HI J K LNr=1,Nw=125.2 分布式文件系统的实现分布式文件系统的实现5.2.4 复制复制 更新协议更新协议w 虚像表决虚像表决在许多应用中,写法定数通常比读法定数大很多。意味着如在许多应用中,写法定数通常比读法定数大很多。意味着如果少数几个服务器崩溃,要获得写法定数是不可能的。果少数几个服务器崩溃,要获得写法定数是不可能的。解决办法:虚像表决通过为每个已经崩溃的服务器建立一个解决办法:虚像表决通过为每个已经崩溃的服务器建立一个没有存储器的虚拟服务器。虚设者不允许出现在读法定数中,没有存储器的虚拟服务器。虚设者不允许出现在读法定数中,可以加入写法定数。可以加入写法定数。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!