如何在Ubuntu 20.04 LTS上安装NFS服务器

NFS或网络文件系统是分布式文件系统协议。它可以帮助您通过网络与他人共享文件和整个目录。它允许远程系统上的程序彼此共享和访问信息,就像本地计算机上可用的信息一样。这项技术使您可以灵活地在多个系统上共享资源。nfs-linux-logo

我们使用两台计算机,一台运行Ubuntu 20.04,它将充当NFS服务器,另一台运行任何其他Linux发行版,以在其中安装共享。本示例中的机器具有以下IP:

NFS Server IP: 192.168.77.20
NFS Clients IPs: From the 192.168.77.0/24 range

Ubuntu 20.04 LTS Focal Fossa上安装NFS服务器

步骤1.首先,通过apt在终端中运行以下命令来确保所有系统软件包都是最新的。

sudo apt update
sudo apt upgrade

步骤2.在Ubuntu 20.04上安装NFS Server。

现在,我们运行以下命令来安装NFS内核服务器软件包:

sudo apt install nfs-kernel-server

您可以验证服务是否正在运行,如下所示:nfs-server

sudo systemctl status nfs-server

步骤3.在主机上创建共享目录。

创建将在客户端系统之间共享的目录:

sudo mkdir /var/nfs/general -p

由于我们希望客户端系统具有对该共享目录的完全访问权限,因此我们需要删除所有限制访问权限的目录权限:

sudo chown nobody:nogroup /var/nfs/general

步骤4.在主机上配置NFS。

我们将深入研究NFS配置文件以设置以下资源的共享:

sudo nano /etc/exports

添加以下行:

/var/nfs/general client_ip(rw,sync,no_subtree_check)
/home client_ip(rw,sync,no_root_squash,no_subtree_check)

对于出口的基本选择:

选项 描述
rw 允许在NFS卷上进行读写请求。
ro 仅允许读取NFS卷上的请求。
sync 仅在将更改提交到稳定存储后才回复请求。(默认)
async 此选项允许NFS服务器违反NFS协议并在对该请求进行的任何更改提交到稳定存储之前答复该请求。
secure 此选项要求请求源自小于IPPORT_RESERVED(1024)的Internet端口。(默认)
insecure 此选项接受所有端口。
wdelay 如果怀疑另一个相关的写请求可能正在进行中或可能很快到达,请稍稍延迟向磁盘提交写请求。(默认)
no_wdelay 如果还设置了异步,则此选项无效。如果NFS服务器怀疑另一个相关的写请求可能正在进行中或可能很快到达,则通常会稍稍延迟向磁盘提交写请求。这样一来,就可以将多个写入请求提交到磁盘,从而提高性能。如果NFS服务器主要接收小的无关请求,则此行为实际上可能会降低性能,因此no_wdelay可用于将其关闭。
subtree_check 此选项启用子树检查。(默认)
no_subtree_check 此选项禁用子树检查,这对安全性有轻微的影响,但在某些情况下可以提高可靠性。
root_squash 将请求从uid / gid 0映射到匿名uid / gid。请注意,这不适用于可能同样敏感的任何其他uid或gid,例如用户bin或组人员。
no_root_squash 关闭根挤压。此选项主要对无磁盘客户端有用。
all_squash 将所有uid和gid映射到匿名用户。对于NFS导出的公共FTP目录,新闻假脱机目录等有用。
no_all_squash 关闭所有壁球。(默认)
anonuid=UID 这些选项显式设置匿名帐户的uid和gid。此选项主要对PC / NFS客户端有用,在PC / NFS客户端上,您可能希望所有请求看起来都来自一个用户。例如,请在下面的示例部分中考虑/ home / joe的导出条目,该条目将所有请求映射到uid 150。
anongid=GID 阅读以上内容(anonuid = UID)

最后,重新启动NFS服务器以应用更改:

sudo systemctl restart nfs-kernel-server

步骤5.配置防火墙。

您需要允许通过防火墙的访问,否则将无法访问和安装共享目录。要实现此目的,请运行以下命令:

sudo ufw allow from 192.168.77.0/24 to any port nfs
sudo ufw enable
sudo ufw status

步骤6.设置NFS客户端。

在客户端计算机上,我们仅需要安装安装远程NFS文件系统所需的工具。

  • 在Debian和Ubuntu上安装NFS客户端

运行以下命令进行安装:

sudo apt install nfs-common
  • 在客户端上创建挂载点。

现在,我们为客户端上的挂载创建两个目录:

sudo mkdir -p /nfs/general
sudo mkdir -p /nfs/home

接下来,使用主机的IP地址挂载共享:

sudo mount host_ip:/var/nfs/general /nfs/general
sudo mount host_ip:/home /nfs/home

使用mount或df命令验证是否成功安装了远程文件系统:

df -h

要使挂载在重启时永久存在,请打开文件并添加以下行:/etc/fstab

sudo nano /etc/fstab

添加以下行:

192.168.77.10:/var/nfs/general /nfs/general  nfs defaults,timeo=900,retrans=5,_netdev 0 0
192.168.77.10:/home /nfs/home                nfs defaults,timeo=900,retrans=5,_netdev 0 0

步骤7.测试NFS共享。

现在,我们为共享创建一个测试文件:/var/nfs/general

sudo touch /nfs/general/general.test

检查其所有权:

$ ls -l /nfs/home/home.test
-rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

步骤8.卸载NFS文件系统。

如果不再需要远程NFS共享,则可以使用以下umount命令将其卸载为任何其他已安装的文件系统:

sudo umount /general

恭喜你!您已经成功安装了NFS服务器。感谢您使用本教程在Ubuntu 20.04 LTS Focal Fossa系统上安装NFS服务器。有关其他帮助或有用信息,我们建议您检查NFS官方网站

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun51347.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年5月21日
下一篇 2021年5月21日

相关推荐