容器云在使用分布式存儲時,HDFS、CEPH、GFS、GPFS、Swift等分布式存儲哪種更好?
【問題描述】目前,公司在進行容器云技術選型,計劃采用商業產品,已接觸華為、RANCHER、阿里等產品提供商,現想了解相應的分布式存儲如何匹配,HDFS、CEPH、GFS、GPFS、Swift等分布式存儲,采用哪種更好,主要場景是容器存儲應用日志、配置文件、非結構化數據文件等,請各位大神持續指導。(@yin986 軟件架構設計師 某保險)
@Steven99 軟件架構設計師 日志文件隨著時間會是個很大的量,所以建議考慮統一的日志中心存儲處理,可以用es等,備份到hdfs。 配置文件在量上通常不是個問題,可以考慮配置中心統一管理,無需額外存儲。 非結構化數據通常是大量的文件,可以采用傳統nas或分布式對象存儲,當然資金充裕可以采購好的存儲,存儲性能很重要,根據業務重要程度選擇不同的存儲。
@Garyy 某保險系統工程師 容器存儲的持久化,對于有狀態數據的容器使用場景來說至關重要。因此,在技術選型的時候,需要明確存儲的具體需求。存儲按照數據類型來分,可以分為塊存儲,對象存儲,文件存儲。我們傳統的環境中,使用最多的還是塊存儲和文件存儲。隨著IT的更新換代,現在對于對象存儲(非結構化數據)的需求日益旺盛,對象存儲在對一些Key-Value型數據的存儲有著天然的優勢,再加上其分布式,directadmin漢化,副本/糾刪碼等可以匹配傳統存儲的特性,日益成為溫數據/冷數據存儲的不二之選。 HDFS/CEPH/GFS/GPFS/Swift這類分布式存儲,按照存儲的類型來區分,HDFS/GPFS/GFS屬于文件存儲,CEPH屬于統一存儲--即塊/對象/文件統一體,Swift屬于對象存儲-目前屬于OpenStack下面的一個子項目。
1.HDFS Hadoop分布式文件系統(HDFS)被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統。它和現有的分布式文件系統有很多共同點。但同時,它和其他的分布式文件系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。HDFS放寬了一部分POSIX約束,來實現流式讀取文件系統數據的目的。
HDFS有著高容錯性(fault-tolerant)的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以實現流的形式訪問(streaming access)文件系統中的數據。
2.GFS GFS是一個可擴展的分布式文件系統,用于大型的、分布式的、對大量數據進行訪問的應用。它運行于廉價的普通硬件上,并提供容錯功能。它可以給大量的用戶提供總體性能較高的服務。
3.GPFS GPFS(General Parallel File System ,GPFS) 是 IBM 公司第一個共享文件系統,起源于 IBM SP 系統上使用的虛擬共享磁盤技術( VSD )。作為這項技術的核心, GPFS 是一個并行的磁盤文件系統,它保證在資源組內的 所有節點可以并行訪問整個文件系統;而且針對此文件系統的服務操作,可以同時安全地在 使用此文件系統的多個節點上實現。 GPFS 允許客戶共享文件,而這些文件可能分布在不同節點的不同硬盤上;它提供了許多標準的 UNIX 文件系統接口,允許應用不需修改或者重新編輯就可以在其上運行。
4.CEPH Ceph是一個可靠地、自動重均衡、自動恢復的分布式存儲系統,根據場景劃分可以將Ceph分為三大塊,分別是對象存儲、塊設備存儲和文件系統服務。在虛擬化領域里,比較常用到的是Ceph的塊設備存儲,比如在OpenStack項目里,Ceph的塊設備存儲可以對接OpenStack的cinder后端存儲、Glance的鏡像存儲和虛擬機的數據存儲,比較直觀的是Ceph集群可以提供一個raw格式的塊存儲來作為虛擬機實例的硬盤。
Ceph相比其它存儲的優勢點在于它不單單是存儲,同時還充分利用了存儲節點上的計算能力,在存儲每一個數據時,都會通過計算得出該數據存儲的位置,盡量將數據分布均衡,同時由于Ceph的良好設計,采用了CRUSH算法、HASH環等方法,使得它不存在傳統的單點故障的問題,云服務器,且隨著規模的擴大性能并不會受到影響。
5.Swift Swift 最初是由 Rackspace 公司開發的高可用分布式對象存儲服務,并于 2010 年貢獻給 OpenStack 開源社區作為其最初的核心子項目之一,為其 Nova 子項目提供虛機鏡像存儲服務。Swift 構筑在比較便宜的標準硬件存儲基礎設施之上,無需采用 RAID(磁盤冗余陣列),通過在軟件層面引入一致性散列技術和數據冗余性,犧牲一定程度的數據一致性來達到高可用性和可伸縮性,支持多租戶模式、容器和對象讀寫操作,適合解決互聯網的應用場景下非結構化數據存儲問題。
【凡本網注明來源非中國IDC圈的作品,均轉載自其它媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。】