服务器 频道

Liunx架站之架设NFS服务器1:NFS由来与功能

  【IT168 服务器学院】简易 NFS 服务器机设定

  学习本章的必备技巧:

  欢迎再次来到鸟哥的『碎碎念时间』!在这个章节中,我们需要使用 vi 来修改设定档,并且使用激活的 scripts 来激活我们的服务,除此之外,亦使用简单的 rpm 指令来安装数据。所以,要了解这个章节,你最起码需要知道底下这些知识:

· 认识 vi

· 认识 BASH Shell

· 认识服务

· 常用的网络指令

· 认识网络安全

· 简易防火墙架设

  无论如何,将前面关于 Linux 基础与 网络基础 的内容看完,会是很好的一件事情!

NFS 的由来与其功能

· 什么是 NFS ( Network FileSystem )

  我们要先来了解一下,什么是 NFS 呢?不然讲了一堆也没有用,对吧! ^_^!所谓的 NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 这家公司所发展出来的。他最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 ( share file ),所以,你也可以简单的将他看做是一个 file server 呢!这个 NFS Server 可以让你的 PC 来将网络远程的 NFS 主机分享的目录,挂载到本地端的机器当中,所以,在本地端的机器看起来,那个远程主机的目录就好象是自己的 partition 一般!使用上面相当的便利!

 



  就如同上面的图标一般,当我们的 NFS Server 设定好了之后,其它的 Client 端就可以直接在 Server 上面存取资料了!也就是说,其它的 Personal Computer 可以『挂载 NFS server 所提供的档案或目录』,而且挂载之后,这个目录看起来就像你的本地端的磁盘区块一般,只要权限对了,那么你可以使用 cp, cd, mv, rm... 等等磁盘或档案相关的指令!真是他X的方便吶!

  那么您或许会问啦:『咦!那么这个 NFS 是藉由什么样的协议来进行传输的呢?』虽然 NFS 有属于自己的协议与使用的 port number ,但是在资料传送或者其它相关讯息传递的时候, NFS 使用的则是一个称为远程过程调用( Remote Procedure Call, RPC )的协议来协助 NFS 本身的运作!

· 什么是 RPC ( Remote Procedure Call )

  那么什么是 RPC 呢?由字面上的意思来看『远程过程调用』不就是一些程序( Program )在执行远程联机时,需要用到的程序吗?呵呵!是这样没错啦!简单的来说,当我们在使用某些服务来进行远程联机的时候,有些信息,例如主机的 IP、服务的 port number、与对应到的服务之 PID 等等,都需要管理与对应!这些管理 port 的对应与服务相关性的工作,就是这个 Remote Procedure Call, RPC 的任务了!

  好了,如果我们将 NFS 与 RPC 两者的相关性连接起来的话,那么你应该就可以知道: NFS 本身的服务并没有提供资料传递的协议,但是 NFS 却能让我们进行档案的分享,这其中的原因,就是 NFS 使用到一些其它相关的传输协议!而这些传输的协议,就是使用到这个所谓的 RPC 的功能啰!这也就是说, NFS 本身就是使用 RPC 的一个 program 就是了!说的更白话一点, NFS 也可以视作是一个 RPC server 啦!同时要注意到的是,在某些状况中,不但跑 NFS 的 Server 需要激活 RPC 的服务,连带的,要挂载 NFS partition 的 Client 机器,也需要同步激活 RPC 才行!这样 Server 端与 Client 端才能藉由 RPC 的协议来进行 program port 的对应喔!

  OK!简单的说, NFS 也可以看做是 RPC server 的一种,因为他是使用这种协议的 program 呀! ^_^ !那么为什么 NFS 要使用 RPC 执行呢?这是因为 NFS 本身可以被看做是一个档案系统,那么一来的话,你的使用者联机常常变化,而且你的档案内容啦、分享的目录啦,还有其它档案相关的信息等等,也都会常常在变化,这个时候,使用类似这种可以对应 program number 与 port number 的 RPC 就相当的方便了!也就是说,NFS 主要在管理分享出来的目录,而至于资料的传递,就直接将他丢给 RPC 的协议来运作就是了!
更多关于 NFS 协议的信息您可以参考底下的网页:

o http://www.faqs.org/rfcs/rfc1094.html

o http://www.tldp.org/HOWTO/NFS-HOWTO/index.html

· NFS 激活的 RPC daemons

  NFS server 总共需要启用到至少两个 daemons ,一个管理 Client 是否可以登入的问题,另一个管理登入主机后的 Client 能够使用的档案权限!说明如下:

o rpc.nfsd:这个 daemon 主要的功能就是在管理 Client 是否能够登入主机的权限啦,其中还包含这个登入者的 ID 的判别喔!

o rpc.mountd:这个 daemon 主要的功能,则是在管理 NFS 的档案系统哩!当 Client 端顺利的通过 rpc.nfsd 而登入主机之后,在他可以使用 NFS server 提供的档案之前,还会经过档案使用权限 ( 就是那个 -rwxrwxrwx 与 owner, group 那几个权限啦 ) 的认证程序!他会去读 NFS 的设定档 /etc/exports 来比对 Client 的权限,当通过这一关之后, Client 就可以取得使用 NFS 档案的权限啦!(注:这个也是我们用来管理 NFS 分享之目录的使用权限与安全设定的地方哩!)

0
相关文章