NFS的全称是Network FileSystem,即网络文件系统
NFS最初是由 Sun Microsytem 公司开发出来的,主要实现的功能是让网络上的不同操作系统之间共享数据。
NFS由两个部分组成,NFS服务器和NFS客户端。
例如,NFS客户端A将NFS服务器共享的目录挂载到了自己指定的/home/share
目录下,而NFS客户端B将共享的目录挂载到了/data
目录。接着进入挂载点目录,就能看到从服务器端共享出来的文件了。
如果有足够的权限,还可以对这些共享资源进行复制、移动、修改、删除等操作。
NFS服务器启动后,都会开启对客户端连接对应的端口号,端口号的范围是1~1024,但每次启动NFS服务器,相应服务器端口号都各不相同。
为了确保客户端每次都能正确连接到NFS 服务器端,NFS通过一个远程过程调用(Remote Procedure Call,RPC)的协议来协助NFS服务器完成连接。
程序可以通过使用这种协议向网络中另一台计算机上的程序请求服务,在NFS中,RPC 最主要的功能就是指定并监控NFS守护进程对应的端口号,并将端口信息通知给客户端,让客户端可以连接到正确的端口上来,因此也可以说,NFS是一个RPC服务器。
需要注意的是,远程挂载NFS服务器的本地主机也需要同步启用RPC协议。
要使用NFS服务器,需要在NFS服务器端至少启用两个系统守护进程(daemons),分别是rpc.nfsd和rpc.mountd。
要启动NFS服务器同样需要有两个系统服务才行,它们分别是portmap和nfs-utils。
几乎所有的Linux发行版在安装系统时,都默认安装了NFS服务器。
这里以CentOS 7.1系统为例,介绍NFS的使用方法。首先通过下面的命令查看NFS服务器对应的rpm包是否安装。
[root@NFS Server ~]# rpm -qa|grep rpcbind
rpcbind-0.2.0-26.el7.x86_64
[root@NFS Server ~]# rpm -qa|grep nfs
nfs-utils-1.3.0-0.8.el7.x86_64
libnfsidmap-0.25-11.el7.x86_64
如果有类似上面的输出,表示NFS软件包已经安装。如果没有输出,就需要寻找NFS对应的rpm包,然后进行安装即可。