一、NFS原理和基础配置,可以参考脚本之家的详细介绍。
二、NFS共享服务的实现
实验平台:
NFS服务器10.0.0.153
NFS客户端10.0.0.154
1.NFS服务器配置
yum -y install nfs-utils rpcbind
systemctl enable --now nfs-server.service
#新建共享目录并赋权限
mkdir /root/data/nfs
chmod 777 /root/data/nfs
2.修改NFS配置文件/etc/exports
#格式:/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
#默认选项:/dir 主机1(ro,sync,root_squash,no_all_squash)
#ro,rw 只读和读写
#async异步:数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
#sync(1.0.0后为默认)同步:数据在请求时立即写入共享存储磁盘,性能低,安全性高
#root_squash(默认):远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS7以前的版本为nfsnobody
#no_root_squash:远程root映射成NFS服务器的root用户
#all_squash:所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
#no_all_squash(默认):保留共享文件的UID和GID
#anonuid和anongid:指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
#修改/etc/exports,*通配表示所有客户端
/root/data/nfs *(rw,no_root_squash)
3.使用exportfs -r命令,静默重启nfs服务,exportfs:可用于管理NFS导出的文件系统
常见选项:
-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享
4.客户端安装showmount,查看远程主机的NFS共享
yum -y install showmount
#命令格式
showmount -e hostname
5.在客户端挂载测试
mkdir /mnt/nfs1
mount 10.0.0.153:/root/data/nfs /mnt/nfs1
#_netdev:无网络服务时不挂载NFS资源,在/etc/fstab中增加下面一行
10.0.0.153:/root/data/nfs /mnt/nfs nfs _netdev 0 0
在学习中进步,如有错误,请多多批评指正