Mogile FS是一个开源的分布式文件系统。主要特性包括:

1. 应用层的组件
2. 无单点故障
3. 自动文件复制
4. 具有比RAID更好的可靠性
5. 无需RAID支持
......

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS系统结构如下图所示:

跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的...

OpenAFS是一套开放源代码的分布式文件系统,允许系统之间通过局域和广域网来分享档案和资源。

OpenAFS 是围绕一组叫做 cell 的文件服务器组织的。每个服务器的标识通常是隐藏在文件系统中的。从 AFS 客户机登录的用户将分辨不出他们在哪个服务器上运行,因为从用户的观点来看,他们想在有可识别的 UNIX 文件系统语义的单个系统上运行。文件系统内容通常都是跨 cell 复制,以便一个硬盘的失效不会损害 OpenAFS 客户机上的运行。OpenAFS 需要高达 1 GB 的大容量客户机缓存,以允许访问经常使用的文件。它还是一个十分安全的基于 Kerbero 的系统,它使用访问控制列表 (ACL) 以便可以进行细粒度的访问,这不是基于通常的 Linux 和 UNIX 安全模型。

缓 存管理器碰巧是 OpenAFS 的一部分,很奇怪,它只作为底层文件系统与 ext2 一起运行。除缓存管理器之外,OpenAFS 表层的基本结构很像现代的 NFS 实现。但是,基本架构却一点都不像,而且必须慎重看待它的任何并行。对那些仍喜欢使用 NFS,但是又想利用 OpenAFS 程序的人来说,可以使用所谓的 NFS/AFS 翻译器。只要 OpenAFS 客户机被配置为 NFS 服务器机器,您就应该能够享受这两种文件系统的优点。

NFS 是位置无关的,它把本地目录映射到远程文件系统位置。OpenAFS 对用户隐藏了文件位置。因为可能所有的源文件都以读写副本的形式保存在复制到的不同文件服务器位置上,必须保持复制的副本同步。为此要使用一项称作 Ubik 的技术,它源于单词“ubiquitous(无所不在)”,是东欧拼写法。Ubik 过程使 AFS 文件系统上的文件、目录和卷 (volume) 保持同步,但是通常运行三个以上文件服务器进程的系统获益最多。系统管理人员可以将一个 AFS 站点的几个 AFS cell 分组 —— 这个以前的缩写词 AFS 已经被保留在 OpenAFS 文件系统的语义中了。管理人员将决定 AFS cell 的数目,以及 cell 使存储器和文件对站点内的其他 AFS cell 可用的程度。

 

Moose File System 是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上,MooseFS 通过 FUSE 使之看起来就是一个 Unix 的文件系统。

 

CloudStore(KFS,Kosmos File System)分布式文件系统有着高性能,可用性和可靠性等特点。它的目的是用来作为后端的存储基础设施,密集型数据应用,如搜索引擎,数据挖掘,网格计算等。

功能和特点
增量的可扩展性:存储需求可对节点增加,系统会自动适应新的节点。
可利用性:复制是用来提高可用性。通常情况下,文件复制有3种方式。
每个文件的复制程度:在一定程度的复制配置,最大限制为64。
机架数据放置:数据在不同的块架上。
重新平衡:每隔一段时间,中继服务器可以平衡块之间。这样做是为了帮助平衡的磁盘空间之间节点的利用率。
数据完整性:为了处理硬盘损坏的数据块,校验核查所做的每一个阅读,每当有一个校验和不匹配,再复制是用来恢复损坏的块。
文件写入:该系统遵循的标准模式。当应用程序创建一个文件,文件名变成部分文件的命名空间。
缓存:客户端库使用缓存以提高性能。用于支持高速缓存的一致性。
块的版本:版本是用来探测陈旧块。
用户端故障转移:如果客户端库确定无法访问,客户端库将故障转移。
语言支持:可用C++,Java和Python访问客户端库。
工具:包含了一系列新的工具。这可以让用户使用命令浏览文件系统,如cp, ls, mkdir, rmdir, rm, mv。
本地阅读优化:当应用程序运行在同一节点是包含一个优化的本地读取数据。

GlusterFS 是一个集群的文件系统,支持 PB 级的数据量。GlusterFS 通过 RDMA 和 TCP/IP 方式将分布到不同服务器上的存储空间汇集成一个大的网络并行文件系统。

Lustre是开放源代码的集群文件系统, 采取 GPL 许可协议 集群计算机里,计算机与磁盘间数据交换速度的提升无法跟上微处理器和内存增长的速度,从而也拖累了应用程序的性能。

一种新兴的集群文件系统软件提高了I/O速度,可能降低企业购买存储设备的成本并改变企业购买存储的方式。

集群文件系统已经在大学、实验室和超级计算研究中心里使用,而且即将进入通用商业计算市场。

集群文件系统所拥有的快速I/O速度,可能将会改变企业处理存储的方式。

新的集群文件系统采用了开源的Lustre技术,由美国能源部(Department Of Energy)开发,惠普公司(HP)提供商业支持。它显著提高了输入输出(I/O)速度,目前已经在高校、国家实验室和超级计算研究中心产生了一定的影 响,未来几年中,它还有可能进入普通商业计算领域。

Hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。

下图是Hadoop的体系结构:

分布式文件系统_第1张图片