首页 > 其他 > 详细

moosefs文件系统

时间:2017-01-11 14:53:56      阅读:267      评论:0      收藏:0      [点我收藏+]

1.      MooseFS文件系统

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

 

A, MooseFS文件系统结构:

MooseFS系统结构分别由master(管理服务器)、metalogger(元数据日志服务器)、chunkserver(数据存储服务器),clint computers(客户机挂在使用)四种角色。

 

B.MooseFS中各角色的作用:

Master:负责各chunkserver的管理。

Metalogger:负责备份master服务器的变化日志文件,其文件类型为changelog_ml*.mfs

(以便于在master server出现问题时接替其进行工作)。

Chunkserver:负责连接master,听从master 的调度,提供存储空间,并为客户提供数据传输。

Clint:通过fuse内核接口挂接远程master上所管理的chunkserver

 

CMooseFS的工作原理:

就是clint请求mastermaster分派他去哪里读数据。

Master 相当于 mfs的大脑,记录着管理信息,比如:文件大小,存储的位置,份数等,和innodb中共享空间(ibdata)中存储的信息类似,这些信息被记录到metadata.mfs中,当该文件被载入内存后,改文件会重命名为metadata.mfs.back,当chunkserver上有更新时,master会定期将获得的新的信息回写到metadata.mfs.back中,保重元数据的可靠。

Metalogger相当于mfs的备份,好比mysql中的m-s结构,metalogger会定期重master上将的metadatachangelogsession类型的文件下载同步到本地目录下,并加后缀”_ml”将其重命名。

Chunkserver就是 数据存储地,文件以chunk大小存储,每chunk最大为64M,小于64M的,该chunk的大小即为该文件大小,超过64M的文件将被均分,每一份(chunk)的大小以不超过64M为原则;文件可以有多份copy,即除了原始文件以外,该文件还存储的份数,当goal1时,表示只有一份copy,这份copy会被随机存到一台chunkserver上,当goal的数大于1时,每一份copy会被分别保存到每一个chunkserver上,goal的大小不要超过chunkserver的数量,否则多出的copy,不会有chunkserver去存,goal设置再多实际上也就没有意义的。Copy的份数,一般设为大于1份,这样如果有一台chukserver坏掉后,至少还有一份copy,当这台又被加进来后,会将失去的那份copy补回来,始终保持原有的copy数,而如果goal设为1copy,那么当存储该copychunkserver坏掉,之后又重新加入回来,copy数将始终是0,不会恢复到之前的1copy

Chunkserver上的剩余存储空间要大于1GBReference Guide有提到),新的数据才会被允许写入。

Client 就是客户端通过内核加载的FUSE模块,再通过和master的共同,将chunkserver共享的分区挂载到本地,然后进行读写操作。由于FUSE模块是外加的模块,当系统重启后,需要执行modprobe fuse,将其加载到内核中

 


moosefs文件系统

原文:http://4519154.blog.51cto.com/4509154/1890889

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!