飞道的博客

MFS分布式文件系统原理

289人阅读  评论(0)

MFS分布式文件系统原理

1.分布式简介

  • 分布式文件系统(Distributed File System) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
  • 简单来说就是把一些分散的(分布在局域网内各个计算机上) 共享文件夹, 集合到一个文件夹内(虚拟共享文件夹)。 对于用户来说, 要访问这些共享文件夹时, 只要打开这个虚拟共享文件夹, 就可以看到所有链接到虚拟共享文件夹内的共享文件夹, 用户感觉不到这些共享文件是分散于各个计算机上的。
  • 分布式文件系统的好处是集中访问、 简化操作、 数据容灾、 提高文件存取性能

2.MFS原理

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

2.1MFS文件系统的组成

  • 元数据服务器(master server)

    • 一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
    • 在整个体系中负责管理文件系统, 维护元数据
  • 元数据日志/备份服务器(metalogger server)

    • 任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。
    • 备份 Master 服务器的变化日志文件, 文件类型为 changelog_ml.*.mfs。 当 Master 服务器数据丢失或者损坏,可以从日志服务器中取得文件恢复
  • 数据存储服务器(chunk server)

    • 任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。
    • 真正存储数据的服务器。 存储文件时, 会把文件分块保存, 并在数据服务器之间复制, 数据服务器越多, 能使用的“容量” 就越大, 可靠性就越高, 性能越好。
  • 客户端(client)

    • 任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。
    • 可以像挂载 NFS 一样挂载 MFS 文件系统, 其操作是相同的。

2.2MFS读取数据的处理过程

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

2.3MFS写入数据的处理过程

  • 【1】客户端向元数据服务器发送写入请求。
  • 【2】元数据服务器与 Chunk Server 进行交互(只有当所需的分块 Chunks 存在的时候才进行这个交互),但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Servers 告知元数据服务器操作成功
  • 【3】元数据服务器告知客户端, 可以在哪个 Chunk Server 的哪些 Chunks 写入数据。
  • 【4】客户端向指定的 Chunk Server 写入数据
  • 【5】该 Chunk Server 与其他 Chunk Server 进行数据同步
  • 【6】 数据同步成功
  • 【7】同步成功后 Chunk Server 告知客户端数据写入成功。
  • 【8】客户端告知元数据服务器本次写入完毕。

功后 Chunk Server 告知客户端数据写入成功。

  • 【8】客户端告知元数据服务器本次写入完毕。


转载:https://blog.csdn.net/double_happy111/article/details/105298577
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场