五大常見存儲系統PK | Ceph、GlusterFS、MooseFS、HDFS、DRBD


##引言

在當前這個雲計算蓬勃發展的時代,對於存儲系統的思考熱度也在逐漸升高。在眾多的工具和存儲系統中,如何進行選擇,就變成了一個非常困惑人的問題。本篇將介紹常見的存儲系統,希望可以解答大家這塊的困惑。本手冊將深度比較Ceph ,GlusterFS,MooseFS , HDFS 和 DRBD。

image-20200923140758802

1. Ceph

Ceph是一個強大的存儲系統,它在同一個系統中同時提供了對象,塊(通過RBD)和文件存儲。無論您是希望在虛擬機中使用塊設備,還是將非結構化數據存儲在對象存儲中,Ceph都可以在一個平台上提供所有功能,並且還能獲得出色的靈活性。 Ceph中的所有內容都以對象的形式存儲,不管原始的數據類型是什么,RADOS(reliable autonomic distributed object store)都會把它們當做對象來進行存儲。

RADOS層確保數據始終保持一致狀態並且可靠。Ceph會通過數據復制,故障檢測和恢復,以及跨群集節點進行數據遷移和重新平衡來實現數據一致性。 Ceph提供了一個符合POSIX的網絡文件系統(CephFS),旨在實現高性能,大數據存儲以及與傳統應用程序的最大兼容。Ceph可以通過各種編程語言或者radosgw(RGW)實現無縫的訪問對象存儲,(RGW)這是一種REST接口,它與為S3和Swift編寫的應用程序兼容。另一方面,Ceph的RADOS塊設備(RBD)可以訪問在整個存儲集群中條帶化和復制的塊設備映像。

Ceph的特性

  • 獨立、開放和統一的平台:將塊,對象和文件存儲組合到一個平台中,包括最新添加的CephFS

  • 兼容性:您可以使用Ceph 存儲對外提供最兼容Amazon Web Services(AWS)S3的對象存儲。

  • 精簡配置模式:分配存儲空間時,只是虛擬分配容量,在跟進使用情況占用實際磁盤空間。這種模式提供了更多的靈活性和磁盤空間利用率。

  • 副本:在Ceph Storage中,所有存儲的數據都會自動從一個節點復制到多個其他節點。默認任何時間群集中的都有三份數據。

  • 自我修復:Ceph Monitors會不斷監控你的數據集。一旦出現一個副本丟失,Ceph會自動生成一個新副本,以確保始終有三份副本。

  • 高可用:在Ceph Storage中,所有存儲的數據會自動從一個節點復制到多個其他的節點。這意味着,任意節點中的數據集被破壞或被意外刪除,在其他節點上都有超過兩個以上副本可用,保證您的數據具有很高的可用性。

  • Ceph很強大:您的集群可以用於任何場景。無論您希望存儲非結構化數據或為數據提供塊存儲或提供文件系統,或者希望您的應用程序直接通過librados使用您的存儲,而這些都已經集成在一個Ceph平台上了。

  • 可伸縮性:Ceph Works 可以在集群中隨時增加,從而滿足將來的規模需求。

