TCP_IP技术大全029.doc

上传人:bao****ty 文档编号:144607104 上传时间:2020-09-11 格式:DOC 页数:14 大小:4.61MB
返回 下载 相关 举报
TCP_IP技术大全029.doc_第1页
第1页 / 共14页
TCP_IP技术大全029.doc_第2页
第2页 / 共14页
TCP_IP技术大全029.doc_第3页
第3页 / 共14页
TCP_IP技术大全029.doc_第4页
第4页 / 共14页
TCP_IP技术大全029.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《TCP_IP技术大全029.doc》由会员分享,可在线阅读,更多相关《TCP_IP技术大全029.doc(14页珍藏版)》请在金锄头文库上搜索。

1、下载第29章 使用网络文件系统(NFS)作者:Neal S. Jamison本章内容包括: 什么是NFS 实现NFS工作过程 NFS使用的文件及命令 示例:共享及登录 NFS文件系统 与NFS常见问题及解决方案 相关协议及产品TCP/IP提供相应的协议及服务,允许多个计算机共享数据。这一特性被广泛用于互联网应用中,在众多此类应用中,最常见的 TCP/IP应用是网络文件系统,简称 NFS。29.1 什么是NFSNFS是分布式文件系统,它允许计算机通过 TCP/IP网络共享资源。在 NFS中,NFS客户端应用可透明地读 /写位于 NFS服务器上的文件。在 NFS出现之前,计算机间共享数据的惟一途径

2、是复制数据或集中使用数据。这种方式存在明显的缺陷复制数据浪费存储空间而且存在实时一致性问题,集中使用数据意味着大型机及多个终端,而且只存在于单一网络中。随着NFS的诞生,用户可以共享数据且与平台无关,所有上述问题迎刃而解。注意在本书中,文件系统指以目录结构有组织存放的一组文件的集合。例如,Unix系统中的/usr就是一个文件系统。NFS服务器共享资源,使它们可被网上的客户使用。如下所述,NFS既可以使用于 LAN,也可以使用于 WAN,并且 NFS与操作系统及硬件无关,它允许各种计算机共享资源。NFS实际上由两个协议组成:Mount和NFS。29.1.1 NFS的历史NFS由Sun(升阳)公司

3、于 1984年提出。它首先实现于其 4.2BSD上(通常称之为 SunOS)。由于它受到广泛的关注并且应用需求很广,因此NFS迅速在其他各种平台上实现。至 1986年止,NFS可在16种不同的硬件平台上的五种操作系统间共享资源。目前, NFS可应用于多种硬件平台及操作系统平台,并且增加了基于 Web的功能。29.1.2 为何使用NFSNFS的目标是使计算机共享资源。在它的发展过程中(即80年代),计算机工业飞速发展。廉价CPU及客户 /服务器技术促进了分布式计算环境的发展。然而,当处理器价格下降时,大容量的存储系统相对而言价格仍高居不下。因此,必须采用某种机制在充分发挥单个处理器324使用第七

4、部分 使用TCP/IP应用性能的同时使计算机可共享存储资源和数据, NFS应运而生。29.2 实现NFS工作过程下载NFS使用TCP/IP提供的协议和服务,它运行于 OSI模型的应用层,如表 29-1所示。表29-1 OSI层次模型上的 NFS层数1234567名称应用层表示层会话层传输层网络层数据链路层物理层功能NFSXDRRPCUDP, TCPIPEthernet出于性能上的原因, NFS起初采用性能较好的 UDP,而并未采用可靠性较高的 TCP。虽然UDP在可靠性较好的局域网中工作良好,但在可靠性较差的广域网如Internet上运行时, UDP则不能胜任。当前,随着 TCP的改进,运行于

5、 TCP上的 NFS不但可靠性高而且性能良好。从Solaris 2.6开始,Sun公司使用基于TCP的NFS。注意要了解关于TCP和UDP的详细信息,参见第9章。29.2.1 远程过程调用(RPC)和外部数据表示(XDR)为了实现平台无关性,NFS基于OSI 底层实现。基于会话层的远程过程调用(RemoteProcedure Call,RPC)和基于表示层的外部数据表示 (External Data Representation ,XDR)为NFS提供所需的网络连接及解释基于这些连接发送的数据格式。简单的说,它们使NFS可正常工作于不同平台。本章针对此作详细讲解。1. 理解RPCRPC运行于

6、OSI模型的会话层,它提供一组过程,使远程计算机系统可像调用本地过程一样调用这些过程。使用 RPC,本地计算机或应用程序可调用位于远程计算机上的服务。RPC提供一组过程库,高层应用可以调用这些库而无需了解远程系统的底层细节。因为RPC的抽象使得NFS与平台无关。2. 理解XDR外部数据表示库负责在不同的计算机系统间转换RPC数据, XDR设计了一种标准的数据表示,使得所有计算机均可理解。总而言之, RPC和XDR是NFS实现客户 /服务器关系的基石。29.2.2 加载类型如前章所述, NFS的无状态特性允许客户端和客户应用程序从服务器不可用中恢复。加载的类型决定当服务器崩溃时客户及客户应用的响

