在树莓派上共享文件,使用NFS协议传输数据

这篇文章详细记录了如何使用NFS客户端连接到Raspberry Pi上共享文件。

Raspberry-Pi-NFS-Client-Thumbnail.jpg

NFS是网络文件系统的缩写,它通常用于连接到NAS,是一种用于分布式文件系统的协议,要连接到NFS服务器,需要在Raspberry Pi上安装和配置一个NFS客户端。如果想从Raspberry Pi上共享文件,可以将它设置为NFS服务器。设置NFS客户端的步骤相当简单,只需要几分钟。

设备清单

下面是所有的设备清单。

建议

可选

我在运行了最新版的Raspberry Pi OS Buster的Pi 400上测试了本教程。

在Raspberry Pi上安装NFS客户端

在连接到NFS共享之前,首先在Raspberry Pi上安装和设置一个NFS客户端,所有连接到NFS服务器所需的包都可以在包库中找到。

1. 在安装NFS客户端之前,先对操作系统进行一次更新,可以利用下面两个命令。

sudo apt update
sudo apt full-upgrade

2. 现在可以将NFS客户端安装到Raspberry Pi上,需要做的就是在Pi上运行以下命令。

sudo apt install nfs-common

这个命令将安装nfs-common包。这个包包含了从设备连接到NFS服务器所需要的一切。

3. 现在NFS客户端已经安装在Raspberry Pi上,现在我们可以向大家展示如何使用它。

继续到下一节学习如何从Raspberry Pi连接到NFS服务器。

使用客户端连接到NFS服务器。

在设备上安装了NFS客户端后,现在展示如何使用它与远程NFS服务器进行连接。请注意,需要知道你所连接的NFS服务器的IP地址或主机名。要连接到NFS服务器,使用Raspberry Pi上的mount命令。

安装目录树

挂载所有从服务器导出的目录的基本命令如下。输入此命令时,需要将”<NFSSERVERIP>”替换为你的NFS服务器的IP地址。

mount -t nfs -o proto=tcp,port=2049 <NFSSERVERIP>:/ /mnt

通过这个命令,可以使用-t参数指定类型为nfs。

还需要指定协议为tcp,端口为2049。这是NFS通常运行的端口。

接下来,定义要连接的NFS服务器的IP地址或主机名。

通过在这个IP后面使用:/,指定要挂载服务器导出的最上层目录。

最后,指定要挂载这个目录树的位置。在我的例子中,我使用的是”/mnt “目录。

挂载一个特定的目录

在某些情况下,你可能只想挂载NFS服务器导出的特定目录。这只需要对前面的命令稍作修改。确保将”<NFSSERVERIP>”替换为你的NFS服务器的IP地址,将”<DIRECTORYTOMOUNT>”替换为目录名。

mount -t nfs -o proto=tcp,port=2049 <NFSSERVERIP>:/<DIRECTORYTOMOUNT> /mnt

从上面的命令可以看出,只需要在”:/”后面指定导出目录的名称即可。其余的命令与上一条命令相同,只是指定了IP、挂载类型和挂载位置。

在启动时安装NFS共享

每次想从Raspberry Pi连接到NFS共享时,都要运行挂载命令,这挺无聊的。为了解决这个问题,可以修改fstab文件。这个文件可以让操作系统启动时挂载的网络共享。

1. 让我们开始编辑fstab文件。

可以使用nano文本编辑器运行以下命令来编辑这个文件。

sudo nano /etc/fstab

2. 在该文件的底部,需要输入以下一行:

当输入这一行时,请确保将”<NFSSERVERIP>”替换为NFS服务器的IP地址。

还应该将”<DIRECTORYTOMOUNT>”替换为你要挂载的网络目录的名称。如果想挂载整个目录树,那么就用空来代替。

最后,如果想改变挂载网络目录的位置,需要将”/mnt “改为该位置。

<NFSSERVERIP>:/<DIRECTORYTOMOUNT>   /mnt   nfs    auto  0  0

3. 按CTRL + X,然后按Y,再按ENTER键来保存文件。

4. 重新启动Raspberry Pi来验证是否有效。可以使用以下命令重新启动设备。

sudo reboot

结论

到这里,您应该已经在Raspberry Pi上安装并配置了NFS客户端。现在应该也知道如何轻松地连接到NFS服务器了。如果你在本指南中遇到任何问题,欢迎在下方留言。

平均: 5 / 5. votes: 1

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 在树莓派上共享文件,使用NFS协议传输数据

赞 (0)

评论

2+7=