工作需要,整理了一份分布式文件系统对比的材料。网上看到过不少类似的材料,大家视角不同,差别不小,这里只是提供大家参考,不对的地方欢迎指导。图片和资料基本来源于官网,不再一一列举。
GlusterFS
特点1:去中心化的分布式元数据架构
采用DHT的方式将每个file按照filename映射到节点上,
通过Davies Meyer hash函数对filename取hash值
如果file被rename,那么按照新的name计算hash后的新节点上会新建一个pointer,指向原来文件元数据所在节点。
特点2:模块化、协议栈式的文件系统
目前支持三种基本的功能和属性:
Replicator 副本,相当于raid1
Stripe 条带,相当于raid0
Distributed 分布式,相当于DHT
以上任意两个模块可以组合在一起。当时系统一旦选择其中一个属性,后面不能再修改。
目前主要的用法是Distributed+Replicator。选择了Distributed+Replicator后,某个文件就会在Gluster集群的两个节点上各有一份镜像。
其他:
存储节点上支持多种文件系统ext3、ext4、xfs、zfs
存储节点的硬件可以是JBOD,也可以是FC san
NAS集群功能通过CTDB实现
通过一个用户态的轻量级的nfsserver提供NFS接口
CIFS通过linux自带的Samba实现
全兼容Hadoop,可以替代HDFS
Client端提供最新的KVM的补丁,可以为KVM的虚拟机提供存储能力。
商业应用:
最初GlusterFS由Gluster INC提供商业服务。被intel收购后将全部源码开源。也有第三方的存储厂家提供基于GlusterFS的解决方案。