MFS分布式文件系统实战(一)——基础

MFS(MooseFS)是一种容错性分布式文件系统,能够将数据分散存储于多台服务器,提供高可靠性、可扩展性和数据一致性。本文详细介绍了MFS的组件、原理、数据处理流程及默认端口,帮助理解其在网络存储领域的应用。

一、MFS分布式文件系统简述

1、MFS是什么?

MooseFS是一个 具备容错性的分布式网络文件系统,它将数据分别存放在多个物理服务器(单独磁盘或分区)上,确保一份数据有多个备份副本。对于访问用户(客户端)来说,整个分布式网络文件系统集群看起来就像一个资源。

  • 分布式文件系统的好处:集中访问、简化操作、数据容灾、提高文件的存取性能

特征:

  • mfs是一个分层的目录树结构
  • 存储支持POSIX标准的文件属性(权限,最后访问和修改时间)
  • 支持特殊的文件,如:块设备,字符设备,管道和套接字,链接文件(符号链接和硬链接)
  • 支持基于IP地址和密码的方式访问文件系统

2、MFS的特性

  • 高可靠性:每份数据可以设置多个副本,并可以存储在不同的主机上
  • 高可扩展性:可轻松的通过增加主机磁盘容量或增加主机数量来动态扩展整个文件系统的存储量
  • 高可容错性:删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)
  • 高数据一致性:即便文件被写入/访问时,我们依然可以完成对文件的一致性快照

3、MFS相关原理

分布式原理
分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。

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

4、四大组件

MooseFS文件系统主要 由四大组件构成,分别为管理服务器、元数据日志服务器、数据存储服务器、客户端,相关解释如下:

  • 管理服务器(Master Server)管理整个mfs文件系统的主服务器,除了 分发用户 请求外,还用来存储整个文件系统中的每个数据文件的metadata信息,metadata(元数据)信息包括文件(也可以是目录、socket、管道、设备等)的大小、属性、文件位置路径等,以及文件空间的回收和恢复,控制多chunk server节点的数据拷贝。类似lvs负载均衡主服务器,不同的是lvs仅仅根据算法分发请求,而master根据内存里的metadata信息来分发请求。此master仅可有一台处于激活工作的状态。

  • 元数据日志服务器(metalogger Server) : 备份管理服务器master的变化的metadata信息日志文件,文件类型为changelog_ml.*.mfs,以便于在主服务器出现问题的时候,可以经过简单的操作即可让新主服务器进行工作。这很类似Mysql的主从同步,只不过他不像mysql从库那样在本地应用数据,而只是接收主服务器上文件写入时记录的文件相关的metadata信息。此backup可以有一台或多台,类似于lvs从负载均衡器。

  • 数据存储服务器(Chunk Servers)任意数目的商用服务器,用来存储文件数据,数据文件写入到一个数据服务器后,会根据算法在其他数据服务器上进行同步备份。

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

5、MFS数据处理过程

如下图中 Master Server用三角形表示,Chunk Server用圆形表示,Client 用方形表示

5.1 读过程过程

读过程,有以下四个步骤:
在这里插入图片描述

 - client客户端访问主服务器master,获取文件实体的位置等相关信息。

 - 主服务器master查询缓存记录,把文件实体的位置等相关信息(Chunk Server的IP地址和Chunk编号)发给client客户端。

 - Client客户端根据拿到的信息去访问对应的存储实体数据的服务器(data servers或者chunk servers)。

 - 存储实体数据的服务器(data servers或者chunk servers)把对应的数据返回给Client客户端。

当多个MFS客户端读数据的时候,master服务器充当路由为这些客户端分发指路的作用,而数据的返回是由不同的数据服务器直接返回给请求的客户端,这样的模式可以极大的减轻主服务器的系统及网络瓶颈,增加了整个系统的吞吐。

5.2 写过程过程

写过程,如下图:

在这里插入图片描述

 - Client客户端访问主服务器master,请求写入数据。
 
 - 主服务器master查询缓存记录,如果是新文件,则会联系后面的数据服务器创建对应的chunk对象准备存放文件。
 
 - 数据服务器返回创建对应的chunk对象成功给主服务器。
 
 - 主服务器master把文件实体的位置等相关信息发给client客户端。
 
 - Client客户端访问对应的数据服务器写数据。
 
 - 数据服务器之间进行数据同步,互相确认成功。
 
 - 数据服务器返回成功写入信息给Client客户端。
 
 - Client客户端回报给主服务器master写入结束。

5.3 删除数据过程

在这里插入图片描述

5.4 修改数据过程

在这里插入图片描述

6、MFS默认端口

端口作用
9419metalogger 监听的端口地址(默认是9419),和源数据日志结合。定期和master端同步数据
9420用于chunkserver 连接的端口地址(默认是9420),通信节点
9421用于客户端对外连接的端口地址(默认是9421)
9422MFS chunck 和MFS Client端通信端口
9425MFS master web界面监听端口,查看整体运行状态
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值