当前位置: 首页>>技术教程>>正文


在Linux上,基本的NFS安装和配置

, ,
在计算机和服务器之间共享文件是一项基本的网络任务。值得庆幸的是,Linux的NFS(网络文件系统)使其变得非常容易。通过正确配置NFS,在计算机之间移动文件就像在同一台计算机上移动文件一样容易。由于NFS功能直接内置在Linux内核中,因此它既强大又可在每个发行版中使用,尽管它们之间的配置略有不同。

设置服务器

安装软件包

Linux NFS使用Client-Server模型,因此设置NFS的第一步是设置服务器。由于核心NFS功能植根于内核,因此软件包的方式并不需要太多,但无论分布和配置如何,仍然有一些需求。几乎所有主要发行版都启用了NFS,因此,除非您运行的是自定义版本,否则应该已经进行了设置。设置服务器的下一步是安装软件包。
在Ubuntu /Debian上:

$ sudo apt-get install nfs-kernel-headers

在Fedora上

$ sudo yum install nfs-utils system-config-nfs

配置导出

软件包安装完成后,就可以配置导出文件了。导出文件指定服务器将…导出到网络的目录。该文件的结构非常简单。左侧是应共享的目录,右侧是应与任何特定选项共享的计算机的IP地址和子网。看起来像这样:


/export                        192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)
/home/user/shared              192.168.1.122/255.255.255.0(rw,sync,no_subtree_check)

在第一个示例中,目录/export与该特定子网上的所有计算机共享。通过指定一个地址192.168.1.0“0”充当子网中任何IP的通配符。第二个示例类似,但是它指定只有该地址才能访问共享目录。 NFS共享只有少数选项。

  • RO:指定目录只能以只读方式挂载
  • w:授予目录的读写权限
  • no_root_squash:是一个非常危险的选项,它允许远程“root”用户与主机的“root”用户具有相同的特权
  • subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
  • no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
  • 同步:这只是确保主机保持上传到共享目录的所有更改同步
  • 异步的:忽略同步检查以提高速度

与Systemd一起运行

一旦导出文件准备就绪,就可以启动服务器,并使其在Systemd引导下启动。当然,如果您碰巧正在运行非Systemd发行版,那么它也可以与其他init系统一起使用。启动NFS服务器有两个部分,即rpcbind和nfs-server。通过以下两种方式启动它们:

$ sudo systemctl start rpcbind
$ sudo systemctl start nfs-server

在Debian和Ubuntu上,服务器将自动启动,因此您可能需要运行:

$ sudo systemctl restart rpcbind
$ sudo systemctl restart nfs-server

之后,服务器将启动并运行。再一次,由于Debian和Ubuntu在默认情况下在引导时运行服务,因此不需要任何使NFS在引导时自动运行的功能。要使NFS在Fedora引导下启动,请运行:

$ sudo systemctl enable rpcbind
$ sudo systemctl enable nfs-server

可以使用主机文件Portmap来实现附加的安全性,但这超出了本基础文章的范围。上面的设置提供了一个很好的起点,并且将适用于家庭网络。

连接客户端

设置客户端以连接到NFS共享所需的工作量要少得多。同样,对于Debian发行版和
Debian /Ubuntu:

$ sudo apt-get install nfs-common rpcbind

软呢帽:

$ sudo yum install nfs-utils

一旦完成,或者重新启动Debian /Ubuntu,请rpcbind。

$ sudo systemctl (re)start rpcbind

当然,与服务器一样,使rpcbind在启动时运行可能是一个好主意。对于客户端来说,这甚至是一个更大的问题,它必须能够在引导时挂载删除卷。实际上,安装NFS卷与安装本地卷几乎相同。对于一次安装,语法是相同的。挂载NFS目录/export在服务器上找到192.158.1.15到本地目录/media/nfs-volume类型:

# mount 192.168.1.15:/export /media/nfs-volume

NFS卷可以在引导时挂载,或使用以下方式指定挂载点:/etc/fstab。要在启动时自动挂载与上述相同的卷,请将以下行添加到/etc/fstab

192.168.1.15:/export               /media/nfs-volume       nfs     defaults,user,exec      0 0

指定的选项将允许用户访问目录并允许在目录上执行。如果您不想在启动时挂载驱动器,但仍可以在/etc/fstab添加noauto选项。对于建立基本NFS配置所花费的时间来说,它可以是在网络上的Linux计算机之间共享数据的非常有用的工具。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10846.html,未经允许,请勿转载。