1、集中式存儲(chǔ)向分布式存儲(chǔ)的轉(zhuǎn)型,有哪些技術(shù)難點(diǎn)和運(yùn)維管理困難? 轉(zhuǎn)型前期、中期和后期都有哪些注意的要點(diǎn),對(duì)于渠道類、賬務(wù)類和數(shù)據(jù)報(bào)送類業(yè)務(wù),如何合理、分批次進(jìn)行轉(zhuǎn)型? @zhuqibs Mcd 軟件開發(fā)工程師: 技術(shù)難度: io的讀寫,集中存儲(chǔ)中數(shù)據(jù)只要寫入一個(gè)磁陣就算成功了,分布式存儲(chǔ)中是寫入大部分的節(jié)點(diǎn)才算成功,如果寫入全部節(jié)點(diǎn)IO性能有影響,寫入少量節(jié)點(diǎn)即是寫入失敗。 運(yùn)維困難:監(jiān)控上,要采用分布式prometheus來采集各個(gè)節(jié)點(diǎn)的數(shù)據(jù),節(jié)點(diǎn)多的時(shí)候,監(jiān)控范圍較大。出現(xiàn)故障時(shí), 要判斷節(jié)點(diǎn)與節(jié)點(diǎn)間的相互作用,診斷難度加大。 對(duì)不同類型的數(shù)據(jù)應(yīng)采用不同的遷移方式: (1)對(duì)渠道類數(shù)據(jù)通常是多而散,通常分批遷移; (2)對(duì)于賬務(wù)類數(shù)據(jù),通常是實(shí)時(shí)數(shù)據(jù),需要保證其關(guān)聯(lián)性和事務(wù)性,需要擇業(yè)務(wù)運(yùn)維窗口遷移,同時(shí)做好新老數(shù)據(jù)同步工作 (3)對(duì)于數(shù)據(jù)報(bào)送類數(shù)據(jù),通常是交易歷史數(shù)據(jù)等,可以擇時(shí)一次性遷移。 在遷移前期,會(huì)有數(shù)據(jù)不同步的現(xiàn)象,需要新老系統(tǒng)并存;在中期,需要進(jìn)行必要的數(shù)據(jù)校驗(yàn)和壓力測(cè)試(分布式存儲(chǔ)讀寫性能很重要),后期在校驗(yàn)同步基礎(chǔ)上,進(jìn)行遷移(轉(zhuǎn)型)的演練,將少量應(yīng)用的數(shù)據(jù)源切換到分布式存儲(chǔ),進(jìn)行預(yù)生產(chǎn)發(fā)布。 @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 可以先行保留存儲(chǔ)訪問協(xié)議不變,先將集中式存儲(chǔ)轉(zhuǎn)為分布式存儲(chǔ);然后在穩(wěn)定運(yùn)行一段時(shí)間后逐步將存儲(chǔ)協(xié)議轉(zhuǎn)換為適合分布式存儲(chǔ)訪問的對(duì)象存儲(chǔ)協(xié)議。 2、分布式存儲(chǔ)如何做好集群運(yùn)維? @he7yong Canway 研發(fā)工程師: 分布式存儲(chǔ)做好集群的運(yùn)維非常的關(guān)鍵,因?yàn)檎G闆r下一個(gè)分布式存儲(chǔ)是運(yùn)行一個(gè)節(jié)點(diǎn)掛掉,如果多個(gè)節(jié)點(diǎn)掛掉,將會(huì)導(dǎo)致分布式存儲(chǔ)的災(zāi)難。 我的推薦如下: 1.保障性運(yùn)維,關(guān)注在節(jié)點(diǎn)服務(wù)器的穩(wěn)定運(yùn)行,如機(jī)器,磁盤,SSD,RAID卡,電池等等,這些關(guān)鍵組件的狀態(tài)監(jiān)控;故障后及時(shí)的處理; 2.標(biāo)準(zhǔn)化故障處理、增加節(jié)點(diǎn)的流程; 3.建立存儲(chǔ)服務(wù)交付,存儲(chǔ)使用配額的管理等等。 @kw002007 存儲(chǔ)架構(gòu)師: 1、良好的架構(gòu)設(shè)計(jì) 運(yùn)維成功的一半; 3、及時(shí)處理小問題; 4、熟悉技術(shù)原理,避免小問題引發(fā)大的故障。如硬盤損壞導(dǎo)致集群整體性能問題。 3、集群規(guī)??刂圃诙嗌俟?jié)點(diǎn),即可以發(fā)揮分布式多節(jié)點(diǎn)IO的性能優(yōu)勢(shì),又可以防止集群過大造成性能下降? @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 一般推薦的集群規(guī)模為20個(gè)節(jié)點(diǎn)至30個(gè)節(jié)點(diǎn),超過30個(gè)節(jié)點(diǎn)后擴(kuò)容及故障帶來的數(shù)據(jù)重分布數(shù)據(jù)量會(huì)很大,耗時(shí)較長(zhǎng),增加了存儲(chǔ)訪問不穩(wěn)定性。 4、如何防止單個(gè)磁盤訪問緩慢影響整體集群性能? @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 可針對(duì)磁盤IO情況設(shè)置監(jiān)控閾值,當(dāng)磁盤讀寫IO延遲過大時(shí)將其自動(dòng)標(biāo)記為out狀態(tài),以避免使用該性能差的磁盤,但需注意標(biāo)記為out的單集群內(nèi)磁盤存在上線值,該操作只可以進(jìn)行1次,以避免將多個(gè)副本同時(shí)標(biāo)記為out或網(wǎng)絡(luò)抖動(dòng)導(dǎo)致大量磁盤被標(biāo)記為out影響集群整體不可讀寫。同時(shí),標(biāo)記為out后續(xù)盡快進(jìn)行更換硬盤及數(shù)據(jù)重分布操作,防止此時(shí)集群內(nèi)出現(xiàn)第二塊滿盤而該功能不可用。 5、分布式存儲(chǔ)是否需要備份?如果需要的話有哪些常用產(chǎn)品? @niupengju 銀行 研發(fā)工程師: 備份的需求是基于數(shù)據(jù)重要性和系統(tǒng)穩(wěn)定性。正常來說是需要備份的,即使分布式存儲(chǔ)擁有多副本,保證一定的數(shù)據(jù)可恢復(fù)性。但是為了安全期間,防止整個(gè)系統(tǒng)的宕機(jī),還是要備份的。備份的選擇,主要考慮兩個(gè)方面,一是分布式存儲(chǔ)系統(tǒng)自身支持的備份恢復(fù)及雙活,可以保證應(yīng)用系統(tǒng)的穩(wěn)定性。二是選擇第三方備份軟件。 @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 是否需要備份建議針對(duì)業(yè)務(wù)系統(tǒng)保存的數(shù)據(jù)重要性級(jí)別而定,如業(yè)務(wù)系統(tǒng)數(shù)據(jù)需進(jìn)行本地、同城或異地備份,那么建議在應(yīng)用端對(duì)需要備份的數(shù)據(jù)進(jìn)行統(tǒng)一備份,存儲(chǔ)端不進(jìn)行備份,這樣可保持整體備份架構(gòu)統(tǒng)一性,避免備份大量無用數(shù)據(jù)造成備份設(shè)備容量浪費(fèi)。應(yīng)用端備份時(shí)可使用統(tǒng)一備份軟件,如NBU、TSM等。 @anthonyhenry 系統(tǒng)架構(gòu)師: 依然需要備份,分布式存儲(chǔ)的副本或糾刪碼是防止存儲(chǔ)部件損壞造成數(shù)據(jù)丟失或業(yè)務(wù)暫停,哪怕分布式存儲(chǔ)啟用快照功能,也是無法防止物理故障。備份的意義在于使用與存儲(chǔ)完全隔離的故障域來保護(hù)數(shù)據(jù),分離的存儲(chǔ)操作系統(tǒng),不同的物理設(shè)備,不同的物理區(qū)域,以防止物理故障,邏輯故障。 方式的話有: 1.備份軟件 硬盤設(shè)備或磁帶設(shè)備; 2.存儲(chǔ)之間的復(fù)制; 3.以及現(xiàn)在新的存儲(chǔ)至對(duì)象存儲(chǔ)方式,其本質(zhì)是存儲(chǔ)自帶備份小軟件將屬于備份到硬盤設(shè)備的方式。 6、分布式存儲(chǔ)節(jié)點(diǎn)超過內(nèi)部通信交換機(jī)端口上限后,如何擴(kuò)展內(nèi)部通信交換機(jī)?業(yè)務(wù)量大時(shí)交換機(jī)節(jié)點(diǎn)間通信是否會(huì)受阻? @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 需要擴(kuò)容內(nèi)部交換機(jī),分布式存儲(chǔ)的交換機(jī)擴(kuò)展方式與業(yè)務(wù)交換機(jī)的擴(kuò)展方式都是一致的,最好在網(wǎng)絡(luò)架構(gòu)規(guī)劃時(shí)預(yù)留交換機(jī)在線擴(kuò)展條件(包括交換機(jī)端口等),以避免停機(jī)擴(kuò)容帶來的存儲(chǔ)不可用。 7、如何做包括元數(shù)據(jù)在內(nèi)的數(shù)據(jù)遷移? @zhuqibs Mcd 軟件開發(fā)工程師: 打個(gè)比方,大數(shù)據(jù)的cloudera集群,由于是商業(yè)化產(chǎn)品,通常有高可用,namenode都是高可用的,所以,你如果要搬機(jī)房遷移的話,我們做過(這是一個(gè)悲劇,機(jī)房租用期到了),可以先遷移一個(gè)namenode,保證網(wǎng)絡(luò)暢通(幸好是遷移到隔壁機(jī)房),再遷移另外一個(gè),然后再遷移各個(gè)datanode,基本用戶無感知。 @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 還是需要結(jié)合當(dāng)前元數(shù)據(jù)的存儲(chǔ)方式和數(shù)據(jù)遷移的目的綜合考慮。 8、AI訓(xùn)練或大數(shù)據(jù)分析是直接使用對(duì)象存儲(chǔ)好,還是先把數(shù)據(jù)抽取到本地文件系統(tǒng)好? @zhuqibs Mcd 軟件開發(fā)工程師: 抽取到本地存儲(chǔ),這絕對(duì)不是一個(gè)好的主意,大數(shù)據(jù)平臺(tái)的數(shù)據(jù)量十分龐大,所進(jìn)行的操作涉及的數(shù)據(jù),少則幾個(gè)G,多達(dá)幾十個(gè)T,如此多的數(shù)據(jù),就算你本地存儲(chǔ)夠大,請(qǐng)問抽取傳輸要多少時(shí)間。 所以,必定是在計(jì)算節(jié)點(diǎn)進(jìn)行分析,可以的話,可以調(diào)用有GPU的計(jì)算節(jié)點(diǎn)進(jìn)行AI訓(xùn)練。至于對(duì)象存儲(chǔ),是可以的,現(xiàn)在aws上大數(shù)據(jù)分析,有的就是基于對(duì)象存儲(chǔ)。 @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 這個(gè)需要結(jié)合數(shù)據(jù)量的大小和本地文件系統(tǒng)和對(duì)象存儲(chǔ)的訪問性能來共同決定。如果數(shù)據(jù)量過大已經(jīng)超出了本地文件系統(tǒng)的支持容量,那么就要使用對(duì)象存儲(chǔ)。本地文件系統(tǒng)如果性能好很多,而數(shù)據(jù)又需要頻繁讀寫,可以將數(shù)據(jù)預(yù)加載到本地以提升性能。 9、分布式存儲(chǔ)場(chǎng)景中是否也可基于AIops進(jìn)行一些智能運(yùn)維?有什么建議? 在金融行業(yè)目前也有蠻多分布式存儲(chǔ)集群案例,那基于存儲(chǔ)所關(guān)心的集群存儲(chǔ)服務(wù)故障自愈、磁盤故障的SMART預(yù)測(cè)是否也可以借鑒這套算法模型去設(shè)計(jì)? cherrylook 中國(guó)人壽保險(xiǎn)集團(tuán) 軟件架構(gòu)設(shè)計(jì)師: 算法本身與數(shù)據(jù)是如何存儲(chǔ)的并無直接關(guān)系,基于分布式存儲(chǔ)的大數(shù)據(jù)平臺(tái)正是機(jī)器學(xué)習(xí)、智能運(yùn)維分析的奠基石,大量、豐富、有效的數(shù)據(jù)為算法分析提供了分析的可能。磁盤故障的分析需要首先觀察磁盤歷史數(shù)據(jù)的趨勢(shì)及分布,選擇相應(yīng)算法可以實(shí)現(xiàn)有效的預(yù)測(cè)。故障自愈部分的建設(shè)需要結(jié)合專家建議,給出特定場(chǎng)景下故障自愈方案才可以落地實(shí)現(xiàn)。 10、從運(yùn)維的角度看,分布式存儲(chǔ)設(shè)計(jì)時(shí)要考慮哪些方面?運(yùn)維管理中的監(jiān)控告警、備份恢復(fù)與異地容災(zāi)等應(yīng)該如何規(guī)劃? @zhuqibs Mcd 軟件開發(fā)工程師: 結(jié)合流行的ceph分布式做解釋: (1)分布式存儲(chǔ)監(jiān)控: 搭建分布式存儲(chǔ)的開源軟件通常都是服務(wù)器,是以服務(wù)器自有磁盤來做存儲(chǔ)的,所以監(jiān)控可以在服務(wù)器的磁盤上設(shè)置,同時(shí),我們同樣可以用prometheus grafana的方式進(jìn)行監(jiān)控,部署開源的ceph_exporter服務(wù)。 (2)備份和恢復(fù):分布式存儲(chǔ)是不需要備份的,因?yàn)楣收媳旧砭驮谄滠浖O(shè)計(jì)的計(jì)劃中,比如ceph,設(shè)置2到3個(gè)mds monitor,4~5個(gè)osd,壞了幾個(gè)節(jié)點(diǎn),可以從其他節(jié)點(diǎn)恢復(fù)。 (3)異地災(zāi)備:比如ceph的RBD快照技術(shù),通過差量文件的方式定期將數(shù)據(jù)備份到災(zāi)備中心,當(dāng)主數(shù)據(jù)中心發(fā)生故障時(shí),從災(zāi)備中心恢復(fù)最近的備份數(shù)據(jù)并重啟相應(yīng)的虛擬機(jī),最大程度降低災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)時(shí)間。 @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 在設(shè)計(jì)時(shí)應(yīng)考慮到網(wǎng)絡(luò)架構(gòu)對(duì)性能的影響、監(jiān)控內(nèi)容的合理性、運(yùn)維的便捷性等方面,監(jiān)控告警主要為硬件類告警、操作系統(tǒng)告警、應(yīng)用告警、性能容量告警幾大類,針對(duì)備份恢復(fù)及異地容災(zāi)建議在應(yīng)用客戶端進(jìn)行按需備份容災(zāi)。 11、如果選擇基于開源軟件的分布式存儲(chǔ)技術(shù)路線,如何做好運(yùn)維人才隊(duì)伍建設(shè)?如何做好軟件產(chǎn)品平滑迭代?如何構(gòu)建企業(yè)基于開源分布式存儲(chǔ)系統(tǒng)的業(yè)務(wù)生態(tài)? @寧澤陽 中信銀行信用卡中心 系統(tǒng)工程師: 對(duì)于人才建設(shè): 1、找一兩名在其他公司有實(shí)際落地經(jīng)驗(yàn)的帶頭人,最好在社區(qū)比較活躍,負(fù)責(zé)項(xiàng)目規(guī)劃 2、招聘幾名應(yīng)屆實(shí)習(xí)生負(fù)責(zé)項(xiàng)目實(shí)施,這個(gè)過程一般會(huì)有新人脫穎而出 對(duì)于產(chǎn)品迭代: 只進(jìn)行非常有必要的升級(jí)迭代,避免陷入無限升級(jí)的困境,同時(shí)在項(xiàng)目規(guī)劃之初考慮升級(jí)迭代的方式,對(duì)于分布式系統(tǒng),逐臺(tái)升級(jí)一般不影響業(yè)務(wù)使用 對(duì)于構(gòu)建業(yè)務(wù)生態(tài): 由技術(shù)部架構(gòu)選定場(chǎng)景,制定進(jìn)相應(yīng)技術(shù)規(guī)范中,并由開發(fā)、運(yùn)維進(jìn)行落實(shí)。 |
|