Ubuntu 配置 NFS 服务
NFS 服务简介
NFS 是 Network File System 的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由 Sun 公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类 Unix 系统间实现磁盘文件共享的一种方法。
NFS 的基本原则是 “容许不同的客户端及服务端通过一组 RPC 分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS 在文件传送或信息传送过程中依赖于 RPC 协议。RPC,远程过程调用(Remote Procedure Call)是能使客户端执行其他系统中程序的一种机制。NFS 本身是没有提供信息传输的协议和功能的,但 NFS 却能让我们通过网络进行资料的分享,这是因为 NFS 使用了一些其他的传输协议。而这些传输协议用到这个 RPC 功能。可以说 NFS 本身就是使用 RPC 的一个程序,或者说 NFS 也是一个 RPC Server。所以只要用到 NFS 的 地方都要启动 RPC 服务,不论是 NFS Server 或者 NFS Client。这样 Server 和 Client 才能通过 RPC 来实现 Program Port 的对应。可以这么理解 RPC 和 NFS 的关系:NFS 是一个文件系统,而 RPC 负责信息的传输。
在提供 NFS 服务之前必须启动 rpcbind 服务。
安装 nfs 服务
sudo apt install nfs-kernel-server
修改配置文件,在 /etc/exports 最后面添加如下配置
/nfs *(rw,sync,no_subtree_check,no_root_squash)
这里的 /nfs
是 nfs 服务的根目录;*
表示所有 IP 地址,也可以指定客户端的 IP 或者 IP 范围,比如 192.168.0.0/24
,使用域名也可以。
重启 nfs 服务
sudo service nfs-kernel-server restart # 使用 service
sudo systemctl restart nfs-server.service # 使用 systemctl
或者执行 exportfs -rv
更新配置。
在开发板挂载(挂载到 /mnt 目录)
mount -o nolock,tcp 192.168.1.100:/nfs /mnt
在开发板卸载
umount /mnt
提示:为了安全起见,建议根据你的网络环境设置 NFS 目录权限。