导言
NFS(Network File System),即网络文件系统。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
NFS服务端、RPC协议、NFS客户端之间的关系

服务端NFS配置
安装NFS和RPC
1
| $ yum install -y nfs-utils rpcbind
|
1
| $ sudo apt-get install nfs-utils rpcbind
|
新建NFS共享文件并修改权限
1 2 3
| $ mkdir -p share_dir $ chmod 777 -R share_dir $ chmod nobody:nobody share_dir
|
NFS 配置/etc/exports文件
1 2 3
| $ cat >> /etc/exports <<EOF share_dir client_ip(rw,sync, insecure, no_root_squash) EOF
|
- 其中share_dir 为服务器端共享目录(绝对路径),client_ip为客户端IP地址
- 后面括号里的rw代表读写权限
- sync代表数据同步写入到NFS服务端的硬盘中,所有数据在请求时写入共享
- insecure 控制不让端口超过1024
- no_root_squash root用户具有根目录的完全管理访问权限
启动NFS服务
设置RPC服务和NFS服务开机启动
1 2
| $ systemctl enable rpcbind.service $ systemctl enable nfs-server.service
|
注:必须先开启rpc服务,下同
开启RPC和NFS服务
1 2
| systemctl start rpcbind.service systemctl start nfs-server.service
|
重新设置权限生效
1
| $ systemctl restart nfs-server.server
|
- 利用exportfs重新扫描/etc/exports文件
1 2
| $ exportfs -au $ exportfs -rv
|
查看配置是否生效
1 2
| $ exportfs $ share_dir client_ip
|
客户端配置
##安装与启动
- 安装部分与服务端相同,见上面步骤
- 客户端不需要启动nfs服务,只需要启动rpc服务
检查NFS服务端是否有目录共享
1
| $ showmount -e nfs server_ip
|
挂载NFS服务端目录
1 2
| $ mount -t nfs server_ip:/data/nfs mnt_point $ df -h
|
挂载NFS服务端的/data/nfs目录到 客户端的挂载点mnt_point,并查看是否挂载成功
可能出现的错误
1
| RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
|
- 关闭服务端的防火墙
- 添加相应端口的防火墙规则
查看客户端RPC服务使用端口