NFS(Network File System):网络文件系统
1.环境检查
- 两台服务器:
共享服务器A(192.168.142.155)
客户端服务器B(192.168.142.156) - 操作系统:CentOS Linux release 7.7
- 互相Ping一下,确保网络是通的。把A,B的防火墙都关了。
2.装包启服务
- 在A,B上安装
yum -y install nfs-utils
- 在A,B上启动服务
service nfs start
3.在A服务器上配置共享文件夹
- 修改配置文件
vi /etc/exports
exports文件:
/tmp/data 192.168.142.156/24(insecure,rw,no_root_squash,sync)
格式:要共享的文件夹路径 客户机地址(权限)
参数说明:
rw ro:该目录分享的权限是可擦写 (read-write) 或只读 (read-only)
sync 代表数据会同步写入到内存与硬盘中;
async 则代表数据会先暂存于内存当中,而非直接写入硬盘
root_squash:客户端使用root操作文件的时候,服务端为了安全起见,会默认是nfsnobody用户
no_root_squash :客户端使用root操作文件的时候,服务端也会认为是root用户
- 配置生效
exportfs -r
- 验证是否生效
showmount -e localhost
4.在B服务器上挂载该共享文件夹
- 挂载
mount 192.168.142.155:/tmp/data /data/aaa
mount 服务器地址:文件夹路径 挂载点
- 查看挂载是否成功
df -h
- 取消挂载
umount /data/aaa/
5.开机自动挂载
vi /etc/fstab
fstab文件:
192.168.142.155:/tmp/data /data/aaa/ nfs defaults 0 0
6.问题排查
- 客户端执行df命令的时候卡死
很可能是服务端的nfs服务停了,重启下服务端的nfs服务再试试 - 客户端没有权限操作服务端文件
确保服务端配置正确的前提下,检验文件的本身权限 - 服务端执行挂载操作的时候卡死
很可能是防火墙的问题,把服务端客户端的防火墙都停了再试试 - 挂载或取消挂载的时候报错:device is busy
最多的情况是确保当前终端没有占用该挂载点 - 客户端挂载报错
很可能是客户端的nfs服务不正常,重启下服务
mount: wrong fs type, bad option, bad superblock on