1. NFS 工作原理
- 首先服务器端启动 RPC 服务,并开启 111 端口
- 服务器端启动 NFS 服务,并向 RPC 注册端口信息
- 客户端启动 RPC(portmap 服务),向服务端的 RPC 服务请求服务端的 NFS 端口
- 服务端的 RPC 服务反馈 NFS 端口信息给客户端
- 客户端通过获取的 NFS 端口来建立和服务端的 NFS 连接并进行数据的传输
2. 服务端配置
1 | # 安装NFS服务 |
ro
:以只读方式挂载rw
:以读写方式挂载sync
:同时将数据写入到内存与硬盘中,保证不丢失数据async
:优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据no_subtree_check
:指定主机不应检查通过主机文件系统访问的文件的位置subtree_check
:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置no_root_squash
:当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户root_squash
:当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员all_squash
:无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户
3. 客户端挂载配置
1 | # 安装NFS依赖 |
- 如果不确定共享在客户端上是否始终可用,可添加
noauto
到选项列表中以防止系统尝试自动挂载
1 | 10.4.7.201:/data/nfs /data/nfs nfs4 defaults,user,exec,noauto 0 0 |
4. 使用 autofs 自动挂载
- autofs 的主配置文件中按照
<挂载目录的上层目录> <子配置文件>
的格式填写,具体的挂载信息写入到子配置文件中,方便日后管理和维护
1 | $ sudo apt install autofs |