1 NFS简介
1.1 什么是NFS
NFS=Network File System=网络文件系统。
主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。
NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下)。从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。
分布式文件系统:Moosefs(mfs)、GlusterFS、FastDFS(推荐)
NFS属于本地文件存储服务。
NFS主要用于存储web服务器上用户上传的数据信息,图片 附件 头像 视频 音频。
1.2 NFS存储服务价值
(1)可以实现数据统一共享存储
(2)节省架构服务运营成本
1.3 NFS存储服务的优缺点
优点:配置 安装简单
缺点:没有认证功能 分布式存储/ftp/samba
无法支持高并发存储 日PV 2000万
无法实现高可用 分布式存储/keepalived
1.4 实现Windows与linux文件数据共享
(1)FTP服务部署
(2)samba服务部署(可以让Windows与linux同时访问)
1.5 NFS网络文件共享系统由来
可以实现数据共享,数据统一一致,节省架构服务运营成本
1.6 NFS网络文件系统工作方式(存储原理)
(1)在nfs服务端创建共享目录
(2)通过mount 网络挂载,将NFS服务端共享目录挂载到NFS客户端本地目录上。
(3)NFS客户端挂载目录上创建、删除、查看数据操作,等价于在服务端进行创建、删除、查看数据操作。
1.7 NFS存储文件系统中两个重要服务
1 RPC服务 2 NFS服务
1.7.1 RPC服务工作原理
因为NFS的各项功能都需要向RPC服务(rpcbind服务)注册,所以只有RPC服务才能获取到NFS服务的各项功能对应的端口号(port number)、PID、NFS在主机所监听的IP等信息,而NFS客户端也只能通过向RPC服务询问才能找到正确的端□。也就是说,NFS需要有RPC服务的协助才能成功对外提供服务。
1.7.2 NFS工作流程
1.7.3 NFS详细访问流程
当访问程序通过NFS客户端向NFS服务器存取文件时,其请求数据流程大致如下:
(1)首先用户访间网站程序,由程序在NFS客户端上发出存取NFS文件的请求,这时NFS客户端(即执行程序的服务器)的RPC服务(rpcbind服务)就会通过网络向NFS服务器端的RPC服务(rpcbind服务)的111端口发出NFS文件存取功能的询间请求.
(2)NFS服务器端的RPC