MFS分布式文件系统

案例概述

​ 公司之前的图片服务器采用的是 NFS, 随着业务量增加, 多台服务器通过 NFS 方式共享一个服务器的存储空间, 使得 NFS 服务器不堪重负, 经常出现超时问题。 而且 NFS 存在着单点故障问题, 尽管可以用 rsync 同步数据到另外一台服务器上做 NFS 服务的备份, 但这对提高整个系统的性能毫无帮助。 基于这样一种需求, 我们需要对 NFS 服务器进行优化或采取别的解决方案, 然而优化并不能应对日益增多的客户端的性能要求, 因此选择的解决方案是采用分布式文件系统。 采用分布式文件系统后, 服务器之间的数据访问不再是一对多的关系,而是多对多的关系, 这样可以使性能得到大幅提升。
​ 在当前多种常用的分布式文件系统中, 我们采用MFS(MooseFS)。 MFS 正式推出是在2008 年 5 月, 是一个具有容错功能的、 高可用、 可扩展的海量级分布式文件系统。 MFS 把数据分散在多台服务器上, 但用户看到的只是一个源。 MFS 也像其他类 UNIX 文件系统一样,包含了层级结构、 文件属性, 可以创建特殊的文件(块设备、 字符设备、 管道、 套接字)、符号链接和硬链接。

一、分布式简介

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

1、分布式文件系统的优势

  • 集中访问
  • 简化操作
  • 数据容灾
  • 提高文件存取性能

2、MFS原理

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

MFS文件系统组成架构图:
在这里插入图片描述

1)MFS文件系统的组成

①元数据服务器(Master)

  • 在整个体系中负责管理文件系统, 维护元数据

②元数据日志服务器(MetaLogger)

  • 备份 Master 服务器的变化日志文件, 文件类型为 changelog_ml.*.mfs。 当 Master 服务器数据丢失或者损坏,可以从日志服务器中取得文件恢复

③数据存储服务器(Chunk Server)

  • 真正存储数据的服务器。 存储文件时, 会把文件分块保存, 并在数据服务器之间复制, 数据服务器越多, 能使用的“容量” 就越大, 可靠性就越高, 性能越好。

④客户端(Client)

  • 可以像挂载 NFS 一样挂载 MFS 文件系统, 其操作是相同的。
2)MFS 处理过程
  • MFS 读取数据的处理过程

    ① 客户端向元数据服务器发出读请求。
    ② 元数据服务器把所需数据存放的位置(Chunk Server 的 IP 地址和 Chunk 编号) 告知客户端。
    ③ 客户端向已知的 Chunk Server 请求发送数据。
    ④ Chunk Server 向客户端发送数据。

  • MFS 写入数据的处理过程

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

3、NFS与MFS

多台Web服务器通过NFS共享一个存储

1)业务功能上满足需求
2)在性能与容量上无法胜任更高的要求
3)NFS服务器不堪重负,出现超时问题
4)NFS存在着单点故障问题

解决方案

1)采用分布式文件系统
2)服务器之间的数据访问不再是一对多的关系,而是多对多的关系
3)可以使性能得到大幅提升

二、案例部署

主机 操作系统 IP 地址 主要软件
Master Server CentOS 7.6 192.168.100.41 moosefs-3.0.100-1.tar.gz
MetaLogger Server CentOS 7.6 192.168.100.42 moosefs-3.0.100-1.tar.gz
Chunk Server1 CentOS 7.6 192.168.100.43 moosefs-3.0.100-1.tar.gz<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值