各种分布式文件系统简介

from:http://elf8848.iteye.com/blog/1724382

常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。

Google学术论文,这是众多分布式文件系统的起源

==================================

Google File System(大规模分散文件系统)

MapReduce (大规模分散FrameWork)

BigTable(大规模分散数据库)

Chubby(分散锁服务)

一般你搜索Google_三大论文中文版(Bigtable、 GFS、 Google MapReduce)就有了。

做个中文版下载源:http://dl.iteye.com/topics/download/38db9a29-3e17-3dce-bc93-df9286081126

做个原版地址链接:

http://labs.google.com/papers/gfs.html

http://labs.google.com/papers/bigtable.html

http://labs.google.com/papers/mapreduce.html

本地下载 :Google_三大论文中文版.pdf

GFS(Google File System)

--------------------------------------

Google公司为了满足本公司需求而开发的基于Linux的专有分布式文件系统。。尽管Google公布了该系统的一些技术细节,但Google并没有将该系统的软件部分作为开源软件发布。

下面分布式文件系统都是类 GFS的产品。

HDFS

--------------------------------------
Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 Hadoop是Apache Lucene创始人Doug Cutting开发的使用广泛的文本搜索库。它起源于Apache Nutch,后者是一个开源的网络搜索引擎,本身也是Luene项目的一部分。Aapche Hadoop架构是MapReduce算法的一种开源应用,是Google开创其帝国的重要基石。

Ceph

---------------------------------------

是加州大学圣克鲁兹分校的Sage weil攻读博士时开发的分布式文件系统。并使用Ceph完成了他的论文。

说 ceph 性能最高,C++编写的代码,支持Fuse,并且没有单点故障依赖, 于是下载安装, 由于 ceph 使用 btrfs 文件系统, 而btrfs 文件系统需要 Linux 2.6.34 以上的内核才支持。

可是ceph太不成熟了,它基于的btrfs本身就不成熟,它的官方网站上也明确指出不要把ceph用在生产环境中。

Lustre

---------------------------------------

Lustre是一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是由SUN公司开发和维护的。

该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数据量存储系统。

目前Lustre已经运用在一些领域,例如HP SFS产品等。

适合存储小文件、图片的分布文件系统研究

====================================

用于图片等小文件大规模存储的分布式文件系统调研

架构高性能海量图片服务器的技术要素

nginx性能改进一例(图片全部存入google的leveldb)

FastDFS分布文件系统

TFS(Taobao File System)安装方法

动态生成图片 Nginx + GraphicsMagick

MogileFS

---------------------------------------

由memcahed的开发公司danga一款perl开发的产品,目前国内使用mogielFS的有图片托管网站yupoo等。

MogileFS是一套高效的文件自动备份组件,由Six Apart开发,广泛应用在包括LiveJournal等web2.0站点上。

MogileFS由3个部分组成:

  第1个部分是server端,包括mogilefsd和mogstored两个程序。前者即是 mogilefsd的tracker,它将一些全局信息保存在数据库里,例如站点domain,class,host等。后者即是存储节点(store node),它其实是个HTTP Daemon,默认侦听在7500端口,接受客户端的文件备份请求。在安装完后,要运行mogadm工具将所有的store node注册到mogilefsd的数据库里,mogilefsd会对这些节点进行管理和监控。

  第2个部分是utils(工具集),主要是MogileFS的一些管理工具,例如mogadm等。

  第3个部分是客户端API,目前只有Perl API(MogileFS.pm)、PHP,用这个模块可以编写客户端程序,实现文件的备份管理功能。

mooseFS

---------------------------------------

持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多

MooseFS与MogileFS的性能测试对比

FastDFS

---------------------------------------

是一款类似Google FS的开源分布式文件系统,是纯C语言开发的。

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

官方论坛  http://bbs.chinaunix.net/forum-240-1.html

FastDfs google Code     http://code.google.com/p/fastdfs/

分布式文件系统FastDFS架构剖析   http://www.programmer.com.cn/4380/

TFS

-------------------------------------

TFS(Taobao !FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器 集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用 在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化 了文件的访问流程,一定程度上为TFS提供了良好的读写性能。

官网 : http://code.taobao.org/p/tfs/wiki/index/

GridFS文件系统

-------------------------------------
MongoDB是一种知名的NoSql数据库,GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储。文件在GridFS中会按4MB为单位进行分块存储。

MongoDB GridFS 数据读取效率 benchmark
http://blog.nosqlfan.com/html/730.html

nginx + gridfs 实现图片的分布式存储  安装(一年后出问题了)

http://www.cnblogs.com/zhangmiao-chp/archive/2011/05/05/2038285.html

基于MongoDB GridFS的图片存储

http://liut.cc/blog/2010/12/about-imsto_my-first-open-source-project.html

nginx+mongodb-gridfs+squid

http://1008305.blog.51cto.com/998305/885340

时间: 2024-10-08 10:28:15

各种分布式文件系统简介的相关文章

基于p2p的分布式文件系统p2pfs的实现构想

这篇日志最早是保存在Evernote中,后来写到了QQ邮箱的记事本里用发送给了导师,今天贴到CSDN博客上公布. 创建时间:2014年5月11日(星期天) 晚上7:25 | 分类:书签 | 天气:广州大雨-暴雨转大雨 | 字数:1930  | 发送到我的Qzone | 另存为... | 打印 | 添加到日历 一个分布式文件系统 简介 本文提出了一个基于P2P的分布式文件系统的构想.它采用蜂群思想(受<失控>启发),最大化单个节点的智能性来实现群体存储的智能性.它的优点是支持无限扩容,动态添加和

分布式文件系统 FastDFS 简介 (1)

FastDFS 基本介绍: 1.开源的轻量级分布式文件系统 2.C++语言研发 3个角色: (1)tracker (2)storage server (3)client tracker server:跟踪服务器,调度:在内存中记录所有存储组和存储服务器的状态信息,不会保留任何元数据 storage server:存储服务器,文件( data )和文件属性( meta data ),以本地文件系统为接口(和mogilefs类似) client:客户端,业务请求发起方,通过专用接口基于tcp协议与t

JEESZ分布式框架简介---技术介绍文档

摘要: Jeesz主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件.数据权限组件.数据字典组件.核心工具 组件.视图操作组件.工作流组件.代码生成等.采用分层设计.双重验证.提交数据安全编码.密码加密.访问验证.数据权限验证. 介绍 1.      项目核心代码结构截图 <modules>        <!-- jeesz 工具jar -->        <module>jeesz-utils</module&g

NTFS文件系统简介(转载)

原文地址:http://www.cnblogs.com/watertao/archive/2011/11/28/2266595.html 1.简介 NTFS(New Technology File System)是Windows NT以及之后的Windows 2000.Windows XP.Windows Server 2003.Windows Server 2008.Windows Vista和Windows 7的标准文件系统. NTFS取代了文件分配表(FAT)文件系统,为Microsoft

Hadoop分布式文件系统(HDFS)设计

Hadoop分布式文件系统是设计初衷是可靠的存储大数据集,并且使应用程序高带宽的流式处理存储的大数据集.在一个成千个server的大集群中,每个server不仅要管理存储的这些数据,而且可以执行应用程序任务.通过分布式存储和在各个server间交叉运算,集群和存储可以按需动态经济增长.以下的设计原则和经验是根据yahoo通过HDFS管理的40PB得来的. 1. HDFS简介 HDFS是一个分布式文件系统,并且为MapReduce分布式算法提供了一分析和传输大数据的框架.HDFS使用java编写,

深入浅出分布式文件系统MogileFS集群

    一,简介    MogileFS是一款开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发.Danga团队开发了包括 Memcached.MogileFS.Perlbal 等多个知名的开源项目.目前MogileFS的日益成熟使用此解决方法的公司越来越多,例如日本的又拍.digg.中国的豆瓣.1号店.大众点评.搜狗和安居客等,分别为所在的组织或公司管理着海量的图片.和传统网络存储不一样的是分布式文件系统是将数据分散存储至多台服务器上,而网络文件

Ceph:一个开源的 Linux PB 级分布式文件系统

探索 Ceph 文件系统和生态系统 M. Tim Jones , 自由作家 简介:  Linux®持续不断进军可扩展计算空间,特别是可扩展存储空间.Ceph 最近才加入到 Linux 中令人印象深刻的文件系统备选行列,它是一个分布式文件系统,能够在维护 POSIX 兼容性的同时加入了复制和容错功能.探索 Ceph 的架构,学习它如何提供容错功能,简化海量数据管理. 标记本文! 发布日期:  2010 年 6 月 12 日 级别:  中级 其他语言版本:  英文 访问情况  5726 次浏览 建议

基于mogileFS搭建分布式文件系统 适用于海量小文件的存储

一.分布式文件系统 1.简介 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.分布式文件系统的设计基于客户机/服务器模式.一个典型的网络可能包括多个供多用户访问的服务器.另外,对等特性允许一些系统扮演客户机和服务器的双重角色.例如,用户可以"发表"一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样. 当下我们处在一个互联网飞速发展的信息社会,在海量并

hadoop文件系统简介

Hadoop文件系统简介 Hadoop家族中,最重要的两部分内容就是MapReduce和HDFS,其中MapReduce是一种编程范型,这种范型比较适合用来在分布式环境下进行批处理计算.另一部分就是HDFS,即hadoop分布式文件系统.Hadoop环境下可以兼容多种文件系统,包括本地文件系统,体现在文件系统API层面上就是有一个文件系统接口,这个接口可以有多种实现,包括本地文件系统或者分布式文件系统等. 一:HDFS的设计目标 HDFS是用来将数据存储到多台计算机上(计算机集群)为主要设计目标