常見的分布式檔案系統有,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...