一.首先,简单介绍一下linux中nfs:
1.nfs:Network file System(网络文件系统)
2.作用:实现俩个linux系统中目录的共享。
3.nfs本身是一种文件系统,没有文件传输功能,基于RPC协议,才实现文件目录的共享。
4.是一种C/S架构
注:RPC协议:(Remote Procedure Call Protocol)远程过程调用协议。
二.检测系统中是否下载安装了这俩个包:portmap nfs-utils
终端输入:rpm -qa | grep ‘portmap/|nfs-utils’
如果没有则安装上述俩个包
终端输入:yum -y install portmap nfs-utils
对了,这里提醒一点,有时候可能会出现上述俩个包的使用版本过时的问题,然后在安装nfs的时候出现依赖不成功等问题,可以直接选择将这俩个包删除:
终端输入:sudo remove portmap nfs-utils
注意:这边介绍一下这俩个包:
portmap套件:
NFS 其实可以被视为一个 RPC server program,而要激活任何一个 RPC server program 之前,我们都需要做好 port 的对应 (mapping)的工作才行,这个工作其实就是portmap这个服务所负责的!也就是说,在激活任何一个 RPC server 之前,需要激活 portmap ,那么 portmap 就是作 port 的 mapping。
nfs-utils套件:
该套件提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其它相关 documents 与说明文件、执行档等的套件!所以它是 NFS 的主要套件。
三.nfs服务器的配置:
好了下面进入主题:
1.先进行下载:sudo apt-get install nfs-kernel-server
2.对服务器进行配置:sudo vim /etc/exports。然后再文档的最后一行添加:
这里我举一个例子进行格式和参数的讲解:
/root/home/nfsShare *(rw,sync,no_subtree_check):
前面路径为共享目录的路径,*号表示所有计算机均可挂载。后面括号内具体参数见下图:
3.重启服务器:
sudo service nfs-kernel-server restart
当终端出现依次4个OK则说明安装成功。接下来转移到开发板上面进行配置操作了。对了这里还必须对服务器(虚拟机)IP进行配置。这个参考:
4.对开发板进行IP的配置:
开发板终端输入:ifconfig eth0 XXX.XXX.XXX.XXX(分配给开发板的IP地址)
5.检测开发板与服务器(虚拟机)是否可以通信:
开发板终端输入:ping XXX.XXX.XXX.XXX(服务器(虚拟机)IP)
6.接下来进行挂载:(注意记得在开发板中创建一个用于共享的目录,记得将权限改为其他可写可读可执行)
挂载命令:mount -o -nolock XXX.XXX.XXX.XXX(服务器IP):/(服务器上面绝对路径) /(刚刚创建的开发板用于共享的目录)
7.这边挂载成功后不会有任何提示,将直接跳转到终端命令。
8.接下来在开发板上进入刚刚挂载的共享目录,可以看到里面的文件跟服务器(虚拟机)里面的共享目录一样。
9.去除挂载的目录:
umount /(开发板的共享目录)
四.与nfs有关的命令:
1.nfsstat: 查看NFS的运行状态,对于调整NFS的运行有很大帮助
2.rpcinfo -p hostname(orIP): 查看rpc执行信息,可以用于检测rpc运行情况的工具