NFS服务器配置
NFS是Network File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
1.配置服务器端
使用以下的命令,安装NFS服务器程序软件包。并创建/etc/exports和/etc/default/nfs-kernel-server配置文件,等待用户在完成NFS安装以后,配置将要共享的资源。
$ sudo apt-get install nfs-kernel-server
可以使用netstat命令检查NFS端口是否已经打开,NFS端口以及SUNRPC端口已处于监听状态。
---------------------------------------------------------------------
2.配置NFS资源
配置NFS服务器的关键也就是配置该文件。配置文件中一行即为一条配置项,用于指明网络中的“哪些客户端”共享“哪些目录资源”。导出资源配置项格式如下所示。
<Share Directory> <Host1(args)> <Host2(args)> ……
其中,<Share Directory>表示服务器中导出的共享资源路径,必须使用绝对路径名;<Hostn>表示客户端主机标识,如果是多个主机标识,需要使用空格隔开;<args>表示赋予每个客户端主机的访问权限。以下为一个配置样本:
$ sudo vi /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) hostname2(ro,sync) # /source/rootfs *(rw, sync, no_root_squash)
---------------------------------------------------------------------
3.手动启停NFS服务
通常,NFS服务的守护进程是以持续监听端口的独占方式运行。用户通过使用NFS的初始化脚本,可以手动启停NFS服务。系统管理员在调整共享资源之后,一定要重新启动NFS服务,以便使修改的配置生效。
(1)启动NFS服务
$ sudo /etc/init.d/nfs-kernel-server start
(2)停止NFS服务
$ sudo /etc/init.d/nfs-kernel-server stop
(3)重新启动NFS服务
$ sudo /etc/init.d/nfs-kernel-server restart
(4)查看NFS服务当前状态
NFS服务开启时显示nfsd running, 关闭时显示nfsd not running.
$ sudo /etc/init.d/nfs-kernel-server status
---------------------------------------------------------------------
4.查看NFS服务器的共享资源
在客户端可以使用showmount命令查看某台NFS服务器上的都有哪些NFS共享资源。showmount命令包含在nfs-kernel-server软件包中。如果希望使用该命令,需要安装nfs-kernel-server软件包。它的一般语法格式为:
$ showmount [-dehv] NFSsrvname
其中,NFSsrvname 表示NFS服务器主机名,也可以使用IP地址。单独使用showmount命令,将显示本地主机/etc/exports 配置文件中的共享配置项。下面命令用于显示NFS服务器UbuntuFisher中的共享文件目录,命令执行结果不仅列出NFS服务器上共享资源的目录,还同时列出了授权访问NFS的客户端,这也与NFS服务器上 /etc/exports 文件内容是相对应的。
$ showmount -e ip
---------------------------------------------------------------------
5.挂载共享资源
当了解了NFS服务器上共享资源后,便可使用mount命令在客户端挂载NFS共享资源。假设NFS服务器UbuntuFisher开放/home/wdl/Share/nfs_1 作为共享资源,客户端主机DebianFisher希望将该共享资源挂载到本地的/mnt/nfs_1目录中,可以使用以下命令完成挂载:
$ mount -t nfs UbuntuFisher:/home/wdl/Share/nfs_1 /mnt/nfs_1
当客户端使用mount命令将NFS服务器上的导出文件系统挂载到本地后,接下来对挂载的文件系统的操作,与使用本地文件系统没有任何区别。下面是挂载NFS服务器授权的目录。
$ sudo mount -t nfs 192.168.65.133:/source/rootfs/ /mnt/nfs/
---------------------------------------------------------------------
6.卸载共享资源
要卸载共享目录,可以使用umount命令,它一般语法格式为:
$ umount /mnt-Point
其中,mnt-Point表示共享资源在客户端主机上的挂载点。
假设延续上面的例子,不再需要访问UbuntuFisher主机上的共享目录/home/wdl/Share/nfs_1后,下面的命令将释放共享资源,卸载当前文件系统的挂载点。
$ sudo umount /mnt/nfs
需要说明的是,当用户正在使用某个已加载的共享目录上的文件,则不能卸载文件系统。如果用户确认无误,可以使用“umount -f”命令强行卸载共享的目录。