近因工作需要,所以要搭一个共享的服务器用于存储。实现你有我有大家有的共享的和谐局面。想到了NFS-Network File System。接下来我便说一说NFS以及有关它的搭建。
  什么是NFS
  搜索引擎哪家强,有事问度娘(好吧,我承认技术性问题我问的是谷歌,此处为了押韵,不用介怀),度娘是这么解释NFS的:
  NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS这个通过网络共享文件系统的服务在搭建的时候是很简单的,不过,它大的问题在于“权限”。因为在客户端与服务器端必须具有相同的账号才能够访问某些目录或文件。另外,NFS 的启动需要透过所谓的远程过程调用 (RPC),也是说,我们并不是只要启动 NFS 好了, 还需要启动 RPC 这个服务才行啊!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录好像是自己的一个磁盘分区槽一样 (partition)!使用上面相当的便利!

  如同上面的图示一般,当我们的 NFS 服务器设定好了分享出来的 /home/sharefile 这个目录后,其他的 NFS 客户端可以将这个目录挂载到自己系统上面的某个挂载点 (挂载点可以自定义),例如前面图示中的 NFS client 1 与 NFS client 2 挂载的目录不相同。我只要在 NFS client 1 系统中进入 /home/data/sharefile 内,可以看到 NFS 服务器系统内的 /home/sharefile 目录下的所有数据了 (当然,权限要足够啊!^_^)!这个 /home/data/sharefile 好像 NFS client 1 自己机器里面的一个 partition 喔!只要权限对了,那么你可以使用 cp, cd, mv, rm... 等等磁盘或档案相关的指令!真是方便之极啊!
  NFS的搭建之所需的软件
  RPC主程序:rpcbind
  我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实是『 rpcbind 』这个服务所负责的!也是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行!
  NFS主程序:nfs-utils
  是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个是 NFS 服务所需要的主要软件啦!一定要有喔!
  因为我用的是CentOS6.5,所以上述两个软件都有,没有的请自行安装,如果不知道有木有,用下述指令查看是否有此软件:
  1  rpm -qa | grep nfs  #查询是否存在nfs
  2  rpm -qa | grep rpcbind  #查询是否存在rpcbind
  NFS搭建
  接下来是搭建了,重要也是简单的部分,因为只需编辑好配置文件 /etc/exports 之后,先启动 rpcbind (若已经启动了,不要重新启动),然后再启动 nfs ,你的 NFS 成功了! 不过这样的设定能否对客户端生效?那得要考虑你权限方面的设定能力了。废话少说,我们直接来看看那个 /etc/exports 应该如何设定吧!某些 distributions 并不会主动提供 /etc/exports 档案,所以请你自行手动建立它吧。有以下三种表达方式:
  method 1:
  1 [root@www ~]# vim /etc/exports
  2 /tmp         192.168.100.0/24(ro)
  3 [分享目录]   [主机(权限)]
  method 2:
  1 [root@www ~]# vim /etc/exports
  2 /tmp            localhost(rw)
  3 [分享目录]   [主机名(权限)]
  method 3:
  1 [root@www ~]# vim /etc/exports
  2 /tmp        *(ro,sync)
  3 [分享目录]   [通配符表示主机(权限)]