NFS
上一篇 /
下一篇 2012-06-24 21:39:40
/ 个人分类:Linux
NFS
SUN这家公司发展出来的。最大的功能是可以透过网络,让不同的机器,
不同的操作系统、可以彼此分享个别的档案(share files)。所以,可以简单的将他看做是一个文件服务器。这个NFS服务器可以让你的PC来将网络远程NFS服务器分享的目录,挂载到本地端的机器中,在本地端的机器看来,那个远程主机的目录就像主机的一个磁盘分区一样!
我们只要在NFS client1系统中进入/home/data/sharefile内,
就可以看到NFS服务器系统内的/home/sharefile/目录下的所有数据了(当然权限要足够,就可以像使用主机及其里面的一个partion一样,cp,cd,mv,rm..)
NFS服务的端口是2049,但由于文件系统非常复杂,因此NSF还有其他的程序去启动额外的端口。
客户端怎么知道服务器端使用的哪个端口呢?
远程调用rpc的协议来辅助。
什么是RPC
因为NFS支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应端口才没有固定住,而是随机取一些未被使用的小于1024的端口来作为传输使用。。但是客户端要知道服务器端的相关端口才能够联机。
RPC最主要的功能就是指定每个NFS功能所对应的port number,并回报给客户端,让客户端可以连接到正确的端口上去。
RPC如何知道每个NFS的端口呢?
服务器在启动NFS时会随机取用数个端口,并主动想rpc注册。
RPC如何汇报给客户端呢?
Rpc又是固定使用port111来监听客户点的需求并回报客户端正确的端口。
总结:启动NSF前,rpc要先启动了,否则NFS无法向RPC注册。另外,RPC重新启动时,原本注册的数据会丢失,因此,它管理的所有服务都需要重新启动来向RPC注册。
我们称NFS为RPC server的一种。NIS(Network
information service)也是一种。
Network FileSystem (NFS)可以让主机之间透过网络分享彼此的档案与目录;
NFS主要是透过RPC来进行file share的目的,所以Server与Client的RPC一定要启动才行! NFS的配置文件就是/etc/exports这个档案;
NFS的权限可以观察/var/lib/nfs/etab,至于的重要登录档可以参考/var/lib/nfs/xtab这个档案,还包含相当多有用的信息在其中!
NFS服务器与客户端的使用者账号名称、UID最好要一致,可以避免权限错乱:
NFS服务器预设对客户端的root进行权限压缩,通常压缩其成为nfsnobody或nobody。
NFS服务器在更动/etc/exports这个档案之后,可以透过exportfs这个指令来重新挂载分享的目录!
可以使用rpcinfo来观察RPC program之间的关系!!!
NFS服务器在设定之初,就必须要考虑到client端登入的权限问题,很多时候无法写入或者无法进行分享,主要是Linux实体档案的权限设定问题所致!
NFS客户端可以透过使用showmount, mount与umount来使用NFS主机提供的分享的目录!
NFS亦可以使用挂载参数,如bg, soft, rsize, wsize,
nosuid, noexec, nodev等参数, 来达到保护自己文件系统的目标!
自动挂载的autofs服务可以在客户端需要NFS服务器提供的资源时才挂载。
收藏
举报
TAG: