基础介绍
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,也就是集群文件系统,可以支持大数量的节点以及PB级的数据存储。
常见的分布式文件系统
GFS、HDFS、GridFS、mogileFS、TFS、fastDFS等。
GFS(Google File System):google公司为了满足本公司需求而开发的基于linux的专有分布式文件系统。不过很可惜该系统并未开源
HDFS: Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。是运行在通用硬件上的分布式文件系统。HDFS提供了一个高度容错性和高吞吐量的海量数据存储解决方案。
MogileFS:开源的分布式文件系统,用于组建分布式文件集群,由 LiveJournal 旗下 DangaInteractive 公司开发,Danga 团队开发了包括 Memcached、MogileFS、Perlbal 等不错的开源项目:(注:Perlbal 是一个强大的 Perl 写的反向代理服务器)。目前国内使用 MogileFS 的有图片托管网站 yupoo 等。
FastDFS:是一款类似GoogleFS的开源分布式文件系统。是为互联网应用量身定做的分布式文件系统,统分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。
分布式文件系统特点
可以组建包含大量廉价服务器的海量存储系统。
通过内部的冗余复制,保证文件的可以用性,在海量存储系统中,容错能力非常重要;
可扩展性强,增加存储节点和追踪器都比较容易
在对个文件副本之间就进行负载均衡,可以通过横向扩展来确保性能的提升;
进行特定的索引文件计算等;