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