MFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
中文名:MFS
外文名:MooseFS
特 点:具有容错性
软件属性:网络分布式文件系统
常规特征:
对标准的文件 *** 作来说,mfs用起来跟其它的类unix系统类似:
1、分层次的结构(目录树)
2、存储POSIX文件属性(权限、最后访问和修改时间)
3、支持特殊文件(块和字符设备、管道以及套接字)
4、符号连接和硬连接
5、对文件系统的访问可以通过IP地址和(或者)密码进行限制
独有特征:
1、高可靠(数据的多个拷贝被存储在不同的计算机上)
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站)
4、不受访问和写入影响的文件连贯快照
选分布式文件系统就像选一辆车,功能相近(高可用、高性能、高可扩展性),但是总有不一样的地方。
作为老牌的开源的软件定义存储,项目始于2008年,来自欧洲的波兰华沙。目的是为了解决30W每秒的大数据处理作业。使用C语言开发,目前版本为3.0。设计理念和其他分布式文件系统大同小异。
- 高可用(High Availability),为数据提供副本,为元数据采用日志加元数据备份的方式保证数据不丢失。
- 低开销的数据安全能力(Low-cost data safety) 在使用冗余的情况下可以节省55%的空间(这点倒是很有意思)。
-可扩展性(Scalability)可以扩展到16EB,最大存储20亿个文件。
- 高性能(High performance)能做到数据的并发读写。
mfsmaster 负责存储整个文件系统的元数据。一般元数据会就近存在本地以raid1和raid1+0组成的磁盘。在设计上该服务只是一个单线程,因此需要配备主频更高的处理核心,而对核心数的要求则相对较低。这里可能存在单点的性能瓶颈。
mfschunkserver负责存储文件系统的数据,由一组服务器组成。一般使用JBOD上面做xfs文件系统。在设计的时候数据服务能够发现底层磁盘出现的问题,将数据复制到其他地方,并将该磁盘设置成损坏。moosefs是不建议底层磁盘采用raid方式,因为它检测不出raid盘坏,出现了问题。(在使用beegfs底层用raid时就有类似的问题,只有在IO的时候才发现磁盘组有问题,甚是痛苦)
chunkserver的状态有三种normal/internal rebalance/overloaded。这点和beegfs很像也是三种状态。三种状态对应的是所使用磁盘的状态,normal代表磁盘正常,internal rebalance一般在新的节点加入时出现,之后chunkserver之间会发生数据平衡。overloaded代表此时磁盘负载过重,并会向mfsmaster发出警告消息。
在区分chunkserver时moosefs引入了 label 的概念,给不同的服务器设置label,并将文件和目录设置不同的label表达式,达到控制数据流向目的。
mfsmetalogger 负责作为元数据服务器的备份,定期获取元数据服务的changelog(也可以理解为journal)和元数据,在mfsmaster出现问题的时候负责接管元数据服务。
mfsmount负责做客户端工作,同mfsmaster获得元数据,同mfschunkserver获得数据。数据块的最大为64MB。
内部的文件完整性检查使用hash算法的方式。
架构设计上lizardfs作为moosefs的一个分支基本是一致的。和HDFS也很神似。
支持节点加入之后的 数据均衡 ,和节点损坏之后的 自动恢复, 自动15分钟内1TB的恢复能力 。
能够为不同的 文件以及目录 选择数据存储的节点。
提供 缓存存储 。它是一个提升性能的手段,使得存储资源可以合理利用。
接口方面,文件提供的接口兼容 POSIX接口 ,提供原生的客户端 FUSE和Windows (提供原生客户端的目的可以考虑功能,但主要是性能方面的要求)。
数据保护方面,底层存储提供的数据保护,支持 纠删码 和默认为 2的数据副本 。
访问控制方面支持,原生的Unix权限和访控列表(ACL)。
支持 快照 ,快照是一些备份机制的基础。
回收站功能 ,防止数据被误删。
提供 基于目录的配额 。
IO由多线程并发执行。
目前提供两个版本 普通版 和 专业版。 普通版使用(GPLv2)许可,专业版面向的是企业用户提供了其他的一些特性(windows客户端、元数据高可用、以及纠删码),这些特性旨在提高系统的稳定性和可靠性。目前现在很多分布式厂商也采用类似的玩法,不如beegfs开源了自己的版本,但在如windows客户端等一些功能上采用商用的许可证。
宣传比较多的为大数据提供存储。多分布在欧洲。
官方网站:https://moosefs.com
ScaleIO:使用d性聚合软件产品来革新数据存储,该软件产品利用本地磁盘来创建服务器存储区域网络 (SAN)。纯软件方式的基于服务器的存储区域网络 (SAN),将存储和计算资源聚合到一起,形成单层的企业级存储产品。 ScaleIO 存储d性灵活,可以提供可线性扩展的性能。 其横向扩展服务器 SAN 体系结构可以从几个服务器扩展至数千服务器。基本适用于全平台。https://community.emc.com/thread/198500
VSAN:VMware Virtual SAN™ 是面向虚拟环境中超聚合的软件定义存储.Virtual SAN 是第一款专为 vSphere 环境设计的策略驱动型存储产品,可帮助用户实现存储调配和管理的简化和优化。通过使用虚拟机级存储策略,Virtual SAN 可自动将需求与底层存储资源进行动态匹配。借助 Virtual SAN,许多手动存储任务都可以实现自动化,从而提供更加高效和经济实惠的运维模式。对比 ScaleIO,它是仅限于VMware虚拟化平台的。
参考链接:Virtual SAN:软件定义的共享存储 | VMware 中国
MFS 是分布式文件系统,可参考:分布式存储系统MFS -
Ceph是一个 Linux PB 级分布式文件系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)