各种分布式文件系统简介

朝晖 朝晖     2022-09-06     600

关键词:

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产品等。
 
 
 

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编写,性能相对较差,国内用的人比较多
 
 
FastDFS
---------------------------------------
是一款类似Google FS的开源分布式文件系统,是纯C语言开发的。
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
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提供了良好的读写性能。
 
 
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

分布式文件系统fastdfs简介

FastDFS基本介绍:1.开源的轻量级分布式文件系统2.C++语言研发3个角色:(1)tracker(2)storage server(3)clienttrackerserver:跟踪服务器,调度:在内存中记录所有存储组和存储服务器的状态信息,不会保留任何元数据storageserver:存储服务器,... 查看详情

各种分布式文件系统的比较

1、MooseFS支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多,易用,稳定,对小文件很高效。+支持文件元信息+mfsmount很好用+编译依赖少,文档全,默认配置很好+mfshdd.cfg加*的条... 查看详情

zabbix简介与工作原理

...合。1.zabbix简介zabbix(音同zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决... 查看详情

各种分布式文件系统比较

  常见的分布式文件系统有,GFS、HDFS、Lustre、Ceph、GridFS、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。  Google学术论文,这是众多分布... 查看详情

分布式存储mogilefs简介

MogileFS分布式存储: 不能mount,基于API进行存储分布式文件系统:(把存储空间抽象成文件格式的存储) 可以mount,基于VFS接口访问常见的分布式文件系统 GFS:适合存储少量大文件 HDFS:适合存储少量大文件 TFS:淘宝FS,在名称节点上将元... 查看详情

fastdfs简介

...适用的场景?  FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。  出于简洁考虑,FastDFS没有对文... 查看详情

fastdfs分布式文件系统

摘要:FastDFS简介?FastDFS是一个轻量级的开源分布式文件系统?FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡?FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储?支持存储服务器在线... 查看详情

zabbix3.0.4部署之一(简介)

...http://www.zabbix.com/download.phpzabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存... 查看详情

脑壳有点疼。。glusterfs分布式文件系统!(更新中)

GlusterFS分布式文件系统一.文件系统简介1.组成2.作用3.挂载使用二.GlusterFS分布式文件系统1.GFS是由三部分组成(组件)2.GFS特点3.GFS专业术语4.GFS模块化堆栈式架构5.工作流程6.基本卷和复合卷三.部署GFS集群1.实验准备一.文... 查看详情

git:版本控制系统简介

...it:版本控制系统简介​​什么是版本控制系统?​​​​分布式版本控制系统​​什么是版本控制系统?版本控制系统(VCS)允许您管理文件集合,并允许访问这些文件的不同版本。VCS允许您在特定时间点捕获文件的内容和结构... 查看详情

gfs分布式文件系统(代码片段)

GFS分布式文件系统GFS简介GFS特点GFS术语模块化堆栈式架构GFS的工作流程弹性HASH算法GFS的卷类型分布式卷(默认)条带卷(默认)复制卷分布式条带卷分布式复制卷条带复制卷分布式条带复制卷GFS部署GFS简介GlusterFS... 查看详情

gfs分布式文件系统(代码片段)

GFS分布式文件系统GFS简介GFS特点GFS术语模块化堆栈式架构GFS的工作流程弹性HASH算法GFS的卷类型分布式卷(默认)条带卷(默认)复制卷分布式条带卷分布式复制卷条带复制卷分布式条带复制卷GFS部署GFS简介GlusterFS... 查看详情

springcloud:spirngcloud简介

...、简介SpringCloud是在SpringBoot基础上构建的,用于快速构建分布式系统的通用模式的工具集。使用SpringCloud开发的应用程序非常适合在Docker或者PaaS上部署,所以又叫作云原生应用。二、特点1、约定优于配置2、适用于各种环境。开... 查看详情

hdfs简介及基本概念

...机上去。管理网络中跨多台计算机存储的文件系统统称为分布式文件系统(distributedfileSystem)。分布式文件系统由于其跨计算机的特性,所以依赖于网络的传输,势必会比普通的本地文件系统更加复杂,比如 查看详情

hadoop简介

...HDFS(HadoopDistributedFileSystem),意为:Hadoop分布式文件系统。源自谷歌的论文:《TheGoogleFileSystem》,由DougCutting设计实现的。是ApacheHadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在... 查看详情

git

1.Git简介  Git是一个免费、开源的分布式版本控制系统,可以敏捷高效的进行各种规模大小的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。2.Git与SVN区别:GIT是分布式的,SVN... 查看详情

fastdfs+docker建立分布式文件系统(代码片段)

1,为什么需要单独搭建分布式文在单系统时代,可以在系统的resource目录下直接建立image,file目录用于存储图片等各种文件,这样做优点用处,直接在项目需要处引用图片就行,但是,缺点也非常明显,代码和文件资源相互杂糅... 查看详情

ceph分布式存储系统简介

...ff1a;基础介绍Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。在虚拟化领域里,比较常用到的是Ceph的块设备存 查看详情