通過使用分布式存儲(chǔ),可解決現(xiàn)有集中式存儲(chǔ)系統(tǒng)在性能、可維護(hù)性、可用性以及可擴(kuò)展性等方面存在的問題。但在企業(yè)分布式存儲(chǔ)落地過程中,適用場(chǎng)景以及技術(shù)路線如何選型成為必須解決的問題。社區(qū)今日組織線上活動(dòng),圍繞該主題進(jìn)行交流分享,現(xiàn)由活動(dòng)嘉賓專家顧黃亮(蘇寧消費(fèi)金融安全運(yùn)維部總經(jīng)理)總結(jié)交流內(nèi)容如下,供大家參考。
一、在DevOps、微服務(wù)化、容器等新技術(shù)的落地過程中分布式存儲(chǔ)有哪些優(yōu)勢(shì)和不足?
【問題描述】存儲(chǔ)是IT架構(gòu)最基礎(chǔ)的部分,新技術(shù)的發(fā)展對(duì)存儲(chǔ)提出了更高的要求,分布式存儲(chǔ)針對(duì)這些新技術(shù)有哪些特長?不足又有哪些?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
分布式存儲(chǔ)在IT架構(gòu)中的定位更多的是資源的彈性伸縮,能力覆蓋局限于IaaS和成本方面,且分布式存儲(chǔ)和集中式存儲(chǔ)在面向PaaS和SaaS而言,呈現(xiàn)越來越友好的狀態(tài),具體在下列幾個(gè)方面:
1、靈活擴(kuò)展?jié)M足海量數(shù)據(jù)存儲(chǔ)需求
分布式存儲(chǔ)系統(tǒng),采用Scale-out擴(kuò)展架構(gòu),可實(shí)現(xiàn)超大集群規(guī)模的部署,從3節(jié)點(diǎn)存儲(chǔ)集群起步,可實(shí)現(xiàn)靈活的擴(kuò)展至數(shù)千節(jié)點(diǎn)。存儲(chǔ)容量可實(shí)現(xiàn)一個(gè)集群EB級(jí)數(shù)據(jù)空間。同時(shí)由于分布式架構(gòu),每一個(gè)存儲(chǔ)節(jié)點(diǎn)都可以提供獨(dú)立的性能支撐,在高并發(fā)的數(shù)據(jù)處理中,可以實(shí)現(xiàn)更高的存儲(chǔ)性能,更高的帶寬吞吐和IOPS。有效的解決海量數(shù)據(jù)高擴(kuò)展和高性能的存儲(chǔ)需求。
2、彈性擴(kuò)容與替換
由于實(shí)現(xiàn)了分布式存儲(chǔ)平臺(tái),那么此平臺(tái)無論多少個(gè)節(jié)點(diǎn)都可以看作一個(gè)資源池,每一個(gè)節(jié)點(diǎn)可以看做這個(gè)資源池的一個(gè)分子。通過系統(tǒng)預(yù)裝、軟件優(yōu)化可直接將分子加入到整個(gè)平臺(tái)之中,因而,在存儲(chǔ)性能或者容量資源不夠時(shí),均可以通過添加硬件資源來提升存儲(chǔ)集群的相應(yīng)資源。
另一方面,由于硬件采用標(biāo)準(zhǔn)化X86服務(wù)器,并且集群內(nèi)每個(gè)節(jié)點(diǎn)均通過軟件系統(tǒng)進(jìn)行統(tǒng)一管理,在硬件設(shè)備老舊或者故障時(shí),可便捷的直接更換新硬件,加入集群中。簡(jiǎn)單方便并且對(duì)于上層業(yè)務(wù)無感知。友善的提供產(chǎn)品更替。并且,更替節(jié)點(diǎn)或者磁盤后,存儲(chǔ)系統(tǒng)將會(huì)進(jìn)行自動(dòng)重建數(shù)據(jù),平衡各節(jié)點(diǎn)的數(shù)據(jù)分布。此操作無需人工干預(yù)即可自動(dòng)完成。降低使用難度。
3、可視化、標(biāo)準(zhǔn)化讓管理更簡(jiǎn)單
相較于傳統(tǒng)存儲(chǔ)黑盒子的管理方式,分布式存儲(chǔ)實(shí)現(xiàn)了標(biāo)準(zhǔn)硬件的交付,標(biāo)準(zhǔn)硬件服務(wù)器的運(yùn)維管理會(huì)更簡(jiǎn)單。在存儲(chǔ)生命周期過程中的管理具備以下優(yōu)點(diǎn)。
部署上線:存儲(chǔ)節(jié)點(diǎn)內(nèi)置與硬件深度優(yōu)化后的存儲(chǔ)系統(tǒng),30分鐘即可實(shí)現(xiàn)部署上線。告別傳統(tǒng)的軟件部署安裝,調(diào)優(yōu)適配,真正實(shí)現(xiàn)了開箱即用。
配置規(guī)劃:按照系統(tǒng)指示,實(shí)現(xiàn)資源分配和管理。資源配置可實(shí)現(xiàn)靈活的分配和回收。配置規(guī)劃全部可視化操作,無需人工手動(dòng)記錄對(duì)應(yīng)關(guān)系,一切均可直觀使用管理。
管理運(yùn)維:直觀的可視化管理設(shè)計(jì),可實(shí)現(xiàn)全集群的一頁管理。硬件的cpu、網(wǎng)絡(luò)、磁盤等健康監(jiān)控,到邏輯卷、用戶數(shù)、存儲(chǔ)集群的穩(wěn)定運(yùn)行情況均可動(dòng)態(tài)展示,做到實(shí)時(shí)監(jiān)控預(yù)警。
故障排查:故障排場(chǎng)從傳統(tǒng)的故障告警實(shí)現(xiàn)了提前預(yù)防。分布式存儲(chǔ)可實(shí)現(xiàn)集群的健康監(jiān)測(cè),在故障潛伏期即可實(shí)現(xiàn)故障提醒。真正實(shí)現(xiàn)故障的提前處理,防患未然。
4、統(tǒng)一存儲(chǔ)資源,實(shí)現(xiàn)數(shù)據(jù)共享共用
分布式存儲(chǔ)系統(tǒng)通過統(tǒng)一硬件資源池,同時(shí)提供塊、文件、對(duì)象三種存儲(chǔ)服務(wù)。因而,數(shù)據(jù)中心的數(shù)據(jù)將統(tǒng)一存放到云存儲(chǔ)資源池中。通過存儲(chǔ)管理系統(tǒng),可根據(jù)用戶指令實(shí)現(xiàn)數(shù)據(jù)的調(diào)動(dòng)與共享。
另一方面,存儲(chǔ)系統(tǒng)內(nèi)置數(shù)據(jù)治理,數(shù)據(jù)分析等于數(shù)據(jù)強(qiáng)相關(guān)的數(shù)據(jù)應(yīng)用系統(tǒng),可實(shí)現(xiàn)便捷的數(shù)據(jù)處理,并將處理好的完整數(shù)據(jù)對(duì)接到大數(shù)據(jù)平臺(tái)實(shí)現(xiàn)大數(shù)據(jù)的分析與應(yīng)用。便捷的實(shí)現(xiàn)數(shù)據(jù)價(jià)值的挖掘,助力企業(yè)正在實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型!
5、更高的可靠性
分布式存儲(chǔ)系統(tǒng)在數(shù)據(jù)冗余方面,通過多副本、糾刪碼等技術(shù),不僅可以容忍多磁盤的故障不影響數(shù)據(jù)可靠性,在數(shù)據(jù)重構(gòu)修復(fù)方面效率也大大提升。由于采用了熱備空間概念,將原本一塊磁盤重構(gòu)數(shù)據(jù)的壓力均攤到多磁盤上,速度可提升至1T/30min。另一方面,由于采用了無中心化設(shè)計(jì),所有存儲(chǔ)節(jié)點(diǎn)均可承載業(yè)務(wù)系統(tǒng),分布式存儲(chǔ)還能夠容忍服務(wù)器故障,存儲(chǔ)系統(tǒng)依然穩(wěn)定可用,可靠性更優(yōu)。
二、分布式存儲(chǔ)應(yīng)用場(chǎng)景有哪些呢?
【問題描述】目前,雖然分布式存儲(chǔ)成熟度已經(jīng)在實(shí)際環(huán)境中有了一定的驗(yàn)證,不過應(yīng)該還沒有鋪開用呢吧?因此,分布式存儲(chǔ)是否有它本身去適用的場(chǎng)景呢?有哪些更適合去用分布式存儲(chǔ)?有哪些因素我們應(yīng)該去評(píng)估,使用分布式存儲(chǔ)呢?比如說備份:我們用一臺(tái)傳統(tǒng)大盤存儲(chǔ),是不是也就滿足了,而不是用對(duì)象存儲(chǔ)。這樣成本也會(huì)很低了。
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
分布式的“四高”特性,使得其在高性能計(jì)算、大數(shù)據(jù)視頻云及大數(shù)據(jù)分析等應(yīng)用場(chǎng)景中有著廣泛的應(yīng)用。
高性能計(jì)算場(chǎng)景
在如氣象氣候、地質(zhì)勘探、航空航天、工程計(jì)算、材料工程等領(lǐng)域,基于集群的高性能計(jì)算,已成為必需的輔助工具。集群系統(tǒng)有極強(qiáng)的伸縮性,可通過在集群中增加或刪減節(jié)點(diǎn)的方式,在不影響原有應(yīng)用與計(jì)算任務(wù)的情況下,隨時(shí)增加和降低系統(tǒng)的處理能力。根據(jù)不同的計(jì)算模式與規(guī)模,構(gòu)成集群系統(tǒng)的節(jié)點(diǎn)數(shù)可以從幾個(gè)到成千上萬個(gè)。這些業(yè)務(wù)對(duì)后端的存儲(chǔ)系統(tǒng)提出了新的需求,包括統(tǒng)一的存儲(chǔ)空間、高效率的文件檢索、高帶寬的吞吐性能,高可靠的數(shù)據(jù)安全保障等。
大數(shù)據(jù)視頻云應(yīng)用場(chǎng)景
隨著視頻高清技術(shù)及超高清技術(shù)的普及,視頻大數(shù)據(jù)應(yīng)用場(chǎng)景,如雪亮工程、平安城市、廣電媒資、影視制作、視頻網(wǎng)站等領(lǐng)域,對(duì)存儲(chǔ)設(shè)備提出了大容量、高讀寫性能、高可靠性、低延時(shí)及可擴(kuò)展性等需求。針對(duì)這樣大規(guī)模視頻數(shù)據(jù)應(yīng)用場(chǎng)景,就需要一個(gè)技術(shù)先進(jìn)、性能優(yōu)越的存儲(chǔ)系統(tǒng)作為后端數(shù)據(jù)存儲(chǔ)的支撐者。
大數(shù)據(jù)分析應(yīng)用場(chǎng)景
伴隨著互聯(lián)網(wǎng)技術(shù)及人工智能的發(fā)展,各種基于海量用戶/數(shù)據(jù)/終端的大數(shù)據(jù)分析及人工智能業(yè)務(wù)模式不斷涌現(xiàn),同樣需要充分考慮存儲(chǔ)功能集成度、數(shù)據(jù)安全性、數(shù)據(jù)穩(wěn)定性,系統(tǒng)可擴(kuò)展性、性能及成本各方面因素。
在數(shù)據(jù)爆發(fā)增長的“數(shù)字時(shí)代”,軟件定義的分布式存儲(chǔ)是存儲(chǔ)技術(shù)高速發(fā)展的結(jié)晶,并具有著很大的成長空間,必將應(yīng)用于更廣泛的大數(shù)據(jù)業(yè)務(wù)場(chǎng)景。
三、銀行業(yè)在分布式存儲(chǔ)與集中存儲(chǔ)的選擇上應(yīng)注意哪些問題?如何選擇適合的存儲(chǔ)類型?
趙海技術(shù)經(jīng)理:
銀行業(yè)的數(shù)據(jù):
交易數(shù)據(jù):屬于結(jié)構(gòu)化數(shù)據(jù),以二維表的形式存在于交易系統(tǒng)數(shù)據(jù)庫當(dāng)中,屬于首要數(shù)據(jù)。
影像數(shù)據(jù):客戶簽約所需的非結(jié)構(gòu)化或者半結(jié)構(gòu)化數(shù)據(jù),存在內(nèi)容管理平臺(tái)當(dāng)中。
歷史數(shù)據(jù):從數(shù)據(jù)庫當(dāng)中歸檔出來的歷史數(shù)據(jù)。
分析數(shù)據(jù):從交易系統(tǒng)當(dāng)中下沉的數(shù)據(jù),用來做監(jiān)管報(bào)送、反洗錢、運(yùn)營分析等的分析類數(shù)據(jù)。
運(yùn)維數(shù)據(jù):日志、報(bào)告、監(jiān)控等一系列系統(tǒng)運(yùn)行相關(guān)的數(shù)據(jù)。
存儲(chǔ)的選擇,究竟是分布式存儲(chǔ)還是集中式存儲(chǔ),主要看兩點(diǎn):
1.數(shù)據(jù)結(jié)構(gòu)是什么樣的?如果是交易類的結(jié)構(gòu)化數(shù)據(jù),那么一般都是二維表形式,以塊數(shù)據(jù)存取方式為最優(yōu)。因?yàn)榇鎯?chǔ)層與數(shù)據(jù)庫層對(duì)數(shù)據(jù)存取粒度,事務(wù)的處理,并發(fā)的控制都非常契合,性能也是最好。如果是非結(jié)構(gòu)化或者半結(jié)構(gòu)化的影像數(shù)據(jù),不妨選擇分布式存儲(chǔ),節(jié)省成本而且提高了業(yè)務(wù)的并發(fā)能力。
2.穩(wěn)定性如何?交易類的數(shù)據(jù)一定要求是穩(wěn)定的存儲(chǔ)平臺(tái),不成熟的的分布式架構(gòu)或者應(yīng)用資歷尚淺的不要輕易用到交易類系統(tǒng)上。
四、分布式存儲(chǔ)選型有何依據(jù)?
【問題描述】目前分布式存儲(chǔ)廠商太多,一搜一大把。有基于ceph進(jìn)行二開的,也有一些說是自研的。有重在軟件類的,也有搞一體機(jī)綁定的,那么我們應(yīng)該如何做選型呢?
1.cpu、mem、緩存磁盤等等如何選擇?
2.選型依據(jù)都有哪些指標(biāo)以及對(duì)應(yīng)的參數(shù)?
3.形態(tài)是純軟還是軟硬一體的會(huì)有哪些差異呢?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
1、cpu、mem、緩存磁盤等等如何選擇?
如果是軟件定義存儲(chǔ),一切以實(shí)際場(chǎng)景對(duì)cpu、men、緩存的需求為準(zhǔn),如果是一體化存儲(chǔ),相對(duì)的型號(hào)有對(duì)應(yīng)的建議場(chǎng)景需求。
2、選型依據(jù)都有哪些指標(biāo)以及對(duì)應(yīng)的參數(shù)?
主要看場(chǎng)景,比如私有云部署,海量非結(jié)構(gòu)化數(shù)據(jù),高性能計(jì)算,流媒體和視頻監(jiān)控場(chǎng)景,對(duì)應(yīng)參數(shù),建議按照現(xiàn)場(chǎng)需求,如IOPS、吞吐。
3、形態(tài)是純軟還是軟硬一體的會(huì)有哪些差異呢?
純軟,便宜,更靈活
一體化,貴,更可靠更穩(wěn)定
五、分布式存儲(chǔ)使用過程穩(wěn)定性和可靠性如何保障?
【問題描述】分布式存儲(chǔ)和集中式存儲(chǔ)相比,有很強(qiáng)的價(jià)格優(yōu)勢(shì),在實(shí)際使用過程中,依然需要通過容量管理的方式對(duì)存儲(chǔ)成本進(jìn)行評(píng)估,存儲(chǔ)成本在分布式存儲(chǔ)體系中,更多的以集群使用率進(jìn)行呈現(xiàn)。在目前開源的分布式存儲(chǔ)產(chǎn)品中,絕大多數(shù)采取偽隨機(jī)算法的方式進(jìn)行數(shù)據(jù)平衡,比較典型的是Ceph,因此導(dǎo)致分布式存儲(chǔ)在使用一定時(shí)間后,出現(xiàn)集群可用率造成較大的誤差。分布式存儲(chǔ)架構(gòu)師和工程師需要通過相應(yīng)的技術(shù)手段監(jiān)控分布式存儲(chǔ)的數(shù)據(jù)使用情況和數(shù)據(jù)平衡狀態(tài),其中包括災(zāi)難性數(shù)據(jù)遷移和數(shù)據(jù)分布閾值,保障分布式存儲(chǔ)在使用過程的穩(wěn)定性和可靠性。
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
從根本上說,這是數(shù)據(jù)均衡的問題,在Ceph的技術(shù)體系中,尤為突出。
數(shù)據(jù)均衡是保證分布式存儲(chǔ)的每個(gè)盤的數(shù)據(jù)相對(duì)分布均衡,依靠自身的數(shù)據(jù)均衡算法,確保數(shù)據(jù)分布能夠遵循每個(gè)Pool的Rule-Set規(guī)則,同時(shí)又要保證每個(gè)Pool對(duì)應(yīng)的PG較為合理的分布在每個(gè)OSD中,在Ceph的數(shù)據(jù)均衡體系中,每個(gè)Pool的作用是不一樣的,有的存放元數(shù)據(jù),有的存放業(yè)務(wù)數(shù)據(jù),因此容易造成數(shù)據(jù)分布存在不均衡性。
在Ceph新版本中,已經(jīng)實(shí)現(xiàn)了數(shù)據(jù)分布的智能管理,在很多商業(yè)分布式存儲(chǔ)產(chǎn)品,也具備類似的功能,通過相關(guān)的計(jì)算模型,根據(jù)數(shù)據(jù)的匯入進(jìn)行實(shí)時(shí)的迭代計(jì)算,能夠?qū)?shù)據(jù)分布進(jìn)行最優(yōu)分布管理,據(jù)實(shí)際統(tǒng)計(jì),數(shù)據(jù)分布的誤差基本可以控制在2%之內(nèi)。
Lucien168滴滴存儲(chǔ)工程師:
分布式系統(tǒng)一般都是靠分布式協(xié)議paxos算法或者Raft算法來保證集群的高可用性和可靠性,一般只要運(yùn)維和監(jiān)控的保障不會(huì)出現(xiàn)大問題。
數(shù)據(jù)不均衡:
但是咱們?cè)谶\(yùn)維的過程中,會(huì)發(fā)現(xiàn)ceph的crush算法,會(huì)導(dǎo)致數(shù)據(jù)傾斜,集群中數(shù)據(jù)的不均衡。這個(gè)時(shí)候就需要我們監(jiān)控的及時(shí)告警,以及運(yùn)維工具定期的做reblanace來保證集群數(shù)據(jù)的均衡性。
遷移IO爭(zhēng)搶:
在集群節(jié)點(diǎn)有變動(dòng)的時(shí)候會(huì)導(dǎo)致集群均衡的遷移,那么集群內(nèi)部的遷移IO肯定會(huì)影響客戶端請(qǐng)求的IO,這個(gè)時(shí)候需要我們針對(duì)集群內(nèi)部IO設(shè)置優(yōu)先級(jí)以及控制好速率,優(yōu)先來保證客戶端IO的完成。
劉東東軟集團(tuán)it技術(shù)咨詢顧問:
在以ceph為代表的分布式存儲(chǔ)的集群中確實(shí)會(huì)存在數(shù)據(jù)分布不均衡的問題,特別是在剛剛部署完成ceph群集或進(jìn)行集群擴(kuò)容的時(shí)候,加入了新的盤,會(huì)使這個(gè)情況更加嚴(yán)重,OSD數(shù)量會(huì)發(fā)生變化,,而集群中只要有一個(gè)OSD先被寫滿,那么整個(gè)集群都將無法寫入數(shù)據(jù),所會(huì)極大的影響存儲(chǔ)穩(wěn)定性和可靠性。
為了盡可能避免這種情況,提高分布式集群存儲(chǔ)利用率,需要盡可能的將PG均勻分布在OSD上,通常有以下幾種做法:
1.設(shè)置osd均衡權(quán)重,做osd reweight,可以根據(jù)每個(gè)OSD上的PG數(shù)量來調(diào)整,默認(rèn)值是120%。當(dāng)然這種方式需要定期監(jiān)控狀態(tài),并不是一個(gè)自動(dòng)化的方案。
2.使用balancer的方式,將PG在各個(gè)OSD上自動(dòng)遷移,達(dá)到均衡的效果。
六、如何有效和智能的控制并恢復(fù)IO,減少因IO問題導(dǎo)致數(shù)據(jù)批量計(jì)算的影響,是分布式存儲(chǔ)考慮和解決的問題?
【問題描述】金融場(chǎng)景具有高密集IO的特性,尤其在數(shù)據(jù)批量計(jì)算方面,分布式存儲(chǔ)在頻繁數(shù)據(jù)分布和遷移過程中通常會(huì)帶來IO爭(zhēng)搶的問題,在大規(guī)模集群遇到擴(kuò)容或硬盤替換時(shí)尤為明顯,給分布式存儲(chǔ)在金融領(lǐng)域的深入使用帶來了一定的風(fēng)險(xiǎn)。如何有效和智能的控制并恢復(fù)IO,減少因IO問題導(dǎo)致數(shù)據(jù)批量計(jì)算的影響,是分布式存儲(chǔ)架構(gòu)師必須要考慮和解決的問題?
Lucien168滴滴存儲(chǔ)工程師:
backfill和recovery的最優(yōu)值
ceph在增加osd的時(shí)候會(huì)觸發(fā)backfill,讓數(shù)據(jù)得到平均,觸發(fā)數(shù)據(jù)的遷移
ceph在移除osd的時(shí)候需要在節(jié)點(diǎn)上進(jìn)行數(shù)據(jù)的恢復(fù),也有數(shù)據(jù)的遷移和生成
只要是集群里面有數(shù)據(jù)的變動(dòng)就會(huì)有網(wǎng)卡流量,cpu,內(nèi)存等資源的占用,并且最重要的是還有磁盤的占用,這個(gè)客戶端也是需要對(duì)磁盤進(jìn)行訪問的,當(dāng)請(qǐng)求出現(xiàn)碰撞的時(shí)候,肯定會(huì)比正常的情況下要慢很多,而且還有可能因?yàn)橘Y源方面的原因而引起機(jī)器down機(jī)等異常狀況的出現(xiàn)
主要引起的問題可能:
*在peering的時(shí)候block了IO請(qǐng)求
*在backfill的引起了slow requests
*上面的兩個(gè)情況會(huì)引起客戶端的降速和出現(xiàn)soft lockup
這個(gè)在一般情況下會(huì)出現(xiàn)不同的需求:
1.慢點(diǎn)可以一定不能出問題,不能中斷業(yè)務(wù)
2.越快遷移完越好,早點(diǎn)結(jié)束維護(hù)服務(wù)
3.需要又快又不能影響業(yè)務(wù)
這個(gè)需要根據(jù)自己可以掌控的程度來進(jìn)行控制,首先環(huán)境的不同,影響不同,遷移數(shù)據(jù)量,網(wǎng)卡的帶寬都是重要的影響因素,從整體上可以根據(jù)自己的環(huán)境按照上面的三個(gè)要求中的一個(gè)進(jìn)行控制
osd recoveryoppriority=3#默認(rèn)值10#恢復(fù)操作優(yōu)先級(jí),取值1-63,值越高占用資源越高osd recovery max active=3#默認(rèn)值15#同一時(shí)間內(nèi)活躍的恢復(fù)請(qǐng)求數(shù)osd max backfills=1#默認(rèn)值10#一個(gè)OSD允許的最大backfills數(shù)osd recovery max active=3(default:15)osd recoveryoppriority=3(default:10)osd max backfills=1(default:10)
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
從分布式存儲(chǔ)在金融領(lǐng)域的實(shí)際使用過程中,不定期會(huì)有常規(guī)的運(yùn)維操作,比如題主所提到的大規(guī)模集群的擴(kuò)容和磁盤更換,IO爭(zhēng)搶也是較為常見的問題之一。
拋磚引玉,筆者所遇到的大規(guī)模集群中,單個(gè)集群超過1K的存儲(chǔ)節(jié)點(diǎn),按照正常的概率,每個(gè)月會(huì)有數(shù)量不等的磁盤損壞,每個(gè)季度會(huì)存在一次集中換盤,這些操作都會(huì)通過數(shù)據(jù)遷移、數(shù)據(jù)負(fù)載和數(shù)據(jù)平衡的方式進(jìn)行數(shù)據(jù)恢復(fù),IO爭(zhēng)搶大都發(fā)生在這個(gè)場(chǎng)景,高密集IO計(jì)算的爭(zhēng)搶更多的取決于數(shù)據(jù)分布算法的合理性。
通常情況下,拋開分布式存儲(chǔ)自身的算法,更多的采取時(shí)間策略+流量策略的方式規(guī)避IO爭(zhēng)搶,比如在業(yè)務(wù)高峰期避開磁盤變更窗口,而流量策略更多的是基于數(shù)據(jù)流量恢復(fù)速率閾值匹配業(yè)務(wù)場(chǎng)景,最終實(shí)現(xiàn)在不影響業(yè)務(wù)IO的情況下,快速完成數(shù)據(jù)遷移恢復(fù)。
劉東東軟集團(tuán)it技術(shù)咨詢顧問:
分布式存儲(chǔ)在發(fā)生OSD變化的時(shí)候確實(shí)會(huì)導(dǎo)致IO波動(dòng),特別是在擴(kuò)容或升級(jí)時(shí),會(huì)做自身的的數(shù)據(jù)均衡,發(fā)生大規(guī)模的數(shù)據(jù)遷移造成IO數(shù)據(jù)影響。所以為了避免了類似情況發(fā)生,需要考慮業(yè)務(wù)的繁忙時(shí)間段,避免在高峰期進(jìn)行磁盤或節(jié)點(diǎn)擴(kuò)容等操作。
除了避免時(shí)間固定時(shí)間窗口以外,在擴(kuò)容策略上,還要避免一次大規(guī)模增加OSD數(shù)量。比如每次只擴(kuò)容一個(gè)OSD或者一個(gè)節(jié)點(diǎn)(按存儲(chǔ)隔離策略),雖然工作量會(huì)增加一些,但是不會(huì)造成大規(guī)模的持續(xù)性的影響。
在由于故障導(dǎo)致數(shù)據(jù)恢復(fù)時(shí),可以限定數(shù)據(jù)恢復(fù)的流量策略,例如將恢復(fù)流量占用IO利用率閾值小于30~50%來保證生產(chǎn)IO的性能,這些都是避免IO爭(zhēng)用的手段和策略。
七、分布式存儲(chǔ)出現(xiàn)整個(gè)集群故障,如何保障數(shù)據(jù)安全性?是否可以跟傳統(tǒng)存儲(chǔ)一樣可以做數(shù)據(jù)恢復(fù)?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
針對(duì)這個(gè)問題可以這么看,如果單機(jī)房部署,分布式存儲(chǔ)所有的冗余措施全部失效,觸發(fā)整個(gè)集群故障,必然不能保障數(shù)據(jù)的安全性,只能從業(yè)務(wù)層面進(jìn)行數(shù)據(jù)補(bǔ)錄,這種概率非常低。
如果多機(jī)房部署,出現(xiàn)整個(gè)集群宕機(jī)的概率極底,如果多機(jī)房部署的情況下出現(xiàn)單機(jī)房不能提供服務(wù),有兩種方式。
1、單側(cè)機(jī)房發(fā)生了全局故障,數(shù)據(jù)完全丟失,另一側(cè)機(jī)房承接主站點(diǎn)工作,等待機(jī)房故障解決或集群故障解決后,同步數(shù)據(jù),需要花費(fèi)較長時(shí)間。這種數(shù)據(jù)同步的方式叫做數(shù)據(jù)回遷。
2、單側(cè)機(jī)房發(fā)生臨時(shí)性故障,故障恢復(fù)之后,可以提供對(duì)象存儲(chǔ)服務(wù),原來的主站點(diǎn)從臨時(shí)故障中恢復(fù),需要從備站點(diǎn)同步的數(shù)據(jù)量相對(duì)較小。
八、分布式存儲(chǔ)的數(shù)據(jù)災(zāi)備復(fù)制?
【問題描述】目前已知的分布式存儲(chǔ)的數(shù)據(jù)災(zāi)備復(fù)制方式,主要是采用第三方的數(shù)據(jù)復(fù)制軟件。請(qǐng)問老師,現(xiàn)在有沒有開發(fā)出類似于傳統(tǒng)存儲(chǔ)機(jī)頭的同步、異步復(fù)制技術(shù)?如果有,兩端的結(jié)構(gòu)是否必須保持一致?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
分布式存儲(chǔ)系統(tǒng)在數(shù)據(jù)冗余方面,通過多副本、糾刪碼等技術(shù),不僅可以容忍多磁盤的故障不影響數(shù)據(jù)可靠性,在數(shù)據(jù)重構(gòu)修復(fù)方面效率也大大提升。由于采用了熱備空間概念,將原本一塊磁盤重構(gòu)數(shù)據(jù)的壓力均攤到多磁盤上,速度可提升至1T/30min。另一方面,由于采用了無中心化設(shè)計(jì),所有存儲(chǔ)節(jié)點(diǎn)均可承載業(yè)務(wù)系統(tǒng),分布式存儲(chǔ)還能夠容忍服務(wù)器故障,存儲(chǔ)系統(tǒng)依然穩(wěn)定可用,可靠性更優(yōu)。
九、分布式存儲(chǔ)的擴(kuò)容方案?
【問題描述】分布式存儲(chǔ)在初建的時(shí)候,通常已經(jīng)規(guī)劃好最優(yōu)的方案,各個(gè)節(jié)點(diǎn)的職能已確定。在生產(chǎn)使用中,若存儲(chǔ)系統(tǒng)容量已不滿足當(dāng)前新增的需求,必須進(jìn)行擴(kuò)容。擴(kuò)容是否新的存儲(chǔ)節(jié)點(diǎn)不是加入原來的集群,而實(shí)際上相當(dāng)于再新建一套分布性存儲(chǔ)系統(tǒng)?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
由于實(shí)現(xiàn)了分布式存儲(chǔ)平臺(tái),那么此平臺(tái)無論多少個(gè)節(jié)點(diǎn)都可以看作一個(gè)資源池,每一個(gè)節(jié)點(diǎn)可以看做這個(gè)資源池的一個(gè)分子。通過系統(tǒng)預(yù)裝、軟件優(yōu)化可直接將分子加入到整個(gè)平臺(tái)之中,因而,在存儲(chǔ)性能或者容量資源不夠時(shí),均可以通過添加硬件資源來提升存儲(chǔ)集群的相應(yīng)資源。
另一方面,由于硬件采用標(biāo)準(zhǔn)化X86服務(wù)器,并且集群內(nèi)每個(gè)節(jié)點(diǎn)均通過軟件系統(tǒng)進(jìn)行統(tǒng)一管理,在硬件設(shè)備老舊或者故障時(shí),可便捷的直接更換新硬件,加入集群中。簡(jiǎn)單方便并且對(duì)于上層業(yè)務(wù)無感知。友善的提供產(chǎn)品更替。并且,更替節(jié)點(diǎn)或者磁盤后,存儲(chǔ)系統(tǒng)將會(huì)進(jìn)行自動(dòng)重建數(shù)據(jù),平衡各節(jié)點(diǎn)的數(shù)據(jù)分布。此操作無需人工干預(yù)即可自動(dòng)完成。降低使用難度。
十、如何將NAS歷史數(shù)據(jù)遷移至容器云平臺(tái)分布式文件系統(tǒng)?
【問題描述】傳統(tǒng)NAS里的歷史數(shù)據(jù)如何遷移至容器云中的分布式存儲(chǔ),并使用存儲(chǔ)卷掛載到容器云中的應(yīng)用上?
顧黃亮蘇寧消費(fèi)金融有限公司技術(shù)總監(jiān):
一般來說,NAS到分布式存儲(chǔ)的數(shù)據(jù)遷移,集中在非結(jié)構(gòu)化的數(shù)據(jù),如金融行業(yè)中常見的客戶證件、遠(yuǎn)程開戶錄像、合同掃描件、客服中心語音等典型的小文件,因此這種遷移場(chǎng)景集中于對(duì)象存儲(chǔ)領(lǐng)域。
以筆者的經(jīng)驗(yàn)看,通過存儲(chǔ)卷的方式掛載無疑是最簡(jiǎn)單方便的方式,大致有三個(gè)階段。第一階段為數(shù)據(jù)復(fù)制階段,這個(gè)階段需要進(jìn)行數(shù)據(jù)完備性和一致性的校驗(yàn),第二階段為掛載階段,可以通過軟連接的方式到新的存儲(chǔ)系統(tǒng)主目錄進(jìn)行數(shù)據(jù)訪問,第三階段為恢復(fù)業(yè)務(wù)階段。