1、nfs简述
- NFS全称network file system 网络文件系统 ,linux/unix系统之间共享文件的一种协议,支持多节点同时挂载以及并发写入。
- Linux所需软件包信息
- rpcbind
- nfs-utils
2、nfs服务端配置
- 确认服务状态是否开启和防火墙是否关闭
#systemctl status rpcbind
#systemctl status nfs-server.service
#systemctl status iptables
#systemctl status firewalld
- 服务器端创建要共享的目录,并设置目录权限
#mkdir /nfsfile
#chmod +777 /root/nfsfile/
- 填写共享信息
#vim /etc/exports 在文件中添加以下内容
/root/nfsfile 10.10.180.43/24(rw,sync,no_subtree_check)
要共享的目录 /root/nfsfile
该目录可以被哪些节点使用 10.10.180.43/24,也可以写多个地址中间使用,分割开即可
- 常见nfs权限含义
-
ro:具有只读权限
-
rw:具有读写权限
-
no_root_squash:如果客户端是root的话,那么他对这个目录具有root的权限
-
root_squash:如果客户端是root的话,那么他的权限被限制为匿名使用者
-
all_squash:不论客户端是什么身份,他的权限都将被限制为匿名使用者
-
sync:文件同步写入到内存和硬盘
-
async:文件先写入到内存,而不是直接写入到硬盘
-
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
-
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
-
NFS 的权限不仅仅是这些,同样不仅仅依赖于这些参数配置,更重要的是前面操作的chmod 777 /root/nfsfile
-
- 使共享信息生效并查看是否共享成功
#exportfs -r
#showmount -e
Export list for qdatadb1:
/root/nfsfile 10.10.180.43/24
3、nfs客户端配置
- 确认服务状态是否开启和防火墙是否关闭
#systemctl status rpcbind
#systemctl status nfs-server.service
#systemctl status iptables
#systemctl status firewalld
- 客户端创建要挂载到的目录,并挂载
#mkdir /root/nfsclient
#mount -t nfs 10.10.180.41:/root/nfsfile /root/nfsclient/
- 客户端检查工作
#showmount -e 10.10.180.41 查看41节点挂载了哪些目录
Export list for 10.10.180.41:
/root/nfsfile 10.10.180.43/24
#df -h 查看挂载情况
#mkdir /root/nfsclient/bbb 测试创建文件夹
#touch /root/nfsclient/aaa 测试创建文件
- 更改/etc/fstab实现节点重启不失效
#vim /etc/fstab 添加以下内容
10.10.180.41:/root/nfsfile /root/nfsclient nfs defaults 0 0