Ceph最適合用於塊存儲,大數據或直接與librados通信的任何其他應用程序。 這一切都會順利運行的非常好。 更多Ceph的信息可以參見[Ceph文檔](http://docs.ceph.com/

img

2. MooseFS

MooseFS是波蘭公司Gemius SA公司在12年前推出的,是大數據存儲行業中的突破性概念。 它使您可以使用負擔得起的商用硬件將數據存儲和數據處理結合在一個單元中。

MooseFS特性

  • 冗余:所有系統組件都是冗余的,如果發生故障,會觸發自動故障轉移機制,這些對用戶是透明的。

  • 節點上的計算:通過利用空閑的CPU和內存資源,支持在數據節點上調度計算,可以降低系統的總體擁有成本。

  • 原子快照:在任何特定時間點配置文件系統都是瞬間完成且不間斷。 此特性非常適合用於在線備份的解決方案。

  • 分層存儲:將不同類別的數據分配給各種類型的存儲介質,以降低總存儲成本。 可以將熱數據存儲在快速的SSD磁盤上,而將不經常使用的數據轉移到更便宜,更慢的機械硬盤驅動器上。

  • 本地客戶端:通過專門為Linux,FreeBSD和MacOS系統設計的專用客戶端(安裝)組件來提高性能。

  • 全局回收站::一個虛擬的全局空間,用於記錄刪除對象的,和每個文件和目錄的配置。 借助這個有利的特性,可以輕松恢復意外刪除的數據

  • 配額限制:系統管理員可以靈活地設置限制,以限制每個目錄的數據存儲容量。

  • 滾動升級:能夠一次執行一個節點的升級,硬件替換和添加,而不會中斷服務。 此功能使您可以在不停機的情況下保持硬件平台的最新狀態。

  • 快速磁盤恢復:萬一硬盤或硬件出現故障,系統會立即啟動從冗余副本到系統內其他可用存儲資源的並行數據復制。 此過程比傳統的磁盤重建方法快得多。

  • 並行性:在執行的並行線程中執行所有I / O操作,以提供高性能的讀/寫操作。

  • 管理界面:提供豐富的管理工具,例如基於命令行和基於Web的界面

有關MooseFS的更多信息,請參見https://moosefs.com/

image-20200923141237884

3. GlusterFS

Gluster是一個免費的開源可擴展網絡文件系統。 使用通用的現成硬件,您可以為媒體流,數據分析以及其他數據和帶寬密集型任務創建大型的分布式存儲解決方案。 基於GlusterFS的橫向擴展存儲系統適用於非結構化數據,例如文檔,圖像,音頻和視頻文件以及日志文件。 通常,分布式文件系統依賴於元數據服務器,但是Gluster不再使用元數據服務器。 元數據服務器是單點故障,並且可能是擴展的瓶頸。 相反,Gluster使用哈希機制來查找數據。

Gluster特性

  • 可擴展性:可擴展的存儲系統,可提供彈性和配額

  • 快照:卷和文件級快照都支持,用戶可以直接發起快照請求,這意味着用戶不必費心管理員即可創建快照

  • 歸檔:只讀卷和一次寫入多次讀(WORM)卷都支持歸檔。

  • 為了獲得更好的性能,Gluster會對readdir()的數據,元數據和目錄條目進行緩存。

  • 集成:Gluster與oVirt虛擬化管理器以及用於服務器的Nagios監控器可以集成在一起。

  • 大數據:對於那些希望使用Gluster文件系統中的數據進行數據分析的人,提供了Hadoop分布式文件系統(HDFS)支持。

  • libgfapi:應用程序可以繞過其他訪問方式,直接使用libgfapi與Gluster對話。這對於上下文切換或內核空間復制敏感的工作負載很有用

有關Gluster的其他詳細信息,請參見[Gluster Docs](https://docs.gluster.org/)。

4. HDFS

Hadoop分布式文件系統(HDFS)是一個分布式文件系統,它允許快速同時存儲和檢索多個文件。 它可以方便地在商業硬件上運行,並提供處理非結構化數據的功能。 它應用程序提供數據的高吞吐量訪問,並且適用於具有大數據集的應用程序。 HDFS與Hadoop YARN,Hadoop MapReduce和Hadoop Common一起是Hadoop的主要組成部分。 它是Hadoop框架的基本組件之一。

HDFS特性

  • 數據復制:HDFS被設計用於在大型群集中的計算機之間可靠地存儲非常大的文件。 它將每個文件分塊進行存儲; 除了這個文件最后一個塊以外的所有塊都具有相同的大小。 這些塊將通過復制的方式進行容錯。

  • 文件命名: HDFS支持傳統的分層方式組織文件。 用戶或應用程序可以創建目錄並將文件存儲在這些目錄中。 文件系統名稱空間的層次結構與大多數其他現有文件系統相似。 可以創建和刪除文件,將文件從一個目錄移動到另一個目錄或重命名文件。 HDFS尚未實現用戶配額。 HDFS不支持硬鏈接或軟鏈接。

  • 健壯: HDFS的主要目標是即使在出現故障的情況下也能可靠地存儲數據。 三種常見的故障類型是NameNode故障,DataNode故障和網絡分區。

  • 適用性:應用程序訪問HDFS支持多種不同的方式。 HDFS本身就為應用程序提供了Java API, 同時也提供此Java API的C語言包裝器。 另外,HTTP瀏覽器也可用於瀏覽HDFS實例的文件。 通過WebDAV協議公開HDFS的工作正在進行中。

  • 可擴展性:HDFS被設計用於在大型群集中的計算機之間可靠地存儲非常大的文件。 可以根據當時的需求增加或減少群集。

  • 高可用性:HDFS被設計用於在大型集群中的機器之間可靠地存儲非常大的文件。 它將每個文件存儲為一系列塊; 文件中除最后一塊以外的所有塊都具有相同的大小。 復制文件的塊是為了容錯,因此在發生任何故障的情況下數據的可用性很高。

有關HDFS的更多信息請參見https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

5. DRDB

DRBD是一個分布式冗余存儲系統,由內核驅動程序,多個用戶空間管理應用程序和一些Shell腳本實現。 分布式復制塊設備(一個邏輯卷中的邏輯塊設備)在多個主機之間鏡像塊設備,以實現高可用集群。 基於DRBD的群集通常用於為文件服務器,關系數據庫(例如MySQL)和許多其他工作負載提供同步復制和高可用性。 DRBD實質上可以作為共享磁盤文件系統,額外的邏輯塊設備(例如LVM),常規文件系統或需要直接訪問塊設備的任何應用程序的基礎。

DRDB特性

  • DRDB具有共享秘密身份驗證功能;

  • DRBD與LVM(Logical Volume Manager)兼容;

  • 支持與heartbeat/pacemaker 集成;

  • 支持讀取請求的負載平衡;

  • 支持出現故障時自動檢測最新數據

  • Delta重新同步

  • 支持在線調整DRBD配置,而不會丟失數據

  • 支持自動帶寬管理

  • 支持自定義的調整參數

  • 支持相互在線數據驗證

  • 高可用性:塊設備在多個主機之間鏡像塊設備,以實現高度可用的群集。

  • 支持與Xen等虛擬化解決方案集成,並且可以在Linux LVM 之上和之下使用

有關DRBD更多的信息請參見https://docs.linbit.com/

 

結論

通過對於上面這些存儲系統的功能和特性的介紹使我們對其有了初步的認識。 有關它們的更多詳細信息,請參見各自下方引用的各個網頁。 非常感謝您閱讀,希望對您有所幫助。

原文鏈接https://computingforgeeks.com/ceph-vs-glusterfs-vs-moosefs-vs-hdfs-vs-drbd/

 

 

作者:楊俊俊
文章來自:https://blog.tyun.cn

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM