前提
什么是MFS文件系统?
Moose File System 是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上,MooseFS 通过 FUSE 使之看起来就是一个 Unix 的文件系统。
MFS文件系统个人理解: 将分布在各个范围的计算机,将他们未使用的分区统一进行管理使用的一种文件系统。
MFS文件系统结构:
包含3种角色:
管理服务器managing server (master)
数据存储服务器data servers (chunkservers)
客户机挂载使用client computers
工作原理
Mogilefs工作原理:
MogileFS是一个开源的分布式文件系统。其特性包括:应用层的组件、无单点故障、自动文件复制 主要由mogilefsd和mogstored两个程序组成。前者即是mogilefsd的tracker,它将一些全局信息保存在数据库里,例如站点domain,class,host等。后者即是存储节点(store node),它其实是个HTTP Daemon,默认侦听在7500端口,接受客户端的文件备份请求。在安装完后,要运行mogadm工具将所有的store node注册到mogilefsd的数据库里,mogilefsd会对这些节点进行管理和监控。
tracker 节点: 借助数据库保存各节点文件的元数据信息保存每个域中所有键的存储位置分布 , 方便检索定位数据位置的同时监控各节点,告诉客户端存储区位置并指挥 storage 节点复制数据副本,进程名为 mogilefsd(7001) 。
database 节点: 为 tracker 节点提供数据存取服务。
storage 节点: 将指定域中的键转换为其特有的文件名存储在指定的设备文件中,转换后的文件名为值, storage 节点自动维护键值的对应关系, storage 节点由于使用 http 进行数据传输,因此依赖于 perlbal , storage 节点前端可以使用 nginx 进行反向代理,但需要安装 nginx-mogilefs-module-master 模块进行名称转换。
Domain : 一个域中的键值是惟一的,一个 MogileFS 可以有多个域,域可以用来存储不同应用类型的数据的容器。
Host : 每一个存储节点称为一个主机,一个主机上可以有多个存储设备 ( 单独的硬盘 ) ,每个设备都有 ID 号, Domain+Fid 用来定位文件。
Class: 复制最小单位 , 文件属性管理,定义文件存储在不同设备上份数。