三種雲原生儲存方案優缺點及應用場景分析

danny_2018發表於2022-09-20

【摘要】隨著雲原生時代的到來,越來越多的業務系統會採用雲原生架構。儲存系統作為承載業務穩定執行的核心元件,在雲原生的架構下,也面臨著新的挑戰。本文分析了三種雲原生儲存方案的優缺點和應用場景,並提出了容器雲端儲存的選擇建議,希望能為大家提供參考。

一、引言

IT業務發展迅速,業務資料急劇增長,業務需求變化快,流量的波峰波谷的不可預測性,因此現有傳統體應用架構無法滿足當前業務需求。容器技術在此背景下,應運而生。基於容器雲的數字化技術,帶來對使用者的服務質量的提升;提升運維效率;降低IT建設成本,提升資源利用率;能協助使用者採用新的技術,快速上線新業務。隨著企業應用上雲越來越多地選擇使用容器化方式,容器服務在不同的雲廠商中都有大幅度的業務增長,容器服務已經逐步成為雲原生時代新的基礎設施和最佳使用雲資源的入口。容器是隨時可以銷燬,當容器消失時,資料也會隨之消失,因此容器資料的持久化,是必不可少的。

同時,尤其是影片、5G、直播、大型金融服務商等突發應用彈性擴容大量只讀容器,對資源彈性的能力要求非常高,資料儲存需具備極致彈性和極速伸縮能力的應用場景。

二、雲原生儲存遇到的問題

問題如下:

1.易用性:儲存服務部署、運維複雜,雲原生化程度低,缺少與主流編排平臺整合。

2.高效能:大量應用IO訪問,IOPS需求高,低時延,效能成為應用執行效率瓶頸。

3.高可用:雲原生儲存已經應用到生產環境,需要高可靠/高可用,不能出現單點故障。

4.敏捷性:PV快速建立、銷燬、平滑的擴充套件/收縮,PV隨Pod遷移而快速遷移等。

三、雲原生儲存方案

3.1 本地磁碟

3.1.1 本地磁碟架構

3.1.2 本地磁碟優缺點

優點:

1.效能好,資料可靠。由於磁碟和應用系統中間的IO路徑最短,本地磁碟可以提供最佳的效能。同時RAID提供了一定程度的可靠性的保證,可以避免因單個磁碟故障而導致的資料丟失。

2.簡單。在伺服器的硬碟槽上插上硬碟,並利用HBA卡或軟體的方式製作RAID,劃分邏輯卷,格式化成某種檔案系統後,掛載到容器中。

缺點:

1.由於容器的動態性,pod會漂移至其他節點,導致pod無法使用之前節點磁碟上的資料 。

2.本地磁碟無法提供節點級別的高可用,當物理節點發生故障時,由於資料都儲存在故障節點上,所以應用無法被恢復到其他節點。

3.本地磁碟在敏捷性上也無法滿足業務需求,業務使用的儲存空間受限於本地磁碟的大小,如果達到磁碟空間的上限後難以擴容。部署RAID也是相當耗時的操作,難以實現在短時間內部署大量的應用系統。

4.後期運維耗費人力,維護困難。

3.1.3 應用場景

1.無狀態服務,應用服務pod固定的場景。

2.io密集型應用服務,特別對磁碟網路io敏感的服務。

3.2 集中式儲存NFS

3.2.1 NFS系統架構

1.NFS是C/S架構,分為兩部分:NFS客戶端與NFS服務端,二者不直接通訊,透過RPCbind服務傳遞資訊。

2.NFS客戶端和服務端,基於TCP/IP協議通訊。

3.2.2 集中式儲存的優缺點

優點:

1.容易上手。

2.方便部署非常快速,維護十分簡單。

3.相容Linux系統和Windows系統。

4.基於TCP/IP協議通訊,適用性和相容性好。

5.遠端共享資料,解決了資料高可用的問題。

缺點:

1.儘管集中式儲存可以為單個業務系統提供較高的效能保證,但是當面臨大量業務併發訪問時,儲存控制器則成為了效能瓶頸。如果想要滿足大量業務對效能需求,需要採用多套集中式儲存系統,儲存系統的管理成本也會急劇上升。

2.此外,由於集中式儲存誕生在幾十年前,在設計上就沒有把敏捷性和運維便利性考慮進去,無法應對短時間內大量Volume的併發建立和銷燬操作,無法滿足業務系統對敏捷性的要求。

3.2.3 應用場景

1.多個不同應用系統,共享同一檔案目錄。

2.Pod漂移後,資料不丟失,而且不用固定pod所在的節點。

3.3 雲原生分散式儲存OpenEBS

3.3.1 OpenEBS系統架構

1.Openebs主要分為兩部分:OpenEBS控制層和OpenEBS資料引擎。

2.資料引擎是OpenEBS的核心,負責代表它們所服務的有狀態工作負載對底層持久儲存執行讀寫操作。

3.控制層主要負責與Kubernetes CSI互動,管理卷的生命週期;與Prometheus/ Grafana整合,遙測和監控儲存。

3.3.2 分散式儲存OpenEBS優缺點

優點:

1.容器附加儲存的宣告式供應。

2.使用同步資料複製的永續性和高可用性。OpenEBS透過Jiva,cStor和Mayastor儲存引擎,能夠保障資料複製同步和高可用性。

3.透過快照和克隆進行資料保護。cStor儲存引擎,支援快照和克隆,且對快照的數量沒有限制。

4.透過備份和還原進行災難恢復。透過OpenEBS Velero外掛,實現資料的備份和恢復 。

5.使用Prometheus指標和Grafana儀表板的可觀察性。OpenEBS提供儲存相關指標,比如卷的IOPS、吞吐量、延遲和資料模式等。

缺點:

1.架構複雜,不易上手,需要較強的技術能力和運維能力;

2.資料一致性問題。對於資料一致性要求比較高的應用場景,分散式儲存的效能可能就稍弱了,因為分散式的結構,資料同步是一個大問題,雖然現在技術一致在進步,但是也不如傳統儲存裝置資料儲存方式可靠。

3.3.3 OpenEBS應用場景

1.有狀態服務的資料持久化。

2.服務資料的快照,克隆。

3.服務資料災備恢復。

四、如何選擇容器雲端儲存

1. 容器服務是否是叢集架構

1)獨立非叢集的服務,可以使用本地儲存。本地儲存io不走網路。

2)叢集服務,需要共享目錄,應該使用NAS儲存或者分散式儲存解決。

2. 資料儲存型別

容器儲存以塊和檔案型別,給容器服務提供儲存資源。容器Pod根據業務需求,選擇塊儲存和檔案儲存。

3. 業務資料的重要性

1)資料的機密性。儲存對資料進行加密。

2)資料安全性。資料儲存支援快照,備份。

3)資料遷移和複製。資料儲存支援資料遷移,資料複製。

4)資料災難恢復。

4. 容器服務特徵

1)容器服務是否為有狀態服務和無狀態服務。通常情況下,有狀態服務是需要持久化資料;其次儲存需要支援動態建立儲存。

2)容器的生命週期及啟動和停止執行的頻率。高啟停頻率的系統會帶來資料持久化的挑戰,因為有些儲存系統的設計目的不是處理容器儲存資源的頻繁、快速供應和回收。

五、結語

隨著雲原生時代的到來,越來越多的業務系統會採用雲原生架構。儲存系統作為承載業務穩定執行的核心元件,在雲原生的架構下,也面臨著新的挑戰。與此同時,資料庫以及儲存系統自身也受到了雲原生架構的影響,逐漸發展出雲原生資料庫和雲原生儲存系統。未來可以看到越來越多的雲原生資料庫和雲原生儲存出現在資料中心中,成為被廣泛使用的技術。

來自 “ twt社群 ”, 原文作者:twt社群;原文連結:https://mp.weixin.qq.com/s/8HPO_0ZjRXscJEVwMFGqgA,如有侵權,請聯絡管理員刪除。

相關文章