1、什么是NFS?
全称:network file system 网络文件系统。
什么是网络文件系统?
通过网络存储组织和存放数据的机制。
2、为什么要用共享存储?
前端所有的应用服务器接收到用户上传的图片、文件、视频、都会统一的放到后端的存储上。
为什么要共享?
所有节点服务器都需要将内容存到存储上,取得时候统一来取
3、共享存储的种类
单点存储系统就是NFS,中小型企业,阿里云服务的NAS服务。OSS对象存储。
NFS性能不太高。大型企业会用FastDFS、Ceph、GlsterFS、Mfs
大型存储厂商:EMC、Netapp(几十万一套设备)
艺龙旅行网:存储用的EMC,传统企业大部分都在用硬件存储。
硬件存储:稳定、2台、双主机头、几十块硬盘
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)
实现开机自动挂载