1、什么是NFS?
全称 network file system 网络文件系统
通过网络存储和组织文件的一种方法或机制。
什么是文件系统?
2、为什么要用共享存储?
前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一
的放到后端的存储上。
为什么要共享?所有节点服务器都需要将内容存到存储上,取的统一来取。
3、共享存储的种类
单点存储系统就是NFS,中小型企业,阿里云服务的NAS服务,OSS对象存储。
NFS性能不太高。
大型企业会用分布式存储FastDFS、Ceph、GlsterFS、Mfs
大型存储厂商:EMC、Netapp 几十万。
艺龙旅行网 存储用的EMC 传统企业。
硬件存储:传统企业:稳定、2台 双主机头 几十块硬盘 RAID10。
BAT 曾经用硬件,超贵、
阿里云 去IOE Ibm Orace EMC
4、NFS工作原理
NFS网络文件系统
启动NFS服务,而且还有启动很多端口。
NFS功能,需要很多服务。每个服务都有端口,而且经常变化。
如何让客户端找到这些端口呢?就需要一个经纪人(rpc服务)
NFS服务:
1、NFS服务(有很多进程和端口),把自己的端口告诉RPC。
2、RPC服务(对外固定端口111)
客户端请求NFS服务,先找RPC 111,查到NFS的端口,发给客户。
原理见图:
5、安装
服务器端和客户端都要安装:
yum install nfs-utils rpcbind -y
先启动RPC
systemctl start rpcbind.service
systemctl enable rpcbind.service
启动NFS
systemctl start nfs
systemctl enable nfs
检查端口
netstat -lntup|egrep "rpc|nfs"
6、配置nfs
NFS配置文件 /etc/exports
1)待共享的目录 存东西的目录 取东西的目录例如:/data
2)访问的主机,
172.16.1.7(web01) 单个主机
172.16.1.0/24 网段
master 主机名
3)()权限
rw 可读写 read write
ro 只读 read only
sync 写到磁盘才算完成,安全 慢
async 异步写到远程缓冲区,快 不安全
all_squash 所有用户匿名
root_squash root用户匿名
anonuid= 1111 指定匿名用户的uid
anongid=1111 指定匿名用户的gid
NFS默认用户nfsnobody
chown -R nfsnobody.nfsnobody /data ##更改共享目录的属主和属组为nfsnobody
配置后重启NFS
systemctl reload nfs ##《==生产场景必须要实现平滑重启。
showmount -e 172.16.1.31 ##查看NFS提供的共享目录
服务单本地挂载:
mount -t nfs 172.16.1.31:/data /mnt
课后作业
1、backup客户端挂载好
2、实现开机自动挂载(fstab里实现,rc.local)
3、项目实践:
web01 backup客户端实现挂载到nfs
NFS下面共享/backup ,允许web01 backup客户端(/backup)可读写.
web01上传图片,backup上可以删除web01上传的图片。
NFS下面共享/data1,允许 web01 backup客户端10网段只读(data1)
实现开机自动挂载