linux 的NFS 服务器配置

NFC简要介绍

NFS(Network File System)是一种用于在网络上共享文件和目录的协议。它允许客户端计算机通过网络访问远程服务器上的文件系统,就像访问本地文件一样。
NFS由Sun Microsystems开发并首次发布于1984年,现在已经成为许多网络环境中常用的文件共享协议。它被广泛用于服务器集群、网络存储设备、虚拟化环境等场景。
NFS主要实现了 Linux 系统之间的资源共享。它是将某台 Linux主机的若干目录共享出来,交由其他 Linux 主机直接使用。本实验用于通过 NFS 服务实现Linux 系统间的资源共享。
NFC优势
共享文件系统:NFS允许在网络上共享文件和目录,使得多台计算机可以同时访问和共享文件。

透明性:对于NFS客户端来说,远程共享的文件系统就像本地文件系统一样。用户可以通过标准的文件系统操作(如读、写、创建、删除文件)来访问和管理远程文件。

高性能:NFS使用了一些优化技术,如数据缓存和异步写入,以提供高性能的文件访问。

跨平台支持:NFS协议是跨平台的,可以在不同操作系统之间进行文件共享。它广泛支持Linux、Unix和其他操作系统。

安全性:NFS可以通过使用安全选项(如身份验证和加密)来保护共享的文件和数据的安全性。

灵活性:NFS支持对共享文件和目录进行细粒度的访问控制,可以根据需要设置访问权限。

平台

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

步骤

配置服务器端

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

linux@farsight:~$ sudo apt-get install nfs-kernel-server
[sudo] password for linux: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树 
正在读取状态信息... 完成 
下列【新】软件包将被安装:
 nfs-kernel-server
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 8 个软件未被升级。
需要下载 152kB 的软件包。
解压缩后会消耗掉 385kB 的额外空间。
获取:1 http://archive.ubuntu.com intrepid-updates/main nfs-kernel-server 1: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) ...
Creating config file /etc/exports with new version
Creating config 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 ]

配置 NFS 资源

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

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

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

linux@farsight:~$ 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) hostname2(ro,sync)
# 
/source/rootfs

手动启停 NFS 服务

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

启动 NFS 服务

linux@farsight:~$ sudo /etc/init.d/nfs-kernel-server start
* Exporting directories for NFS kernel daemon... [ OK ] 
* Starting NFS kernel daemon [ OK ]

停止 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 ]

重新启动 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 ]

查看 NFS 服务当前状态

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

查看 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 ip
Export list for farsight:/source/rootfs *

挂载共享资源

当了解了 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 服务器授权的目录。

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

卸载共享资源

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

linux@farsight:~$ umount /mnt-Point

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

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值