一、简介
NFS是Network File System的缩写即网络文件系统。
NFS的主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
通常中小企业首选NFS作为集群架构的存储,但如果是大型网站, 会用到复杂的分布式文件系统,如FastDFS,glusterfs等等
应用场景
二、实战
2.1 nfs服务部署
#1、环境准备
systemctl disable firewalld
systemctl stop firewalld
sed -ri '#^SELINUX=#cSELINUX=Disabled' /etc/selinux/config
setenforce 0
#2、安装服务
yum -y install nfs-utils
systemctl enable rpcbind nfs-server
#3、修改配置文件
vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash)
# systemctl restart rpcbind nfs-server
#4、创建挂载目录,授予权限
mkdir /data && chown -R nfsnobody.nfsnobody /data
nfs共享参数详解:
- rw* 读写权限
- ro 只读权限
- root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
- no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
- all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
- no_all_squash 无论NFS客户端使用什么账户访问,都不进行压缩
- sync* 同时将数据写入到内存与硬盘中,保证不丢失数据
- async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
- anonuid* 配置all_squash使用,指定NFS的用户UID,必须存在系统
- anongid* 配置all_squash使用,指定NFS的用户UID,必须存在系统
2.2 客户端挂载
#1、安装客户端工具,仅启动rpcbind服务
yum -y install nfs-utils rpcbind
systemctl restart rpcbind
#2、客户端使用showmount -e查看远程服务器rpc提供的可挂载nfs信息
showmount -e 172.16.1.31
#3、创建目录并挂载
零时挂载:
mkdir /nfsdir && mount -t nfs 172.16.1.31:/data /nfsdir
永久挂载:
vim /etc/fstab
172.16.1.31:/data /nfsdir nfs defaults 0 0
#4、验证
df -h