为什么要用NFS
  NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
   NFS最早是由Sun公司发展出来的,
  简单的来说:它就是是可以透过网络,让不同的主机、不同的操作系统可以共享存储。
以下是NFS最显而易见的好处:
  1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
  2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
  3. 一些存储设备CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
  NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
  NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

一、准备阶段:(客户端和服务端)

nfs服务端:192.168.0.200 Centos6.5 64位操作系统

nfs客户端:192.168.0.201 Centos6.5 64位操作系统

二、NFS服务端所需的软件列表

nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)
rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)

三、检查软件是否安装

客户端和服务端都要检查

#rpm -qa nfs-utils rpcbind
Linux6/Centos6 NFS详细配置
如果没有安装在系统中通过yum 命令进行安装以上两个包

#yum install -y nfs-utils rpcbind

四、启动NFS服务端相关服务

服务端操作:

#service rpcbind status 查看状态

#service rpcbind start 启动

#service rpcbind stop 停止

#service rpcbind restart 重启
Linux6/Centos6 NFS详细配置
#chkconfig rpcbind off //开机不启动rpcbind,开机启动rpcbind写到/etc/rc.local,因为rpcbind和nfs有启动顺序,如果教给系统默认规则开机自启动,偶尔会启动顺序出错,导致服务无法正常使用
Linux6/Centos6 NFS详细配置_第1张图片
启动NFS服务

#service nfs start 启动

#service nfs status 查看状态

#service nfs stop 停止

#service nfs restat 重启
Linux6/Centos6 NFS详细配置_第2张图片
#netstat -antp | grep 2049 nfs默认端口号2049
Linux6/Centos6 NFS详细配置_第3张图片
#chkconfig nfs off //开机不启动nfs,开机启动rpcbind写到/etc/rc.local
Linux6/Centos6 NFS详细配置_第4张图片
五、配置NFS服务端

前面介绍了NFS的启动,接下来我们配置NFS服务端的配置
/etc/exports 是NFS程序的配置文件。并且默认为空
/etc/exports文件的配置格式为:
NFS共享目录 NFS客户端地址1(参数1,参数2,参数3......) 客户端地址2(参数1,参数2,参数3......)

NFS共享目录 NFS客户端地址(参数1,参数2,参数3......)
Linux6/Centos6 NFS详细配置
我们在此共享给 192.168.0.0/24所有主机

配置完成exports后重启NFS服务

#service nfs restart

#showmount -e 127.0.0.1 #查看本机挂载情况
Linux6/Centos6 NFS详细配置
#mount -t nfs 192.168.0.200:/cxj /mnt #在本机测试挂载
Linux6/Centos6 NFS详细配置_第5张图片
六、配置NFS客户端

在客户端上0.201上执行

客户端也需要安装rpcbind和nfs-utils软件,只需要启动rpcbind即可。
然后再进行如下操作
#showmount -e 192.168.0.200

Linux6/Centos6 NFS详细配置_第6张图片
#mount -t nfs 192.168.0.200:/cxj /mnt
Linux6/Centos6 NFS详细配置_第7张图片
自此,我们配置成功,但是别高兴。我们只是挂载动作完成了,但是我们没有权限对挂载的目录进行各种操作。

在nfs服务端配置:

#grep 65534 /etc/passwd
Linux6/Centos6 NFS详细配置
Linux6/Centos6 NFS详细配置_第8张图片
现在我们可以对挂载目录进行各种操作,但是还没有完。我们需要把挂载命令放在rc.local里面,
我们不要把挂载命令放在fstab,因为fstab比网络先启动,会出现挂载不上网络NFS
如果对此文有什么问题的话,请加下面微信一起探讨
Linux6/Centos6 NFS详细配置_第9张图片