首页 > 其他 > 详细

NFS文件系统简介及原理

时间:2016-03-23 06:40:49      阅读:149      评论:0      收藏:0      [点我收藏+]

什么是文件系统,NFS文件系统又是什么?

简单的说,文件系统就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视。

NFS,Network File System。顾名思义,网络文件系统,即通过网络,对在不同主机上的文件进行共享。

为什么需要使用NFS呢?

在生产环境,我们很少使用单机部署应用,因为单机存在单点故障,一旦宕机,将无法为前端业务提供服务,这是客户无法容忍的。现在提倡的高可用及7*24服务,是我们追求的目标。 对于一些小的应用,双机成为了主流。我们来看一种简单集群场景, 应用分别部署在A及B上, 前端通过F5或着web服务器访问应用。如下图:

技术分享

技术分享

那么当客户端发出一个请求时,F5根据一定的机制进行转发,有可能有A服务器进行响应,也有可能

由B服务器进行响应。 而在web应用中上传一些静态文件是很常见的一种功能,如图片。假设用户在某一时间,上传了一张照片到A服务器上,那么下次访问时,被F5路由到了B服务器上,由于B服务器上并没有存储上传的照片,所以将造成用户无法看到自己上传的照片。


那么很容易想到,是不是可以把文件上传到一个公用的服务器上呢? 这样不管访问的是A还是B,读、取文件都只存在一份。答案是肯定的,这个公用的服务器我们也称之为文件服务器。上面的架构就演变成了下面的架构:

技术分享

技术分享

说了这么多,跟NFS又有什么关系呢?

NFS提供了一种机制,可以让A、B访问C中的一个共享目录,就像是操作本地文件一样。既然NFS有这么牛逼的能力,又有什么原因不去深入了解一下呢?

注:此处当然也可以通过sftp或ftp进行文件上传和下载。

NFS的原理:

我们用一个图来进行说明:

技术分享

技术分享

首先:NFS包括两部分,服务端及客户端

由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,因为程序间通信必须通过端口(tcp/udp都是端到端通信),那么就需要一个中间的桥接机制,RPC进程即充当这样一个角色,RPC的端口是一定的(111),当NFS启动时,会向RPC进行注册, 那么客户端PRC就能与服务器RPC进行通信, 从而进行文件的传输。 

当客户端用户打开一个文件或目录时,内核会判断,该文件是本地文件还是远程共享目录文件,如果是远程文件则通过RPC进程访问远程NFS服务端的共享目录,如果是本地文件,则直接打开。

为了更好的并发,RPC进程及NFS进程都有多个。



本文出自 “技术博客” 博客,请务必保留此出处http://zjw06.blog.51cto.com/5885048/1754084

NFS文件系统简介及原理

原文:http://zjw06.blog.51cto.com/5885048/1754084

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!