文档章节

MooseFS之MooseFS介绍

柳哥
 柳哥
发布于 2015/10/10 11:48
字数 1089
阅读 341
收藏 0

到日前为止,有数十种以上的分布式文件系统解决方案可供选择,如:Lustre,Hadoop,PNFS等。为什么要选择MooseFS呢?我来说说我的看法:

  • 实施简单。MFS的安装,部署,配置相对于其他几种工具来说,要简单和容易得多。

  • 不停服务扩容。MFS框架做好后,随时可以增加服务器扩充容量;扩充和减少容量皆不会影响现有的服务。

  • 恢复服务容易。除了MFS本身具备高可用特性外,手动恢复服务也是非常快捷的。

MFS的特性

  • 高可靠性(数据能被分成几个副本存储在不同的计算机里)。

  • 通过增加计算机或增加新的硬盘动态扩充可用磁盘空间。

  • 可以设置删除文件的空间回收时间

  • 为文件创建快照

MFS文件系统的组成

MFS分布式文件系统由元数据服务器元数据日志服务器(也称备份服务器),数据存储服务器客户端(用户主机)等几部分组成。

  • 元数据服务器,它在整个体系中负责管理文件系统。目前MFS只支持一个元数据服务器Master,也就是说MFS对Master服务器有单点依赖,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个Master服务器,进一步提高系统的可靠性。

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

  • 数据存储服务器Chunk Server。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器Chunk Server之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的"磁盘空间"越大,可靠性也越高。

  • 客户端。使用MFS文件系统来存储和访问的主机称为MFS客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。

MFS读写处理过程

MFS读取数据有以下4个步骤

  1. 客户端向元数据服务器发出请求。

  2. 元数据服务器把所需数据存放的位置(Chunk Server的IP地址及Chunk编号)告知客户端。

  3. 客户端向已知Chunk Server请求发送数据。

  4. 客户端取得所需数据。

整个读取数据的过程如下图:

数据传输并不通过元数据服务器。这既减轻了元数据服务器的压力,同时也大大增加了整个系统的吞吐能力。在多个客户端读取数据时,读取点(Chunk Server)有可能被分散到不同的服务器。

写入数据的过程比读取数据要复杂一些,大致分为以下8个步骤

  1. 客户端向元数据服务器发送写入请求。

  2. 元数据服务器与Chunk Server进行如下交互(这个过程是可选项目,只有当所需的Chunks不存在时才进行这个交互)。a. 元数据服务器指示在某些Chunk Server创建分块Chunks。b. Chunk Server告知元数据服务器,步骤a的操作成功。:Chunk Server是相对于服务器的,而Chunks则是以磁盘分区为对象,一个Chunks就是一个MFS磁盘分配单位。

  3. 元数据服务器告知客户端,你可以在哪个Chunk Server的哪个Chunks写入数据。

  4. 向指定的Chunk Server写入数据。

  5. 与其他Chunk Server进行数据同步。同步的服务器依据设定的副本数而定,副本为2,则需同步一个ChunkServer。

  6. Chunk Server之间同步成功。

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

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

整个写入过程如下图:

与读取数据一样,MFS写入数据的过程中,数据的传输仍然不需要经过元数据服务器

© 著作权归作者所有

柳哥
粉丝 207
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
Linux搭建MFS分布式文件系统

说明: 架构规划 元数据服务器 mfs-master-1 172.16.100.2 备份服务器 mfs-metalogger 172.16.100.4 数据存储服务器 mfs-chunkserver-1 172.16.100.5 数据存储服务器 mfs-chunkserver-2 172....

流年契约
2018/06/28
0
0
分布式文件系统 MooseFS 1.6.27-5 发布

MooseFS 1.6.27-5 发布,此版本最重要的更新就是限制l chunkserver 的连接断开;修复了网络连接超时的问题;在 metarestore 添加了一个进度百分比;改进了写新 chunks 时选择服务器的算法。 ...

oschina
2014/02/12
1K
1
分布式网络文件系统--MooseFS

一.介绍 1.简介 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本。对于访问的客户端或者用户来说,整...

yaohong
2017/11/21
0
0
mooseFS 2.0 发布,网络分布式文件系统

2014年7月1日,分布式文件系统 moosefs 2.0 发布,分为社区版和专业版。 此版本支持在多个规则中运行多个 master 服务器。其中一个规则是 ”leader”,是给 chunkservers 和客户端使用。每个...

purple_grape
2014/09/23
1K
2
分布式文件系统 MooseFS 1.6.27 发布

Moose File System 是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上,MooseFS 通过 FUSE 使之看起来就是一个 Unix 的文件系统。 分布式文件系统MooseFS发布了1...

fei
2013/04/01
2.5K
6

没有更多内容

加载失败,请刷新页面

加载更多

jQuery使用GET方式来进行异步请求

jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url(String) : 发送请求的URL地址. data(Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,...

前端老手
18分钟前
3
0
网络安全市场需求

最近,网络安全技能差距的热门话题流传开来。技能差距经常被紧急讨论,可以看出它在实践中的作用是很大的。但信息安全是一门广泛的学科,所以在谈论“技能差距”时需要更具体。有专家表示,真...

linuxCool
35分钟前
3
0
定期批量改密,实现高效运维,保障口令安全

随着企业IT资产规模的不断增大,各类主机、应用系统的管理也变得愈加困难。 对于系统管理员来说,保证操作系统的密码安全是其重要工作,在需要维护众多的主机时,其面临的困境将是: 1、难以...

堡垒啊
今天
5
0
怎样在磁盘上查找MySQL表的大小?这里有答案

导读 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎...

问题终结者
今天
6
0
Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2

问题 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override@Cacheable(value = "people#${s...

xiaolyuh
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部