基礎介紹
分佈式文件系統(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的開源分佈式文件系統。是爲互聯網應用量身定做的分佈式文件系統,統分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標。
分佈式文件系統特點
可以組建包含大量廉價服務器的海量存儲系統。
通過內部的冗餘複製,保證文件的可以用性,在海量存儲系統中,容錯能力非常重要;
可擴展性強,增加存儲節點和追蹤器都比較容易
在對個文件副本之間就進行負載均衡,可以通過橫向擴展來確保性能的提升;
進行特定的索引文件計算等;