Bootstrap

Ubuntu: 搭建 NFS 服务器

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 测试环境

服务端:Ubuntu 16.04.6 LTS / Ubuntu 18.04.6 LTS
客户端:ARM 开发板

3. NFS 服务器搭建

3.1 安装 NFS 服务

sudo apt install nfs-kernel-server portmap

3.2 导出 NFS 共享目录

mkdir /home/XXX/nfs-shared

编辑配置文件到处目录 /home/XXX/nfs-shared

sudo vim /etc/exports

在文件 /etc/exports 添加如下内容:

/home/XXX/nfs-shared *(rw,sync,no_root_squash)

保存 /etc/exports 并退出 vim ,然后运行命令:

sudo exportfs -arv

其中,/home/XXX 为用户目录。

3.3 重启 NFS 服务

sudo /etc/init.d/nfs-kernel-server restart

4. 客户端连接 NFS 服务端

登录进入 ARM 开发板,然后建立挂在目录 /home/XXX/nfs-remote ,用来访问服务端的共享目录 /home/XXX/nfs-shared (假定服务端的 IP 为 192.168.1.77 )。

mkdir /home/XXX/nfs-remote
mount -t nfs -o nolock 192.168.1.77:/home/XXX/nfs-shared /home/XXX/nfs-remote

挂在后,ARM 客户端就可以通过目录 /home/XXX/nfs-remote 对服务端的共享目录 /home/XXX/nfs-shared 进行读写了(权限要适当配置)。

# ls /home/XXX/nfs-remote
README

5. VMware + Ubuntu

要注意的是,NFS 服务端NFS 客户端 要保持彼此网络联通,否则 mount 无法挂载成功。VMware 的上网方式,最好配置成 桥接方式 ,这样可以让它和主机在同一网段内,这样会便利些。

在这里插入图片描述

6. Linux 内核 NFS 支持

要使用 NFS 功能,必须在内核启用了 CONFIG_NFS_FS,CONFIG_NFSD 等配置:

CONFIG_NFS_FS: 作为 NFS 客户端时启用
CONFIG_NFSD: 作为 NFS 服务端时启用

7. NFS 相关工具

nfsstat
rpcinfo
;