5-nfs存储服务

1、NFS基本概述

NFS是Network File System 的缩写及网络文件系统。NFS主要功能是通过局域网让不同的主机系统之间可以共享文件或目录。

NFS系统和Windows 网络共享、网络驱动器类似,只不过windows 用于局域网,NFS用于企业集群架构中,如果是大型网站,会用到更复杂的分布式文件系统 FastDFS, glusterfs, HDFS

那么我们为什么要使用数据存储共享服务?

1、实现多台服务器之间数据共享

2、实现多台服务器之间数据一致

2、NFS应用场景

下面我将通过图解给大家展示集群需要共享存储服务的理由。

1、A用户上传图片经过负载均衡,负载均衡将上传请求调度至WEB1服务器上。

2、B用户访问A用户上传的图片,此时B用户被负载均衡调度至WEB2上,因为WEB2上没有这张图片,所以B用户无法看到A用户传的图片;

如果有共享存储的情况

1、A用户上传图片无论被负载均衡调度到WEB1还是WEB2,最终数据都被写入至共享存储

2、B用户访问A用户上传图片时,无论调度至WEB1还是WEB2,最终都会上共享存储访问对应的文件,这样就可以访问到资源了

 3、NFS实现原理

Rpc.nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;

Rpc.mount: 主要功能是管理NFS的文件系统。当客户端顺利通过nfs登录NFS服务器后,在使用NFS服务器提供的文件前,还必须通过文件使用权限的验证。

Portmap:主要功能是进行端口映射工作

本地文件操作方式

1、当用户执行 mkdir 命令,该命令会调用 shell 解释器翻译给内核。

2、内核解析完成后会驱动对应的硬件设备,完成相应的操作。

NFS实现原理(需要先了解 [程序\进程\线程])

1、用户进程访问NFS客户端,使用不同的函数对数据进行处理

2、NFS客户端通过TCP/IP的方式传递给NFS服务端。

3、NFS服务端接收到请求后,会先调用portmap 进程进行端口映射。

4、nfsd进程用于判断NFS客户端是否拥有权限连接NFS服务端。

5.Rpc.mount进程判断客户端是否有对应的权限进行验证。

6. idmap进程实现用户映射和压缩

7.最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,上内核恭外运硬件。

注:rpc 是一个远程过程调用,那么使用nfs必须有rpc服务

4.NFS服务安装

0. 环境准备

 注意:不要忘记关闭防火墙,以免默认的防火墙策略

猜你喜欢

转载自www.cnblogs.com/sunjj/p/12427943.html