G、 计算机与通信 ●网络● C&C
网络文件 系统 (NFS)的工作原理和应用技术
计算机网络的软件环境包括网络协议和阿络操
作系统两个方面:网络梆议用于实现各种操作系统
的网络连接和数据通信;而网络操作系统是嗣络梆
议中的网络服务系统,是网络的核心
工业标准的网络文件系统 NFS由于具有网络
操作系统文件服务器的功能,且使用维护均比较方
便,从而也被广泛地应用在各系统 中。本文从 NFS
工作原理和应用技术两方面深入讨论 NFS一
一
、 网络文件系统 NFS的工作原理
NFS包括 NFS服务器和 NFS客户两部分,采用
星型拓扑结构连接。NFS服务器是中心,NFS客户是
端点 ,见图 1。
lNFS客户2}
围 1 NFS的拓扑 结扮
_1 FS客户 n
· NFS服务器 :提供共享本地硬盘上的任何文
件系统或 目录等文件信息的计算机。
· NFS客户:能够安装远地文件系统和 目录,并
且从其他计算机上获取文件信息的计算机。
NFS服务器与 NFS客户之问并无严格的界定,
多任务的操作系统可同时作为客户和服务器,读取
阿络上其他正在访问 自己硬盘的计算机上的文件。
为了NFS的开发应用专门引入了远程过程调用
RPC(Remote Procedure Cal1)的概念,RPC过程调用可
以作为对话层和报文交换器用于所有的 NFS的应
用程序。RPC由一系列过程组成 ,这些过程可以视为
处理任何所需网络访问的高层应用程序,即可以透
明地访问远地文件系统。
RPC通过网络作用于客户和服务器之 间 ,具 体
工作过程是:首先客户向服务器发出请求报文 ,服务
·6 ·
器接收到报文后,从中提取出请求,然后执行请求的
过程 ,并且将结果汇编成响应报文:客户将接收到
的报文响应后,对报文进行反汇编,继续执行应用程
序的正常过程。这个过程的每一步都由 RPC程序库
(与应用程序相连)的例程控制。见图 2。
客户
执行过程 f
RPC请求
服务器
一 处理 RP(
过程暂停 l 执行过程
_r
处理应答 RP(应答
过 程继续
图 2 RPC工作过程
二、网络文件系统 NFS的配置
由于 NFS是由 NFS客户和 NFS服务器组成 的,
所以NFS的配置就需分成 NFS服务器的配置和 NFS
客户的配置。(本文中 NFS服务器皆为 UNIX系统)
1.NFS服务器的配置和管理
计算机系统作为 NFS服务器时,其具体配置步
骤如下 :
①安装 NFS软件产品。在 UNIX 系统的提示符
下,键入 #custom,安装新产品,按照提示依次插入
装有 NFS For UNIX 的磁盘,最后输入产品的序列号
和激活码 。
② 配置/ere/exports如果 UNIX 系统中已经有/
elc/expor~,那么就可引导启动 NFS服务器的守护进
程 ,并调出列在/el~/exports一系列安装 NFS时所希
维普资讯
计算机与通信 ● 网络 ● C&C
望使用的文件系统和目录:如果 UNIX系统中没有/
etc/exports,必须人工建立文本文件/etc/exports,并且
根据需要改变此文件的存取权限。
/etc/exports的样本:
# sample/etc/exports for wpi com
#使目录/usr/acconl输出、装配到任一个系统
/usT/accou1
#使目录/usr/accou2调出,装配到所列出的
system1和 syetem2中
/usr/accou2 systeml;s)~tem2
通常可使用样本中的一种格式,但为了使/etc/
exports指定的目录下的文件系统起作用 ,必须使用
exportfs这个命令 ,即 #export~一a,使/etc/exports中的
文件系统成为可调用
③配置/etc/hosts。/etc/hosts通常包括每个客户
机和服务器的网络地址 、全限主机名字、别名,对于
UNIX 系统 ,文件/etc/hosts用于处理网络地址和名
字的映射。
/etc/hosts的样本:
# sample/ete/hosts of network
127.0.0.1 localhost local tpoi.Set%rer
157.40.40 1 tpci.scol
157.40.40 1 tpci seo2
157 40.40 1 tpci.sco3
157.40.40 0 tpci—sener tpci—main tpci
47 8O.157 36 bnr.ca BNR bnr
191.13 123.4 kit~,cat
21O.24.47 128 bobs.nmchine
作为 NFS服务器的计算机经过上述配置后,已
经能够运行,但维护工作更显得重要。
命令即可显示 NFS服务器的统计信息。
⑤关机时提前通知 NFS客户机上的用户。要在
关闭 NFS服务器之前 ,使用~,all命令向 NFS客户机
发送通告捎息,以便它们拆卸相关的文件系统。
2.NFS客户的配置和管理
如果客户机为 UNIX系统 ,其配置工作包括两
项:一是修改/etc/defanlt/filesyS.目的是在引导时从
硬盘驱动器上自动地安装 NFS文件系统,同时还用
于从远地系统自动地安装文件系统或 目录:二是配
置/etc/hosts文件 ,具体配置与 NFS服务器的配置类
似 ,这里不再赘述。下面重点介绍一下 NFSForDos
{Windows)的配 置 :
NFSForDos的安 装 采 用 人机 交互 界 面进 行 配
置 根据屏幕对话,输入相应必要的网卡类型 、网络
协 议 、时区设置 、NFS服务 器名 、NFS服务器的 IP地
址、主机名、网络掩码等项目,其余项 目可选取系统
默认的缺省值,最重要的一项是输入欲安装且共享
的 UNIX系统的文件目录.退出配置安装界面后系
统 自动地更 新 了 Autoexe{,.bat、Config s、hosts和
Network.bat等文件 。
若客户机为 UNIX 系统 ,其维护管理工作包括 :
① 维护/ere/default/filesvs:
②掌握如何启动和停止 NFS客户机守护进程:
③确定服务器输出的是什么文件系统:
④如何安装和拆卸文件系统 :
⑤确定每个客户机有多少个守护进程在运行:
若客户机为 DOS系统 ,其维护和管理工作包
括 :
①维护 autoexec bat和 config.sys;
②更新 NFS目录下 hosts和 Networks bat文件。
服务器时 ,其维护和管理 三
、 网络文件 系统 NFs的常用命令 工作应包括以下几方面 : 一 ⋯ ⋯ 一 ⋯ ⋯ ⋯ ⋯ ⋯
①维护/ere/exports。为了反映用户需求的变化 ,
需要不断地更新/etc/export~文件。当用户的需求改
变时,必须使用 exportfs命令,以便使所做的改变发
挥作用。
② 掌握如何启 动和停 止 NFS服务器守护 进
程 。NFS守护进程是在 I导过程 中由引导样本 /etc/
nfs和与其有连接的/etc/re2.d/S89nfs自动启动的
其中/etC/nfs在启动过程中查找/etc/exports的存在 ,
进而启动 NFS服务器守护进程
③确定有多少个 NFS服务器守护进程在运行 。
通过#Ds--el l grepnfsd命令查明 nfsd运行情况。
④监视 NFS服务器的统计信息。通过 # s -8
每一套应用系统都具有自己的命令集,NFS系
统也一样,根据笔者的经验.有一一些常用的重要命令
必须掌握,对于维护 NFS文件系统是十分必要的。
1.nfsslat
nfsstat命令可提供关于 RPC请求号和请求类型
的统计信息,它无需选项调用,虽然有些版本可以显
示特殊统计结果或只显示某些部分连接样本。nfsstat
对典型小型网络的输出如下所示:
# nfsslm
Servert'pc:
calls badcalls nullreev badlen xdrcall
4 0 0 0 0
维普资讯
计算机与通信 ● 网络 ● C&C
Ser~,er n :
ealIs badc ls
0 O
null get,h- setattr root lookup readlinlc read
0 O% 0 0% 0 O% 0 0% 0 0% 0 O% 0 0%
~rreaehe write create ㈣ ve name 】ink syndink
O O% 0 O% 0 0% 0 O% 0 0% 0 0% 0 0%
mlcdir mldir readdir 8诅【
0 0% 0 0% 0 0% 0 0%
Client :
calls badcalls retrans ba id tir~ ut wait newered
0 0 0 0 0 0 0
peekeers bM resps
0 O
Client nfs
calls badealls nelget nclsleep
0 0 0 0
null getattr setattr root I~ lcup reodlink
0 O% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
~ aehe write create e ㈣ rⅡe link s~ link
0 O% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
mk~tir m~lir re~ddir f~stat
0 0% 0 O% 0 0% 00%
M 的输出适用于处理诊断网络连接问题。
NFS服务器 一方 :
badcalls表明系统执行了不正常 RPC报文数;
nullreev和 badlen表示空报文或未完成报文的
数 目:
xdreo11表示系统在理解报文中出错的数 目:
,mite表示写活动在 Nlr8全部活动中的百分数、
如果此值大于 20%,表示潜在的 Nlr8服务器瓶颈 ,
要缓解这个服务器瓶颈,就要去掉一些客户机 ,或把
一 些应用移到另一个服务器上 。
NFS客户一方 :
b~xid表示接收或发送请求不匹配的报文数目
(基 于识别数 目):
timeout和reUmns表示报文必须重新发送数目:
wait表示进程因缺少可用端 口而必须延迟次
数 :
传输差错百分比=retrmls/ealls x 100%。
如果传输差错百分比大于 5%,表示 lrCP/lP传
输级错误
2.rpcinr0
rpcinfo程序通过网络和暇务器上的端 口影像
区,监测它在其上运行的计算机端 口影像区。因为
端 口影像区是控制访问 P,PC的程序、所以这种类型
的信息对跟踪问题是很重要的。rpeinfo程序能够显
示影像表 内容,并表明每个连接的端口和程序号,而
且能够激活运程服务器以监测连接。
在特殊情况下,rpcinfo可在 P选项下调用,用
以显示 目前正被端 口影像 区跟踪 的 RPC程序列
表。rpeinfo程序典型输出如下:
# rpe[tffo-p
pr~ mnl proto port
100001) 2 【 p l 1 1 porlnmpper
1000~ 2 udp ll1 porlmapper
10001)8 1 udp 1026 w ld
150(30l l udp 1027 penfsd
150(1O1 2 udp !.027 pc d
100002 1 udp 1028 rusersd
100002 2 udp 1028 rusersd
10001)5 1 udp 1029 mountd
100005 1 tep 1024 mountd
10001)3 2 udp 2049 nfs
10(3024 l udp 1030 5Iatus
10(3024 1 tep 1025 status
100020 l udp 1035 lloclcmgr
100020 1 tep 1026 I】ock
1001)21 2 tep 1027 nloc~mgr
10t)O21 1 tep 1028 nlockm~r
10(302l l udp 1039 nloc~mgr
10(3021 3 【 p 1029 nlock】“
10(3021 3 udp 1040 nlc~kmgr
当端 口影像区出现 问题时 ,返西一个错误报
文。在这种情况下,端 口影像区不能正常发挥作用,
并且可能同其他计算机失去联系,可用 ping检查确
认这一点。这种致命错误报文的一个实例如下所
示 :
S rpcinfo-p
rpcinfo:~alrl’t eontltet port mapper:
ltFC:Remote~'stem eHor-125
3.sbowmouut
shom~unt程序表示确定服务器输 出什么文件
系统 ,其命令格式是 :
$ sho~rnount【一a]【一d】【一e]8~-iWelr-rlBllfle
其中不带选项的 ~howlllount,输出客户机从服
务器安装的文件系统:带 一a选项的 shoⅧ unt,输出
客户机及其安装的文件系统或 目录:带 _d选项的
eho— oum,输出客户机已安装 目录 ;带 -e选项 的
showlIiolmt,输出所调用的文件系统及其装到那个系
统去 。
维普资讯