1.Lustre
lustre是一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是由SUN公司开发和维护。该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数量存储系统。
lustre是开放源代码的集群文件系统,采取GPL许可协议,目前在集群计算机里,计算机与磁盘间数据交换的提升无法跟上微处理器和内存增长的速度,从而也拖累了应用程序的性能,一种新兴的集群文件系统软件提高了I/O速度,可能降低企业购买存储设备的成本并改变企业购买存储的方式,集群文件系统已经在大学、实验室和超级计算机研究中心里使用,而且即将进入通用商业计算市场。新的集群文件系统采用了开源的lustre技术,由美国能源部(Department Of Energy)开发,惠普公司(HP)提供商业支持。它显著提高了输入输出(I/O)速度,目前已经在高校、国家实验室和超级计算研究中心产生了一定影响,未来几年中,它很有可能进入普通的商业计算机领域。
运行在Linux下,开发语言c/c++
官网:http://lustre.org/
2.Hadoop
hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。授权协议apache,开发语言Java,资源耗费有点大。
官网:http://hadoop.apache.org/
3.MogileFs
Mogile Fs是一个开源的分布式文件系统,主要特征包括
1、应用层的组件
2、无单点故障
3、自动文件复制
4、具有比RAID更好的可靠性
5、无需RAID nigukefs支持 ,运行在linux下。
官网:http://www.danga.com/
4.FastDFS
FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。
开发语言c/c++,可跨平台运行。
项目地址:https://github.com/happyfish100/fastdfs
5.NFS
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS。
NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS, 用户和程序可以象访问本地文件一样访问远端系统上的文件。它的好处是:
1、本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2、用户不必在每个网络上机器里面都有一个home目录。home目录可以被放在NFS服务器上并且在网络上处处可用。
3、诸如软驱、CDROM、和ZIP之类的存储设备可以在网络上面被别的机器使用。可以减少整个网络上的可移动介质设备的数量。
开发语言c/c++,可跨平台运行。
官网:http://www.tldp.org/HOWTO/NFS-HOWTO/index.html
6.OpenAFS
OpenAFS是一套开放源代码的分布式文件系统,允许系统之间通过局域网和广域网来分享档案和资源。OpenAFS是围绕一组叫做cell的文件服务器组织的,每个服务器的标识通常是隐藏在文件系统中,从AFS客户机登陆的用户将分辨不出他们在那个服务器上运行,因为从用户的角度上看,他们想在有识别的Unix文件系统语义的单个系统上运行。
文件系统内容通常都是跨cell复制,一便一个硬盘的失效不会损害OpenAFS客户机上的运行。OpenAFS需要高达1GB的大容量客户机缓存,以允许访问经常使用的文件。它是一个十分安全的基于kerbero的系统,它使用访问控制列表(ACL)以便可以进行细粒度的访问,这不是基于通常的Linux和Unix安全模型。
开发协议IBM Public,运行在linux下。
官网:http://www.openafs.org/
7.MooseFs
Moose File System是一个具备容错功能的网路分布式文件统,它将数据分布在网络中的不同服务器上,MooseFs通过FUSE使之看起来就是一个Unix的文件系统。但有一点问题,它还是不能解决单点故障的问题。开发语言perl,可跨平台操作。
MooseFS文件系统结构包括以下四种角色:
1 管理服务器managingserver (master)
2 元数据日志服务器Metaloggerserver(Metalogger)
3 数据存储服务器data servers(chunkservers)
4 客户机挂载使用clientcomputers
各种角色作用:
1 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
2 元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作
3 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.
4 客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果。
官网:http://www.moosefs.org/
参考文章:
1.那些年我们一起用过的MooseFS
2.分布式文件系统MFS(moosefs)实现存储共享
http://sery.blog.51cto.com/10037/147756
http://sery.blog.51cto.com/10037/263515
8.googleFs
据说是一个比较不错的一个可扩展分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能,它可以给大量的用户提供性能较高的服务。google自己开发的。
9.GlusterFS
GlusterFS是一个集群的文件系统,支持 PB 级的数据量。GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。
官网:http://www.gluster.org/
10.TFS
TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。
总体结构:
一个TFS集群由两个NameServer节点(一主一备)和多个DataServer节点组成。这些服务程序都是作为一个用户级的程序运行在普通Linux机器上的。
在TFS中,将大量的小文件(实际数据文件)合并成为一个大文件,这个大文件称为块(Block), 每个Block拥有在集群内唯一的编号(Block Id), Block Id在NameServer在创建Block的时候分配, NameServer维护block与DataServer的关系。Block中的实际数据都存储在DataServer上。而一台DataServer服务器一般会有多个独立DataServer进程存在,每个进程负责管理一个挂载点,这个挂载点一般是一个独立磁盘上的文件目录,以降低单个磁盘损坏带来的影响。
NameServer主要功能是: 管理维护Block和DataServer相关信息,包括DataServer加入,退出, 心跳信息, block和DataServer的对应关系建立,解除。正常情况下,一个块会在DataServer上存在, 主NameServer负责Block的创建,删除,复制,均衡,整理,NameServer不负责实际数据的读写,实际数据的读写由DataServer完成。
DataServer主要功能是: 负责实际数据的存储和读写。
同时为了考虑容灾,NameServer采用了HA结构,即两台机器互为热备,同时运行,一台为主,一台为备,主机绑定到对外vip,提供服务;当主机器宕机后,迅速将vip绑定至备份NameServer,将其切换为主机,对外提供服务。图中的HeartAgent就完成了此功能。
官网:http://code.taobao.org/p/tfs/wiki/index/
11.pNFS
网络文件系统(Network FileSystem,NFS)是大多数局域网(LAN)的重要的组成部分。但NFS不适用于高性能计算中苛刻的输入书橱密集型程序,至少以前是这样。NFS标准的罪行修改纳入了Parallel NFS(pNFS),它是文件共享的并行实现,将传输速率提高了几个数量级。
开发语言c/c++,运行在linu下。
官网:http://www.pnfs.com/
分享到:
相关推荐
分布式文件系统概念和原理 经典分布式文件系统介绍 经典分布式文件系统比较
分布式文件系统介绍,包含分布式文件发展历史,设计原理,流行分布式文件系统介绍,如:HDFS TFS FASTDFS CEPH LUSTRE GOOGLEFS MOOSEFS MOGILEFS
基于Rust的分布式文件系统项目介绍 随着大数据和云计算技术的快速发展,分布式文件系统作为存储和管理海量数据的关键技术之一,受到了越来越多的关注。Rust作为一种安全、高效且并发性能出色的编程语言,为构建高...
整理了当前最主流的7种分布式文件系统(FastDFS MogileFS HDFS`TFS MooseFS KFS Ceph)的概要介绍,可以使你快速了解当前分布式文件系统的特性、各自文件系统实现目标及应用场景,了解这些分布式文件系统的架构特点...
#### 三、典型分布式文件系统介绍 - **NFS(Network File System)**: - NFS是一种流行的网络文件系统,最初由Sun Microsystems开发。 - 它允许一个系统在网络上共享目录和文件。 - 版本从NFSv1到NFSv4不断演进...
在当今信息技术高速发展的背景下,分布式文件系统作为处理大规模数据存储和检索的重要技术,已经成为存储领域的核心技术之一。分布式文件系统允许多个客户端并发访问存储在同一物理或虚拟存储资源中的数据,它能够在...
"分布式文件系统ppt" 分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计是基于客户机 / 服务器模式。 分布式文件系统的特性: 1. ...
### 典型分布式文件系统概述 #### 1. 引言 随着计算机技术的发展和互联网的普及,数据处理的需求日益增长,分布式文件系统作为一种能够高效管理和处理大规模数据的技术方案,得到了广泛的应用和发展。本文旨在回顾...
在现代计算机网络体系结构中,分布式文件系统是一种将数据分散存储在不同物理位置的文件系统,其核心目标是提供高可靠性、高扩展性和高效的数据访问性能。HDFS(Hadoop Distributed File System,Hadoop分布式文件...
### 分布式文件系统的历史与现状 #### 一、引言 随着信息技术的快速发展,分布式文件系统作为一种重要的数据存储和管理技术,在过去的几十年里取得了显著的进步。本文将深入探讨分布式文件系统的起源、发展历程以及...
分布式文件系统(Distributed File System, DFS)是将数据分散存储在多台独立的服务器上的一种文件系统。与传统文件系统相比,分布式文件系统的特点、优势以及设计考量等方面存在显著差异。而Hadoop分布式文件系统...
分布式文件系统(Distributed File System, DFS)是计算机网络技术发展与个人计算机普及背景下的产物,是为了解决海量信息存储问题而产生的存储系统架构。它的出现,有效地解决了信息存储容量、数据备份和数据安全性...
分布式文件系统是一种大规模数据存储和管理的技术,它将单一的、大型的数据文件分割成多个小块,分布存储在多台计算机上,通过网络进行通信和协调,以提供高可用性、高并发性和高扩展性。在当今大数据时代,分布式...
在这个场景下,"分布式文件系统 c++编写" 指的是一个用C++实现的分布式文件系统项目,可能是模仿或受到了Google的分布式文件系统GFS(Google File System)的启发。 GFS是Google为了处理大规模数据存储和处理而设计...
本文将对比五种典型的分布式文件系统,包括HDFS、Ceph、MooseFS、GlusterFS和LustreFS,介绍其基本架构、数据分布和查询处理流程,然后对这些系统的优缺点进行分析,最后给出了在不同场景下如何对分布式文件系统进行...
分布式文件系统是一种跨越多台计算机的文件管理系统,它允许用户通过网络访问位于不同地理位置的物理存储资源,从而提供高效、可扩展和高可用性的文件访问服务。这种系统的设计基于客户机/服务器架构,其中,客户端...
分布式文件系统是一种在多台计算机之间共享和管理数据的系统,它允许多个节点同时访问和操作同一份文件,以提高数据的可访问性和处理效率。Chubby是一种由Google开发的分布式文件系统,特别设计用于提供粗粒度的锁...