高级操作系统北京邮电大学2020/1/23北京邮电大学Outline第七章分布式文件系统北京邮电大学第七章分布式文件系统7.1分布式文件系统的要求7.2分布式文件系统的组成7.3设计策略7.4接口7.5文件系统的实现技术7.6分布式文件系统的设计实例7.6分布式文件系统的新技术北京邮电大学7.1分布式文件系统的要求分布式文件系统多数应用都以文件的形式来存储永久性信息,文件可以作为不同用户或程序之间共享信息的方式。文件系统用来存储和管理大量文件•创建、命名、删除文件等功能•文件命名需要目录的支持分布式文件系统是分布式系统的基本构件之一北京邮电大学7.1分布式文件系统的要求分布式文件系统的要求允许用户程序直接存取远程文件二不需要将它们拷贝到本地站点。要求很高,支持以下透明性:•存取透明性•位置透明性•并发存取透明性•故障透明性•性能透明性•复制透明性•迁移透明性北京邮电大学7.2分布式文件系统的组成分布式文件系统包含三个组件展开文件服务•涉及到实现对文件内容的操作目录服务•提供文件文本名到UFID得映射客户组件•单一个客户组件运行在每一台客户机上•包含了展开文件服务和目录服务进程的网上位置信息•高速缓存最近使用的文件块北京邮电大学7.3设计策略设计策略从以下几方面考虑:展开文件服务•应设计成提供简单、透明目标的操作集合容错性•文件系统在出现客户或服务器故障时必须能继续工作目录服务•支持多种目录服务的设计和使用•每种目录服务支持不同的命名规则和存取控制策略客户组件北京邮电大学7.4接口接口Read(File,i,n):从文件i位置开始读出n个数据项。Write(File,i,data):把data数据项从i位置开始,按顺序写入文件。Creat()Truncate(File,l)Delete(File)GetAttributes(File)SetAttributes(File,Attr)北京邮电大学7.5文件系统的实现技术文件组结构文件组的作用•安装在服务器计算机上文件的集合•通过多个文件组结构可以在多个服务器上实现文件的分布空间漏洞•当事件的序列发生在对系统永久性不可存取的存储空间时,产生空间漏洞。•原因:文件和目录的分离所造成的缺陷北京邮电大学7.5文件系统的实现技术权限和存取控制权限在分布式系统中用于防止资源遭受非授权的存取。权限是一种数字密钥,是一个较大整数以防止被伪造。展开文件服务用来管理给予权限的存取控制。权限和存取控制涉及:•文件唯一标示符的结构、存取模式、允许字段的加密、文件表示北京邮电大学7.5文件系统的实现技术文件定位为了满足文件存取的请求,展开文件服务必须将UFID转化为文件服务器的位置和地址。•文件服务:文件系统提供给客户内容的详细说明。•文件服务器:是运行在某台机器上的一个有助于实现文件服务的进程。组定位文件访问北京邮电大学7.5文件系统的实现技术分布式文件系统的系统结构客户机和服务器:实际系统中客户机和服务器没有区别,任何机器都可以为其他机器提供文件服务。具体实现上客户和服务器往往是不同的。•文件和目录服务结构一样:既处理目录也处理文件•分开:可以提高系统的灵活性,但是如果有多个目录服务器,则要参与多次路径名查找,开销大•文件、目录、其他服务器是否要维持客户的状态信息。•服务器没有状态的,服务器在客户请求之间维持它们的状态信息。北京邮电大学7.5文件系统的实现技术高速缓存服务器的高速缓存•通过在服务器节点的本地存储器中保留最近使用的块副本可降低文件存储的开销。•避免对同一磁盘块的反复存取,提高了文件服务器的性能。客户机的高速缓存•在客户机上高速缓存文件最近存取的块、文件属性及文件条目•减少由于网络等待和服务器负载造成的延迟。北京邮电大学7.5文件系统的实现技术分布式系统中用于文件和目录命名的三种常见方法:(1)机器+路径(2)安装远程文件系统到本地文件分层结构(3)一个在所有机器上看上去都一样的单个名字空间北京邮电大学7.5文件系统的实现技术北京邮电大学7.5文件系统的实现技术任何大型分布式系统都需要用带有多个位置解析服务器的分布式解决方案,每个服务器负责所有名字集合的特定子集。用一个服务器位置映射表来查询,以确定系统中哪个服务器负责哪组名字集合的解析。北京邮电大学7.5文件系统的实现技术操作系统可以用各种方式来存储文件。非结构化文件:以连续的字节流来存放文件,在文件中没有内在的结构。结构化文件:以记录结构来表示数据。北京邮电大学对共享文件的修改对共享文件的修改:立即通知:对文件的每次修改,立即对拥有该文件拷贝的所有参与者可见。关闭时通知:对将文件进行修改的参与者关闭文件,即终止对文件的访问时,其他参与者才被通知已修改文件。事务完成时通知:在事务完成时,通知系统中的成员。文件共享语义Unix语义会话语义不可更改文件事务对共享文件的修改被测文件系统的特性大多数文件比较小(小于10K)对文件的读操作多于对文件的写操作对文件的读写是顺序进行的,随机访问非常少大多数文件寿命比较短文件共享非常少一般进程只是使用某几个文件用不同的属性区分文件类型北京邮电大学7.6文件系统的设计实例目录操作:创建目录删除目录重命名目录列出目录内容管理目录的访问权限改变目录的访问权限移动目录遍历目录结构北京邮电大学7.6文件系统的设计实例文件操作:创建文件删除文件重命名文件移动文件查找文件复制文件北京邮电大学7.7分布式文件系统的新技术内存文件系统文件服务器可以配置几十个GB的内存,这样文件系统可以永久储留在内存,而不需要磁盘。每个文件在内存中是连续存放的,而不是将它们打散成若干块,连续存储文件易于跟踪和网络传输。掉电丢失、UPS、NVRAM、不断备份Cache管理通过cache可以提高系统的性能,解决一致性北京邮电大学7.7分布式文件系统的新技术分布式文件系统的系统结构实际系统中客户和服务器没有区别,任何机器都可以为其他机器提供文件服务具体实现上客户和服务器往往是不同的。文件和目录服务结构一样:既处理目录也处理文件分开:可以提高系统的灵活性,但是如果有多个目录服务器,则要参与多次路径名查找,开销较大。北京邮电大学7.7分布式文件系统的新技术文件、目录、其他服务器是否要维持客户的状态信息。服务器没有状态的服务器在客户请求之间维持它们的状态信息。容错,请求消息短北京邮电大学