1.配置服务器端
使用如下指令安装NFS服务器软件包并创建/etc/export和/etc/default/nfs-kernel-server配置文件,等待用户完成NFS安装后,配置将要共享的资源。

linux@ubuntu:~$ sudo apt-get install nfs-kernel-server



2.配置NFS资源
配置NFS服务器的关键就是配置该文件。配置文件中一行即为一条配置项,用于指明网络中的“哪些客户端”共享“哪些目录资源”。导出资源配置项格式如下所示。

<Share Directory> <Host1(args)> <Host2(args)> ......


其中<Share Directory>表示服务器中导出的共享资源路径,必须使用绝对路径名;<Hostn>表示客户端主机表示,如果是多个主机标识,需要用空格隔开;<args>表示赋予每个客户端主机的访问权限。以下为一个配置样本。

linux@ubuntu:~$ cat /etc/exports 
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
#/home/linux/workdir/rootfs/rootfs   *(rw,sync,no_subtree_check)
/source/rootfs   *(rw,sync,no_subtree_check,no_root_squash)




其中no_subtree_check为不检测子目录,提高性能,no_root_squash为登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!


3.手动启停NFS服务
通常,NFS服务的守护进程是以监听端口的独占方式运行。用户通过使用NFS的初始化脚本可以手动启停NFS服务。系统管理员在调用共享资源之后,一定要重新启动NFS服务器,以便使修改的配置生效。
1)启动NFS服务

linux@ubuntu:~$ sudo service nfs-kernel-server start
* Exporting directories for NFS kernel daemon...                        [ OK ] 
* Starting NFS kernel daemon                                            [ OK ]


2)停止NFS服务

linux@ubuntu:~$ sudo service nfs-kernel-server stop
* Stopping NFS kernel daemon                                            [ OK ] 
* Unexporting directories for NFS kernel daemon...                      [ OK ]


3)重新启动NFS服务

linux@ubuntu:~$ sudo service nfs-kernel-server restart 
* Stopping NFS kernel daemon                                            [ OK ] 
* Unexporting directories for NFS kernel daemon...                      [ OK ] 
* Exporting directories for NFS kernel daemon...                        [ OK ] 
* Starting NFS kernel daemon                                            [ OK ]


4)查看NFS服务当前状态

linux@ubuntu:~$ sudo service nfs-kernel-server status 
nfsd running



4.查看NFS服务器的共享资源
在客户端可以使用showmount命令查看某台NFS服务器上都有哪些NFS共享资源。
showmount命令包含在nfs-kernel-server软件包中。如果希望使用该命令,需要安装nfs-kernel-server软件包。它的一般语法格式为:

showmount [-dehv] NFSsrvname


其中,NFSsrvname表示NFS服务器主机名,也可以使用IP地址。单独使用showmount命令,将显示本地主机/etc/export配置文件中的共享配置项。下面命令用于显示NFS服务器UbuntuFisher中的共享文件目录,命令执行结果不仅列出NFS服务器上共享资源的目录,还同时列出了授权访问NFS的客户端,这与NFS服务器上/etc/export文件内容是相对应的。

linux@ubuntu:~$ showmount -e 192.168.10.42
Export list for 192.168.10.42:
/source/rootfs *


5.挂载共享资源
当了解了NFS服务器上共享资源之后,便可使用mount命令在客户端挂载NFS共享资源。当客户端使用mount命令将NFS服务器上的导出文件系统挂载到本地后,接下来对挂载的文件系统的操作,与使用本地文件系统没有什么任何区别。下面是挂载NFS服务器授权的目录。
linux@ubuntu:~$ sudo mount -t nfs 192.168.10.42:/source/rootfs /mnt/nfs


6.卸载共享资源
要卸载共享目录,可以使用umount命令,它的一般语法格式为:
linux@ubuntu:~$ sudo umount /mnt/nfs
其中,/mnt/nfs表示共享资源在客户端主机上的挂载点。
需要说明的是,当有用户正在使用某个已加载的共享目录上的文件,则不能卸载该文件系统。如果用户确认无误,可以使用“umount -f”命令强行卸载共享的目录。