當下流行的分佈式文件系統大閱兵

本文對目前數種分佈式文件系統進行簡單的介紹。當前比較流行的分佈式文件系統包括:Lustre、Hadoop、MogileFS、FreeNAS、FastDFS、NFS、OpenAFS、MooseFS、pNFS、以及GoogleFS。
  Lustre(www.lustre.org
  lustre是一個大規模的、安全可靠的,具備高可用性的集羣文件系統,它是由SUN公司開發和維護。該項目主要的目的就是開發下一代的集羣文件系統,可以支持超過10000個節點,數以PB的數量存儲系統。
  lustre是開放源代碼的集羣文件系統,採取GPL許可協議,目前在集羣計算機裏,計算機與磁盤間數據交換的提升無法跟上微處理器和內存增長的速度,從而也拖累了應用程序的性能,一種新興的集羣文件系統軟件提高了I/O速度,可能降低企業購買存儲設備的成本並改變企業購買存儲的方式,集羣文件系統已經在大學、實驗室和超級計算機研究中心裏使用,而且即將進入通用商業計算市場。新的集羣文件系統採用了開源的lustre技術,由美國能源部(Department Of Energy)開發,惠普公司(HP)提供商業支持。它顯著提高了輸入輸出(I/O)速度,目前已經在高校、國家實驗室和超級計算研究中心產生了一定影響,未來幾年中,它很有可能進入普通的商業計算機領域。
  運行在linux下,開發語言c/c++
  Hadoop(hadoop.apache.com)
  hadoop並不僅僅是一個用於存儲的分佈式文件系統,而是設計用來在由通用計算設備組成的大型集羣上執行分佈式應用的框架。
  如下圖是hadoop的體系結構:

  授權協議apache,開發語言java,資源耗費有點大。
  MogileFs(www.danga.com)
  Mogile Fs是一個開源的分佈式文件系統,主要特徵包括
  1、應用層的組件
  2、無單點故障
  3、自動文件複製
  4、具有比RAID更好的可靠性
  5、無需RAID nigukefs支持 ,運行在linux下。
  FreeNAS(www.openqrm.org
  FreeNAS是網絡附加存儲(NAS)服務專用操作系統(FreeBSD的簡化版 )。基於m0n0wall防火牆,該系統通過提供磁盤管理及RAID軟件,可讓用戶home將PC轉換爲NAS服務器,支持FTP/NFS/RSYNC/CIFS/AFP/UNISON/SSH sourceforge.net/pro協議,旨在讓人們重新使用舊硬件.

FastDFS(code.google.com/p/fastdfs)
  FastDFS是一個開源的分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務, 如相冊網站,視頻網站等等。FastDFS服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要做調度的工作,在訪問上起負載均衡的作用。存儲節點存儲文件,完成文件管理的所有功能:
  存儲、同步、和提供存取接口,FastDFS同時對文件的meta data進行管理。所謂文件的meta data就是文件的相關屬性,以鍵值對(key value pair)方式表示,如:width=1024,其中的key爲width,value爲1024。文件meta data是文件屬性列表,可以包含多個鍵值樹。
  開發語言c/c++,運行在linux系統下。
  NFS(www.tldp.org/HOWTO/NFS-HOWTO/index.html)
  網絡文件系統是FreeBSD支持的文件系統中的一種,也被稱爲NFS。
  NFS允許一個系統在網絡上與它人共享目錄和文件。通過使用NFS, 用戶和程序可以象訪問本地文件一樣訪問遠端系統上的文件。它的好處是:
  1、本地工作站使用更少的磁盤空間,因爲通常的數據可以存放在一臺機器上而且可以通過網絡訪問到。
  2、用戶不必在每個網絡上機器裏面都有一個home目錄。home目錄可以被放在NFS服務器上並且在網絡上處處可用。
  3、諸如軟驅、CDROM、和ZIP之類的存儲設備可以在網絡上面被別的機器使用。可以減少整個網絡上的可移動介質設備的數量。
  開發語言c/c++,可跨平臺運行。
  OpenAFS(www.openafs.org
  OpenAFS是一套開放源代碼的分佈式文件系統,允許系統之間通過局域網和廣域網來分享檔案和資源。OpenAFS是圍繞一組叫做cell的文件服務器組織的,每個服務器的標識通常是隱藏在文件系統中,從AFS客戶機登陸的用戶將分辨不出他們在那個服務器上運行,因爲從用戶的角度上看,他們想在有識別的Unix文件系統語義的單個系統上運行。
  文件系統內容通常都是跨cell複製,一便一個硬盤的失效不會損害OpenAFS客戶機上的運行。OpenAFS需要高達1GB的大容量客戶機緩存,以允許訪問經常使用的文件。它是一個十分安全的基於kerbero的系統,它使用訪問控制列表(ACL)以便可以進行細粒度的訪問,這不是基於通常的Linux和Unix安全模型。開發協議IBM Public,運行在linux下。
  MooseFs(derf.homelinux.org)
  Moose File System是一個具備容錯功能的網路分佈式文件統,它將數據分佈在網絡中的不同服務器上,MooseFs通過FUSE使之看起來就 是一個Unix的文件系統。但有一點問題,它還是不能解決單點故障的問題。開發語言perl,可跨平臺操作。

pNFS(www.pnfs.com
  網絡文件系統(Network FileSystem,NFS)是大多數局域網(LAN)的重要的組成部分。但NFS不適用於高性能計算中苛刻的輸入書櫥密集型程序,至少以前是這樣。NFS標準的罪行修改納入了Parallel NFS(pNFS),它是文件共享的並行實現,將傳輸速率提高了幾個數量級。
  開發語言c/c++,運行在linu下。
  googleFs
  據說是一個比較不錯的一個可擴展分佈式文件系統,用於大型的,分佈式的,對大量數據進行訪問的應用。它運行於廉價的普通硬件上,但可以提供容錯功能,它可以給大量的用戶提供性能較高的服務。google自己開發的。


http://www.lupaworld.com/article-205722-3.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章