天天看點

雲環境下的存儲服務類型與技術

作者:LinkSLA智能運維管家

一、存儲服務的類型

存儲服務的類型根據資料類型的不同,一般分為塊存儲、檔案存儲和對象存儲三類。

塊存儲基于傳統的磁盤陣列實作,将存儲區域劃分成固定大小的塊,以卷的方式挂載到主機作業系統後,作業系統可将其格式化成檔案系統,或以裸資料的方式作為資料庫的存儲。塊存儲方式不存在資料打包和解包過程,是以應用系統跟存儲系統耦合程度緊密,資料通路延遲低、性能高。

檔案存儲指的是存儲媒體上存儲的是目錄-子目錄-檔案這種形式的資料結構。這種資料結構是我們自然人所能容易識别的資料,絕大部分由作為自然人的程式員所編寫的各種軟體程式也使用這種方式來通路檔案。是以檔案存儲的特點是一方面可讀性高,另一方面通路資料需要先周遊多層檔案目錄。

對象存儲采用基于鍵值通路機制的扁平化存儲架構設計,它沒有多層樹級檔案目錄。在對象存儲系統中,對象是資料存儲的基本單元,所有對象都有一個對象辨別,通過對象辨別OSD指令通路該對象,使用簡單,小IO性能好。

二、雲環境下的存儲技術

随着電子商務、雲原生、微服務、分布式應用、DevOps等現代應用架構的流行,使用者開始将越來越多的傳統應用進行改造和重構,遷移到雲環境。那麼在雲環境下有哪些存儲技術可供選擇使用呢?下面針對雲環境提供的塊存儲、檔案存儲和對象存儲三類存儲服務,簡單講講對應的存儲技術。

1. 塊存儲

雲環境的塊存儲技術主要包括使用集中式塊存儲和分布式塊存儲兩種技術路線。

1) 集中式塊存儲

作為目前最流行的IaaS架構 ,OpenStack架構中有一個獨立的元件叫Cinder。Cinder是OpenStack中提供存儲服務的API架構,用來為後端不同的存儲結構提供統一的接口。不同的塊裝置服務廠商在Cinder中實作其驅動支援。後端的存儲可以是DAS、NAS、SAN、對象存儲或者分布式檔案系統。由于在雲計算領域OpenStack受歡迎度非常高,是以衆多存儲廠商如NetAPP、IBM、 DellEMC、華為和衆多開源塊存儲系統均提供了對Cinder的支援,這也為在雲平台基礎架構層使用集中式SAN存儲提供了技術基礎。

當使用者規劃在雲平台下使用集中式塊存儲時,需要首先考慮兩個方面。

第一,自己使用的雲平台是不是基于OpenStack開發的,如果不是,那可能沒有SAN的接口。國内的主流雲平台産品大都是基于OpenStack開發的,但也存在少量的自研雲平台。

第二,基于OpenStack的雲平台通過使用Cinder來對接FC-SAN集中式存儲,Cinder隻提供架構,需要通過調用FC-SAN裝置廠商提供的Driver來使用和管理。這方面需要雲平台廠商配合。目前國内大部分基于OpenStack開發的雲平台産品中已經內建主流存儲廠家的FC驅動,可以讓Cinder與存儲底層對接,得到更高和更穩定的性能表現。

2)分布式塊存儲

分布式塊存儲是分布式存儲架構下的一個存儲接口。目前主流分布式存儲技術主要分HCI超融合基礎架構和SDS軟體定義分布式存儲。主流SDS分布式存儲又分為Ceph系和非Ceph系。在大規模雲環境下,SDS軟體定義分布式存儲适配度更高。

2. 檔案存儲

檔案存儲技術按照底層硬體架構可以分為集中式NAS存儲和分布式檔案系統。

集中式NAS存儲生态完善,在各大企業資料中心檔案共享服務中占據很大比例。集中式NAS儲存設備由機頭和擴充櫃組成,內建度高,運維相對簡單。

分布式檔案系統與集中式NAS相比,差別在于提供了并行化和橫向擴充的能力。分布式檔案系統按照架構有無中心分為兩類,一種是有中心架構的分布式檔案系統架構,包括GFS、HDFS等。另外一種是完全無中心的分布式存儲架構,包括CephFS、GlusterFS等。其中CephFS和GlusterFS支援POSFIX 接口。

GFS和HDFS的預設最小存儲單元為64M、128M甚至更高,是适合大檔案尤其是GB級别的大檔案存儲場景的分布式存儲系統。

GlusterFS是采用無中心對稱式架構,沒有專用的中繼資料伺服器,中繼資料存在于檔案的屬性和擴充屬性中。資料分片分布,也更适合大檔案存儲。

CephFS是分布式存儲系統Ceph面向檔案存儲的接口,CephFS 建構在RADOS(Ceph的核心技術-分布式對象存儲)之上,繼承RADOS的容錯性和擴充性,支援備援副本和資料高可靠性。

3. 對象存儲

對象存儲采用基于鍵值通路機制的扁平化存儲架構設計,它沒有多層樹級檔案目錄,天生具有分布式的架構優點,擴充友善。

對象存儲使用簡單,用戶端調用API就能進行資料存儲和讀取,其接口就是簡單的GET、PUT、DEL等。對象存儲提供了基于對象的通路接口,有效地合并了NAS和SAN的存儲結構優勢。

三、雲環境下的各類存儲技術的适用場景

1. 塊存儲

分布式塊存儲的優勢在于擴充性,是以适用于雲環境下大規模的虛拟機、容器場景。另外,MySQL、MongoDB等輕量級資料庫場景也可以選擇使用分布式塊存儲。

對于IO密集型資料庫應用來講,目前最好的存儲模式仍是采用高性能低延遲的集中式高端存儲陣列。

另外,針對雲規模相對不大,但業務重要性較高的業務場景,可以選擇使用基于OpenStack的雲平台通過Cinder接口來對接集中式存儲,為該類重要應用獲得更高和更穩定的存儲性能。

2. 檔案存儲

集中式NAS支援POSFIX接口,與現有應用內建簡單,适合小規模應用環境的快速部署。

GFS适合存儲大檔案,尤其是GB級别的大檔案存儲的場景。HDFS适合單次寫多次讀的大檔案流式讀取的場景。

GlusterFS基于無中心化架構,沒有中繼資料伺服器,具有高擴充性、高可用性、高性能,能夠處理千數量級的用戶端,可配置性較強。

CephFS也支援POSFIX接口,它使用Ceph存儲叢集來存儲資料,是以能夠解決NAS 産品scale-out橫向擴充不足的缺點,與使用Ceph存儲的雲環境最适配。

GlusterFS和CephFS可以作為在大規模雲環境下代替NAS的通用分布式檔案系統存儲技術,也是現在分布式NAS的發展方向。

3. 對象存儲

對象存儲接近無限擴充能力使其可以真正意義上實作非結構化資料的海量存儲。其扁平化的存入和讀取資料對象方式,使其使用方式簡單,應用經過标準 API 接口進行調用,十分契合網際網路大資料的存儲。對象存儲适合存儲包括多媒體、音樂、圖檔、視訊監控檔案、軟體、鏡像、掃描件等種類在内的海量檔案。

另一方面也要注意,對象存儲不支援随機讀寫操作,隻能全讀全寫,其面向的是一次寫入,多次讀取的非結構化資料存儲的需求場景

繼續閱讀