NFS服务器配置

来源:互联网 发布:手机透视拍照软件 编辑:程序博客网 时间:2024/04/20 02:51


【实验内容】

NFSNetworkFileSystem)主要实现了Linux系统之间的资源共享。它是将某台Linux主机的若干目录共享出来,交由其他Linux主机直接使用。本实验用于通过NFS服务实现Linux系统间的资源共享。


【实验目的】

通过实验,学员掌握NFS服务配置方法


【实验平台】

带有Linux操作系统的PC机,并在以太网中连接。


【实验步骤】

  1. 配置服务器端

使用以下的命令,安装NFS服务器程序软件包。并创建/etc/exports配置文件,等待用户在完成NFS安装之后,配置将要共享的资源。

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

[sudo]password for linux:

正在读取软件包列表...完成

正在分析软件包的依赖关系树

正在读取状态信息...完成

下列【新】软件包将被安装:

nfs-kernel-server

共升级了0个软件包,新安装了1个软件包,要卸载0个软件包,有8个软件未被升级。

需要下载152kB的软件包。

解压缩后会消耗掉385kB的额外空间。

获取:1http://archive.ubuntu.com intrepid-updates/main nfs-kernel-server1:1.1.2-4ubuntu1.1 [152kB]

下载152kB,耗时3s(43.1kB/s)

选中了曾被取消选择的软件包nfs-kernel-server

(正在读取数据库...系统当前总共安装有108565个文件和目录。)

正在解压缩nfs-kernel-server(.../nfs-kernel-server_1%3a1.1.2-4ubuntu1.1_i386.deb)...

正在处理用于man-db的触发器...

正在设置nfs-kernel-server(1:1.1.2-4ubuntu1.1) ...


Creatingconfig file /etc/exports with new version


Creatingconfig file /etc/default/nfs-kernel-server with new version

*Starting NFS common utilities [ OK ]

*Exporting directories for NFS kernel daemon... [ OK ]

*Starting NFS kernel daemon [ OK ]

可以使用netstat命令检查NFS端口是否已经打开,NFS端口(2049)以及SUNRPC端口(111)已处于监听状态。

通过上述操作后在/etc下可以生成export文件,然后在文件中添加如下内容:

linux@farsight:~$sudovim /etc/export

/source/rootfs*(rw,sync,no_subtree_check)

  1. 手动启停NFS服务

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

(1)启动NFS服务

linux@farsight:~$sudo /etc/init.d/nfs-kernel-server start

*Exporting directories for NFS kernel daemon... [ OK ]

*Starting NFS kernel daemon [ OK ]

(2)停止NFS服务

linux@farsight:~$sudo /etc/init.d/nfs-kernel-server stop

[sudo]password for linux:

*Stopping NFS kernel daemon [ OK ]

*Unexporting directories for NFS kernel daemon... [ OK ]

(3)重新启动NFS服务

linux@farsight:~$sudo /etc/init.d/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服务当前状态

NFS服务开启时显示nfsdrunning,关闭是显示nfsnot running

linux@farsight:~$sudo /etc/init.d/nfs-kernel-server status

nfsdrunning

linux@farsight:~$sudo /etc/init.d/nfs-kernel-server status

nfsdnot running

  1. 配置NFS资源

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

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

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

linux@farsight:~$cat /etc/exports

#/etc/exports: the access control list for filesystems which may beexported

#to NFS clients. See exports(5).

#Example for NFSv2 and NFSv3:

#/srv/homes hostname1(rw,sync) hostname2(ro,sync)

#

/source/rootfs*(rw,sync,no_subtree_check)

  1. 查看NFS服务器的共享资源

在客户端可以使用showmount命令查看某台NFS服务器上的都有哪些NFS共享资源。

showmount命令包含在nfs-kernel-server软件包中。如果希望使用该命令,需要安装nfs-kernel-server软件包。它的一般语法格式为:

showmount [-dehv] NFSsrvname

其中,NFSsrvname表示NFS服务器主机名,也可以使用IP地址。表24.3对常见选项作了简单描述。单独使用showmount命令,将显示本地主机/etc/export配置文件中的共享配置项。

下面命令用于显示NFS服务器UbuntuFisher中的共享文件目录,命令执行结果不仅列出NFS服务器上共享资源的目录,还同时列出了授权访问NFS的客户端,这也NFS服务器上/etc/exports文件内容是相对应的。

linux@farsight:~$showmount -e farsight

Exportlist for farsight:

/source/rootfs*

  1. 挂载共享资源

当了解了NFS服务器上共享资源之后,便可使用mount命令在客户端挂载NFS共享资源。

假设NFS服务器UbuntuFisher开放/home/wdl/Share/nfs_1作为共享资源,客户端主机DebianFisher希望将该共享资源挂载到本地的/mnt/nfs_1目录中,可以使用以下命令完成挂载。

mount-t nfs 192.168.65.133:/source/rootfs/ /mnt/nfs/

当客户端使用mount命令将NFS服务器上的导出文件系统挂载到本地后,接下来对挂载的文件系统的操作,与使用本地文件系统没有任何区别。下面是挂载NFS服务器授权的目录。

linux@farsight:~$sudo mount -t nfs 192.168.65.133:/source/rootfs/ /mnt/nfs/

  1. 卸载共享资源

要卸载共享目录,可以使用umount命令,它一般语法格式为:

linux@farsight:~$umount <mnt-Point>

其中,mnt-Point表示共享资源在客户端主机上的挂载点。

假设延续上面的例子,不再需要访问UbuntuFisher主机上的共享目录/home/wdl/Share/nfs_1后,下面的命令将释放共享资源,卸载当前文件系统的挂载点。

linux@farsight:~$sudo umount /mnt/nfs

需要说明的是,当有用户正在使用某个已加载的共享目录上的文件,则不能卸载该文件系统。如果用户确认无误,可以使用“umount–f”命令强行卸载共享的目录。