當下流行的分散式檔案系統大閱兵

花開風滿樓發表於2014-09-02

  本文對目前數種分散式檔案系統進行簡單的介紹。當前比較流行的分散式檔案系統包括: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自己開發的。

相關文章