MFS简介
MooseFS是一个具有容错性的网络分布式文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本;对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样
官网:
https://moosefs.com/https://moosefs.com/常规特征
对标准的文件操作来说,mfs用起来跟其它的类unix文件系统类似:
1、分层次的结构(目录树)
2、存储POSIX文件属性(权限、最后访问和修改时间)
3、支持特殊文件(块和字符设备、管道以及套接字)
4、符号连接和硬连接
5、对文件系统的访问可以通过IP地址和(或者)密码进行限制
独有特征
1、高可靠(数据的多个拷贝被存储在不同的计算机上)
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)
4、不受访问和写入影响的文件连贯快照
体系结构
1、管理服务器(master server)
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
2、数据服务器群(chunk servers)
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)
3、元数据备份服务器(metalogger server)
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置
4、访问mfs的客户端
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流
使用场景
存在的优势:
1、MFS是基于FUSE(用户空间文件系统)机制的,所以支持含有FUSE的操作方式的系统
2、MFS部署简单并提供Web界面的方式进行管理与监控,同其他分布式操作系统一样,支持在线扩容,并进行横向扩展
3、MFS还具有可找回误操作删除的文件,相当于一个回收站,方便业务进行定制
4、同时MooseFS对于海量小文件的读写要比大文件读写的效率高的多
存在的问题:
1、MFS的主备架构情况类似于MySQL的主从复制,从可以扩展,主却不容易扩展
2、随着MFS体系架构中存储文件的总数上升,Master Server对内存的需求量会不断增大
3、Master Server存在单点问题,官方解决方式是把数据信息从Master Server同步到Metalogger Server上,Master Server一旦出问题Metalogger Server可以恢复升级为Master Server,但是需要恢复时间,解决方式属于冷备;目前也可以通过第三方的高可用方案(pacemaker+moosefs)来解决Master Server的单点问题
MFS部署
环境:
server1主机为mfsmaster端 IP=172.25.100.1
server2主机为chunkserver端 IP=172.25.100.2
server3主机为chunkserver端 IP=172.25.100.3
部署master server端
##master端安装软件
##启动moosefs-master、moosefs-cgiserv
##在浏览器通过9425端口访问得到图形界面
##添加解析后成功访问到数据
部署chunkserver端
##安装moosefs-chunkserver,配置文件存储目录
##为server2主机添加新一块大小为5G的磁盘
##配置一个大小为2G的分区/dev/vdb1并格式化后挂载至上述文件存储目录
##配置开机自动挂载