分散式儲存 vs 傳統SAN、NAS 的優缺點分析

陶然陶然發表於2022-02-17

  傳統儲存架構的侷限性和分散式儲存的優點

  傳統SAN儲存裝置一般採用雙控制器架構,兩者互為備份,配置兩臺交換機與前端的伺服器進行連線,這種雙控制器架構方式會有以下兩個方面的缺點:

  1. 網路頻寬容易變成整個儲存效能的瓶頸;

  2. 如果一個控制器損壞,系統的效能將大幅下降,影響儲存的正常使用。

  傳統儲存架構的侷限性主要體現在以下幾個方面:

  1、橫向擴充套件性較差

  受限於前端控制器的對外服務能力,縱向擴充套件磁碟數量無法有效提升儲存裝置對外提供服務的能力。同時,前端控制器橫向擴充套件能力非常有限,業界最多僅能實現幾個控制器的橫向。因此,前端控制器成為整個儲存效能的瓶頸。

  2、不同廠家傳統儲存之間的差異性帶來的管理問題

  不同廠商裝置的管理和使用方式各有不同,由於軟硬體緊耦合、管理介面不統一等限制因素無法做到資源的統一管理和彈性排程,也會帶來儲存利用率較低的現象。因此,不同儲存的存在影響了儲存使用的便利性和利用率。

  分散式儲存往往採用分散式的系統結構,利用多臺儲存伺服器分擔儲存負荷,利用位置伺服器定位儲存資訊。它不但提高了系統的可靠性、可用性和存取效率,還易於擴充套件,將通用硬體引入的不穩定因素降到最低。優點如下:

  1.高效能

  一個具有高效能的分散式存戶通常能夠高效地管理讀快取和寫快取,並且支援自動的分級儲存。分散式儲存透過將熱點區域內資料對映到高速儲存中,來提高系統響應速度;一旦這些區域不再是熱點,那麼儲存系統會將它們移出高速儲存。而寫快取技術則可使配合高速儲存來明顯改變整體儲存的效能,按照一定的策略,先將資料寫入高速儲存,再在適當的時間進行同步落盤。

  2.彈性擴充套件

  得益於合理的分散式架構,分散式儲存可預估並且彈性擴充套件計算、儲存容量和效能。分散式儲存的水平擴充套件有以下幾個特性:

  1) 節點擴充套件後,舊資料會自動遷移到新節點,實現負載均衡,避免單點過熱的情況出現;

  2) 水平擴充套件只需要將新節點和原有叢集連線到同一網路,整個過程不會對業務造成影響;

  3) 當節點被新增到叢集,叢集系統的整體容量和效能也隨之線性擴充套件,此後新節點的資源就會被管理平臺接管,被用於分配或者回收。

  3.支援分級儲存

  由於透過網路進行松耦合連結,分散式儲存允許高速儲存和低速儲存分開部署,或者任意比例混布。在不可預測的業務環境或者敏捷應用情況下,分層儲存的優勢可以發揮到最佳。解決了目前快取分層儲存最大的問題是當效能池讀不命中後,從冷池提取資料的粒度太大,導致延遲高,從而給造成整體的效能的抖動的問題。

  4.多副本的一致性

  與傳統的儲存架構使用RAID模式來保證資料的可靠性不同,分散式儲存採用了多副本備份機制。在儲存資料之前,分散式儲存對資料進行了分片,分片後的資料按照一定的規則儲存在叢集節點上。為了保證多個資料副本之間的一致性,分散式儲存通常採用的是一個副本寫入,多個副本讀取的強一致性技術,使用映象、條帶、分散式校驗等方式滿足租戶對於可靠性不同的需求。在讀取資料失敗的時候,系統可以透過從其他副本讀取資料,重新寫入該副本進行恢復,從而保證副本的總數固定;當資料長時間處於不一致狀態時,系統會自動資料重建恢復,同時租戶可設定資料恢復的頻寬規則,最小化對業務的影響。

  5.容災與備份

  在分散式儲存的容災中,一個重要的手段就是多時間點快照技術,使得使用者生產系統能夠實現一定時間間隔下的各版本資料的儲存。特別值得一提的是,多時間點快照技術支援同時提取多個時間點樣本同時恢復,這對於很多邏輯錯誤的災難定位十分有用,如果使用者有多臺伺服器或虛擬機器可以用作系統恢復,透過比照和分析,可以快速找到哪個時間點才是需要回復的時間點,降低了故障定位的難度,縮短了定位時間。這個功能還非常有利於進行故障重現,從而進行分析和研究,避免災難在未來再次發生。多副本技術,資料條帶化放置,多時間點快照和週期增量複製等技術為分散式儲存的高可靠性提供了保障。

  6.儲存系統標準化

  隨著分散式儲存的發展,儲存行業的標準化程式也不斷推進,分散式儲存優先採用行業標準介面進行儲存接入。在平臺層面,透過將異構儲存資源進行抽象化,將傳統的儲存裝置級的操作封裝成面向儲存資源的操作,從而簡化異構儲存基礎架構的操作,以實現儲存資源的集中管理,並能夠自動執行建立、變更、回收等整個儲存生命週期流程。基於異構儲存整合的功能,使用者可以實現跨不同品牌、介質地實現容災,如用中低端陣列為高階陣列容災,用不同磁碟陣列為快閃記憶體陣列容災等等,從側面降低了儲存採購和管理成本。(觀點來自@baimmi 某金融集團 架構師)

  分散式儲存與傳統的SAN、NAS相比的優勢和缺點

  分散式儲存與傳統的SAN、NAS相比,優勢如下:

  1、效能:在分散式儲存達到一定規模是,效能會超過傳統的SAN、NAS。大量磁碟和節點,結合適當的資料分佈策略,可以達到非常高的聚合頻寬。傳統的SAN、NAS都會有效能瓶頸,一旦達到最大擴充套件能力,效能不會改變甚至降低。

  2、價格:傳統的SAN、NAS,價格比較高。特別是SAN網路裝置,光纖網路成本比較高。而且,以後擴充套件還需要增加擴充套件櫃。成本太高。分散式儲存只需要IP網路,幾臺X86伺服器加內建硬碟就可以組建起來,初期成本比較低。擴充套件也非常方便,加伺服器就行。

  3、可持續性:傳統的SAN、NAS擴充套件能力受限,一個機頭最多可以帶幾百個磁碟。如果想要個PB以上的共享儲存,分散式儲存只最好的選擇。不用擔心擴充套件能力問題。

  缺點:

  1、需要比較強的技術能力和運維能力,甚至有開發能力的使用者。傳統儲存開箱即用,硬體由廠家提供,也有完善的文件和服務。而分散式很多是開源或者是有公司基於開源系統提供支援服務,版本迭代比較快,出問題後有可能需要自己解決。

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

  3、穩定性問題。分散式儲存非常依賴網路環境和頻寬,如果網路發生抖動或者故障,都可能會影響分散式儲存系統執行。例如,一旦發生IP衝突,那麼整體分散式儲存可能都無法訪問。傳統儲存一般使用專用SAN或IP網路,穩定性方面,更可靠一些。(觀點來自@劉東 某軟體集團 諮詢顧問)

  關聯閱讀:

  分散式儲存如何保證資料一致性?

  從服務端角度,如何儘快將更新後的資料分佈到整個系統,降低達到最終一致性的時間視窗,是提高系統的可用度和使用者體驗非常重要的方面。對於分散式儲存系統:

  N — 資料複製的份數

  W — 更新資料是需要保證寫完成的節點數

  R — 讀取資料的時候需要讀取的節點數

  如果W+R>N,寫的節點和讀的節點重疊,則是強一致性。例如對於典型的一主一備同步複製的分散式儲存系統,N=2,W=2,R=1,則不管讀的是主副本還是從副本的資料,都是一致的。

  如果W+R<=N,則是弱一致性。例如對於一主一備非同步複製的分散式儲存,N=2,W=1,R=1,則如果讀的是從副本,就可能無法讀取主副本已經更新過的資料,從而讀到了髒資料所以是弱一致性。

  對於分佈儲存式系統,為了保證高可用性,一般設定N>=3,且強制在主副本讀取,也是通常說的分散式儲存系統使用強一致性原則。(@baimmi )

  分散式儲存的檔案儲存和物件儲存有哪些區別?

  檔案儲存與物件儲存區別主要可從三方面來進行比較:

  1、展現模式:

  檔案儲存:以磁碟機代號 / 目錄的形式展現,優點是符合使用者現有使用習慣,使用者可以像使用本地硬碟一樣使用儲存系統,缺點是無法定製化儲存後設資料資訊,對業務系統無最佳化;

  物件儲存:與應用系統相結合形式展現,優點是可按需呼叫儲存介面,併為檔案設定後設資料以及標籤屬性,可滿足業務系統定製化需求,缺點是需要業務系統直接呼叫儲存,使用者無法直接呼叫系統內資料。

  2、訪問協議

  檔案儲存:NFS/CIFS 協議訪問,優點是鎖機制可支援多人同時對資料進行修改(鎖機制由應用系統決定 , 缺點是為保證資料訪問一致性,需要進行資料索引資訊同步,對系統併發效能以及系統規模存在較大影響。

  物件儲存:HTTP 傳輸協議以及 RESTful 介面訪問,優點是透過演算法存放檔案後設資料資訊,無後設資料同步限制,系統可無限制擴充套件,且效能隨著儲存系統規模擴充套件而線性提升,缺點是採用 RESTful 介面 Put 、 Get 、 Delete ,不支援多人同時對同一檔案修改。

  3、資料結構

  檔案儲存:採用樹形目錄結構,讀取和儲存資料要經過更長路徑才能到達目標位置。隨著資料越來越多,目錄結構會越來越繁雜,查詢以及調取檔案的速度會越來越慢(作業系統對目錄位元組數存在限制); 如若出現裝置損壞或者擴容時,需要將巨型目錄樹中的資料重新分配均衡,效率較差。

  物件儲存:採用扁平目錄結構,拋棄了巢狀的資料夾,避免維護龐大的目錄樹,只保留二級(或三級)目錄結構。根下直接就是桶 桶中直接存放物件,桶中不能再建桶(禁止多層資料夾)。 每個物件檔案都只需要一個 ID 就能獲取物件。

  適用場景總結:

  檔案儲存:數百 TB-PB 級資料平行計算類應用;億級別以內小檔案儲存類應用;需要線上修改資料類應用系統,如:非編系統。

  物件儲存:PB- 數百 PB 級資料儲存儲存類應用;千億級海量小檔案資料儲存以及海量併發。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28285180/viewspace-2856173/,如需轉載,請註明出處,否則將追究法律責任。

相關文章