分布式檔案系統

2021-07-16 21:21:51 字數 3065 閱讀 2872

常見的分布式檔案系統有,gfs、hdfs、lustre 、ceph 、gridfs 、mogilefs、tfs、fastdfs等。

各自適用於不同的領域。

它們都不是系統級的分布式檔案系統,而是應用級的分布式檔案儲存服務。

google學術**,這是眾多分布式檔案系統的起源

******************************====

google file system(大規模分散檔案系統)

mapreduce (大規模分散framework)

bigtable(大規模分散資料庫)

chubby(分散鎖服務)

一般你搜尋google_三大**中文版(bigtable、 gfs、 google mapreduce)就有了。

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太不成熟了,它基於的btrfs本身就不成熟,它的官方**上也明確指出不要把ceph用在生產環境中。

lustre

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

lustre是乙個大規模的、安全可靠的,具備高可用性的集群檔案系統,它是由sun公司開發和維護的。

該專案主要的目的就是開發下一代的集群檔案系統,可以支援超過10000個節點,數以pb的資料量儲存系統。

目前lustre已經運用在一些領域,例如hp sfs產品等。

適合儲存小檔案、的分布檔案系統研究

***********************************=

fastdfs分布檔案系統  (我寫的)

tfs(taobao file system)安裝方法  (我寫的)

用於等小檔案大規模儲存的分布式檔案系統調研

架構高效能海量伺服器的技術要素

nginx效能改進一例(全部存入google的leveldb)

動態生成 nginx + graphicsmagick 

mogilefs

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

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 google code     

分布式檔案系統fastdfs架構剖析   

tfs-------------------------------------

tfs(taobao !filesystem)是乙個高可擴充套件、高可用、高效能、面向網際網路服務的分布式檔案系統,主要針對海量的非結構化資料,它構築在普通的linux機器 集群上,可為外部提供高可靠和高併發的儲存訪問。tfs為**提供海量小檔案儲存,通常檔案大小不超過1m,滿足了**對小檔案儲存的需求,被廣泛地應用 在**各項應用中。它採用了ha架構和平滑擴容,保證了整個檔案系統的可用性和擴充套件性。同時扁平化的資料組織結構,可將檔名對映到檔案的實體地址,簡化 了檔案的訪問流程,一定程度上為tfs提供了良好的讀寫效能。

官網 :

gridfs檔案系統

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

mongodb是一種知名的nosql資料庫,gridfs是mongodb的乙個內建功能,它提供一組檔案操作的api以利用mongodb儲存檔案,gridfs的基本原理是將檔案儲存在兩個collection中,乙個儲存檔案索引,乙個儲存檔案內容,檔案內容按一定大小分成若干塊,每一塊存在乙個document中,這種方法不僅提供了檔案儲存,還提供了對檔案相關的一些附加屬性(比如md5值,檔名等等)的儲存。檔案在gridfs中會按4mb為單位進行分塊儲存。

分布式檔案系統

分布式檔案系統 概述 系統管理員可以利用分布式檔案系統 dfs 使使用者訪問和管理那些物理上跨網路分布的檔案更加容易。通過 dfs,可以使分布在多個伺服器上的檔案在使用者面前顯示時,就如同位於網路上的乙個位置。使用者在訪問檔案時不再需要知道和指定它們的實際物理位置。例如,如果您的銷售資料分散在某個域...

分布式檔案系統

缺點是檔案路徑是一致的,只能用於嵌入式檔案的儲存,沒有辦法作為系統請求檔案的儲存,不過對於web2.0可以從設計層面進行一些改善,將使用者的資料互動更多地方在伺服器端,而不是資料庫中,比如使用者的文章就在 com yyy裡面,但是這又帶來一些新的問題,檔案同步負載均衡等問題。現在著眼於將自製的web...

分布式檔案系統

檔案系統是負責管理和儲存檔案的系統軟體,作業系統通過檔案系統提供的介面去訪問檔案,使用者通過作業系統訪問磁碟上的檔案。乙個業務分拆多個子業務,部署在不同的伺服器上。按我個人的理解就是,把乙個服務,分成不同的模組,每個模組單獨實現某個功能。分布式檔案系統 distributed file system...