mfs文件系统的基本概念个工作原理

概述:NFS网络文件系统在性能与容量上无法胜任更高的要求,而本篇讲的MFS(MooseFS)可以提供容量PB级别的共享存储,无需昂贵的专业硬件服务器,自身就拥有冗余功能及动态扩容功能,能保证数据的安全性。

 

分布式原理:分布式文件系统(distributed file system)是指文件系统管理的物质存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。简单说就是把一些分布在局域网内各个计算机上的共享文件夹,集合到一个虚拟共享文件夹内,客户端访问只需要打开这个虚拟共享文件夹即可。


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

mfs特性:

  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原理:MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一整合的资源。

MFS文件系统的组成架构:

mfs文件系统的基本概念个工作原理_第1张图片

 

  •  元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据。
  •  元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs 当Master服务器数据丢失或者损坏时,可以从日志服务器中取得进行恢复。
  • 数据存储服务器(Chunk server):真正存储数据的服务器。将文件分块保存,并相互进行复制。
  • 客户端(Client):可以像挂载NFS一样挂载MFS文件系统,其操作是相同的。

MFS写入数据的处理过程:

  1. 客户端向元数据服务器发送写入请求。
  2. 元数据服务器与Chunk server进行交互,但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Chunk server告知元数据服务器操作成功。
  3. 元数据服务器告知客户端,可以在哪个Chunk server的哪些Chunks写入数据。
  4. 客户端向指定的Chunk server写入数据。
  5. 该Chunk server与其他Chunk server进行数据同步,同步成功后Chunk server告知客户端数据写入成功。
  6. 客户端告知元数据服务器本次写入完毕。

MFS读取数据的处理过程:

  1. 客户端向元数据服务器发出读请求。
  2. 元数据服务器把所需数据存放的位置(Chunk server的IP地址和Chunk编号)告知客户端。
  3. 客户端向已知的Chunk server请求发送数据。
  4. Chunk server向客户端发送数据。

 

 

 

你可能感兴趣的:(web)