7、应方式。加载类型将在本章29.5节中讨论。1. 硬加载当NFS服务器或资源不可用时,硬加载资源将导致不断尝试RFC调用。一旦服务器响应,下载第29章 使用网络文件系统 (NFS)使用325RPC调用成功且进入下一个执行过程。如果服务器或网络问题持续,硬加载将引起持续等待状态,使NFS客户端应用挂起。用户可以指定属性使硬加载可中断。2. 软加载使用软加载资源时, RPC调用失败将导致 NFS客户应用同时失败,最终使数据不可用。此种方法不可用于可写的文件系统或读取关键数据及可执行程序。注意下一节与UNIX的帮助文档类似。要获取更详细的信息,参见相关文件及程序的帮助文档。29.3 NFS使用的文件及

8、命令本节主要讲述 NFS使用的守护进程、程序和文件。因为 NFS与UNIX系统紧密相连,本节将以两个常见的 UNIX操作系统(San Solaris 2.0和Linux)为例介绍共享和使用 NFS资源。至于基于其他系统的实现方法,包括基于 PC的客户端将在本章 29.6节中讨论。守护进程工作过程在UNIX中,守护进程是在后台运行的程序,它等待某些事件的发生。在英文中,守护进程又称为精灵,即介于人与神之间的一种存在。在 UNIX中,它位于两个进程之间。例如,打印守护进程等待打印作业进入打印队列。在本章中, NFS守护进程等待客户请求文件系统。29.3.1 NFS守护进程NFS正常工作需要多个服务

9、器守护进程协同工作。下面将以Solaris和Linux操作系统分别介绍NFS守护进程。1. Solaris 2.x下列Solaris守护进程分别用于监听、处理及维护 NFS请求。Solaris服务器守护进程由脚本/etc/init.d/nfs.server启动。(1) nsfdnsfd服务器守护进程用于监听 NFS客户请求。用法: /usr/lib/nfs/nfsd -a -c #_conn -l listen_backlog -p protocol -t devicenservers属性:-a运行NFS守护进程,可处理所有可用的面向连接和无连接请求,包括 UDP和TCP。-c # _conn

10、设置NFS服务器可处理的面向连接请求的最大连接数。缺省设置为无穷大。-p设置基于面向连接传输的 NFS TCP连接队列的长度。缺省值为 32。-p protocol启动基于指定协议的 NFS守护进程。-t device在指定设备上启动 NFS守护进程。Nservers指定可同时处理的最大请求数。相关文件: /etc/init.d/nfs.server;shell脚本也可启动nfsd。(2) mountdmountd响应NFS访问请求及文件系统加载请求。它通过读取 /etc/dfs/sharetab确定文件系统的可用性。 mountd为服务器守护进程。326使用第七部分 使用TCP/IP应用用法

11、:/usr/lib/nfs/mountd -v -r属性:-v冗余模式,在控制台显示信息。-r拒绝客户请求。相关文件: /etc/dfs/sharetab(参见29.3.2节)。(3) statd下载statd为客户方守护进程,它与 lockd协同工作,提供文件加锁服务的崩溃与恢复。用法:/usr/lib/nfs/statd相关文件: lockd。(4) lockdlockd是客户方守护进程,它是 NFS锁管理器的一部分,用于对 NFS文件加锁。用法:/usr/lib/nfs/lockd -g graceperiod -t timeout nthreads属性:-g graceperiod服务

12、器重启后,客户端回收锁的时间间隔,单位为秒 (缺省值为45)。-t timeout客户重新请求锁的时间间隔,单位为秒 (缺省值为15)。nthreads响应锁请求的线程数 (缺省值为20)。相关文件: statd。2. Linux下列Linux守护进程分别用于监听、处理和维护 NFS请求。它们的作用及语法与 Solaris中的守护进程类似。(1) rpc.nfsdrpc.nfsd守护进程用于处理 NFS请求,它是服务器守护进程。用法:属性:-f exports-file指定输出文件,缺省输出文件为 /etc/exports。-h或-help提供帮助信息。-l或-log-transfers记录所

13、有文件的传输信息。-n或-allow-non.root允许守护进程接收进入的 NFS请求,即使这些请求不是由允许的IP产生。-P portnum 或 -port portnum 让 n f s d监听指定的端口,替代缺省端口2 0 4 9 或文件/etc/services中指定的端口。-p或-promiscuous使服务器可被网络中任何主机使用。-v或-version显示程序的当前版本。numservers允许用户同时运行多个 nsfd实例。下载相关文件: exports, mountd(2) rpc.mountd第29章 使用网络文件系统(NFS)使用327rpc.mountd接收加载请求并

14、检测 /etc/exports文件中NFS文件系统的可用性。如果请求资源可以使用, rpc.mountd 创建文件处理进程并在 /etc/rmtab中添加相应项。接收 umount 请求后,从/etc/rmtab文件中删除相应的项。用法:属性:查询上一个命令, rpc.nfsd,可知rcp.mountd命令属性的含义。相关文件: /etc/exports, /etc/rmtab(3) rpc.statd参见solaris中的statd。(4) rpc.lockd参见solaris中的lockd。(5) biodbiod在NFS客户端启动指定数目的异步块 I/O守护进程。这些进程用于在 NFS文件系统上执行提前读和推后写操作,以提高 NFS的性能。用法:/usr/etc/biod numdaemons29.3.2 与NFS相关的文件在共享或加载NFS文件系统前,必须首先修改服务器和客户方文件。1. solaris 2.x文件Solaris中的下列文件定义和跟踪 NFS资源。(1) /etc/dfs/dfstabdfstab文件中包含一组控制 NFS文件系统输出的共享

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号