NFS工作原理简图
服务端安装配置NFS服务
添加hosts解析(客户端和服务端都需要这个配置)
vi /etc/hosts
192.168.1.51 server.nfs.com
192.168.1.52 client1.nfs.com
安装NFS服务器
yum install -y nfs-utils
创建nfs共享存储目录
mkdir /data
配置nfs服务
vi /etc/exports
/data 192.168.1.0/24(rw,sync,no_root_squash)
参数说明:
- ro 只读访问 (缺省)
- rw 读写访问
- sync 所有数据在请求时写入共享
- async NFS在写入数据前可以响应请求
- secure NFS通过1024以下的安全TCP/IP端口发送 (缺省)
- insecure NFS通过1024以上的端口发送
- wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
- no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
- Hide 在NFS共享目录中不共享其子目录
- no_hide 共享NFS目录的子目录
- subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
- no_subtree_check 和上面相对,不检查父目录权限
- all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
- no_all_squash 保留共享文件的UID和GID(默认)
- root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
- no_root_squas root用户具有根目录的完全管理访问权限
- anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
NFS服务启动
先启动rpcbind服务
systemctl enable rpcbind.service
systemctl start rpcbind.service
启动NFS服务
systemctl enable nfs-server.service
systemctl start nfs-server.service
确认NFS服务启动
exportfs -v
客户端安装NFS客户端
客户端不需要启动nfs服务
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
查看NFS服务端共享
showmount -e server.nfs.com
挂载NFS存储
mkdir /data
mount -t nfs server.nfs.com:/data /data
#umount /data
df -h
开机自动挂载
vi /etc/fstab
server.nfs.com:/data /data nfs defaults 0 0
如果服务器修改了NFS的配置值,而又不想重启NFS服务(因为客户端正在使用),可以使用exportsfs命令重新载入NFS配置
- export -ar 重新导出所有的文件系统
- export -au 关闭导出所有的文件系统
- export -u FS 关闭指定的导出的文件系统