MFS原理

版权声明:皆为本人原创,复制必究 https://blog.csdn.net/m493096871/article/details/88104520

分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。

分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。

 简单一些来说就是把一些分散的共享文件夹(分布在局域网内部的各个计算机上),集合到一个文件夹内部(虚拟共享文件夹),对于用户来说,用户访问这个虚拟文件夹时,只要是打开这个虚拟文件夹,就可以看到所有链接到这个虚拟文件夹的数据,但是用户感觉不到这些共享文件夹都是分散在各个计算机上的。

分布式文件系统的优点就是集中访问,简化操作,数据容灾,提高文件的存储性能。

MooseFS是一个分布式存储的框架,其具有如下特性:

  1. Free(GPL)
  2. 通用文件系统,不需要修改上层应用就可以使用(那些需要专门api的dfs很麻烦!)。
  3. 可以在线扩容,体系架构可伸缩性极强。(官方的case可以扩到70台了!)
  4. 部署简单。(sa们特别高兴,领导们特别happy!)
  5. 高可用,可设置任意的文件冗余程度(提供比raid1+0更高的冗余级别,而绝对不会影响读或者写的性能,只会加速!)
  6. 可回收在指定时间内删除的文件(“回收站”提供的是系统级别的服务,不怕误操作了,提供类似oralce 的闪回等高级dbms的即时回滚特性!)
  7. 提供netapp,emc,ibm等商业存储的snapshot特性。(可以对整个文件甚至在正在写入的文件创建文件的快照)
  8. google filesystem的一个c实现。
  9. 提供web gui监控接口。
  10. 提高随机读或写的效率(有待进一步证明)。
  11. 提高海量小文件的读写效率(有待进一步证明)。

MFS原理

 1、元组管理服务器(master server)

    一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)

2、元数据存储服务器群(chunk servers)

    任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)

3、元数据备份日志服务器(metalogger server)

    任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。

4、访问mfs的客户端

    任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。

MFS读取数据的过程

1.客户端向元组管理服务器发出读(r)的请求

2.元数据服务器把所需数据存放的位置(chunk servers的IP地址和编号)告诉客户端

3.客户端向已知的chunk servers请求发送数据

4.chunk server向客户端发送数据

猜你喜欢

转载自blog.csdn.net/m493096871/article/details/88104520
mfs