如今,行業(yè)巨頭以及互聯(lián)網(wǎng)企業(yè)就是依靠這些呼風(fēng)喚雨,改變世界。
私有云也好,公有云也好,傳統(tǒng)企業(yè)應(yīng)用的云原生化改造迫在眉睫,否則會(huì)被越拉越遠(yuǎn)。不僅是互聯(lián)網(wǎng)企業(yè)的沖擊,更大的危機(jī)來(lái)自轉(zhuǎn)型快的同行,快魚吃慢魚,贏者通吃,這才是硬道理!
容器持久化存儲(chǔ)角色的份量
意識(shí)到這樣的變化,就很容易了解容器持久化存儲(chǔ)的意義和價(jià)值。
首先說(shuō)容器化。K8S已經(jīng)成為云原生的事實(shí)標(biāo)準(zhǔn),被普遍接受和使用,也是云原生應(yīng)用首要使用的編排工具。同樣,容器化也帶來(lái)基礎(chǔ)架構(gòu)的一系列改變。其中,容器持久化存儲(chǔ)首當(dāng)其沖。
都知道容器的特點(diǎn)是召之即來(lái),揮之即去。這是因?yàn)闊o(wú)狀態(tài)應(yīng)用的緣故。對(duì)有狀態(tài)的應(yīng)用,如MySQL、PostgreSQL、MangoDB、RabbitMQ、ElasticSearch來(lái)說(shuō),也采用容器來(lái)運(yùn)行。當(dāng)容器“死了”,需要快速重建,這個(gè)時(shí)候問(wèn)題來(lái)了,數(shù)據(jù)也能夠快速重建嗎?
這時(shí)就需要持久化存儲(chǔ)了。
CSI、FlexVolume都是容器持久化存儲(chǔ)的規(guī)范接口,但是僅支持接口的存儲(chǔ)就是容器持久化存儲(chǔ)嗎?答案是否定的。目前市場(chǎng)上支持CSI存儲(chǔ)很多,有傳統(tǒng)的、分布式的、開源的、商用的,但在實(shí)際應(yīng)用中,產(chǎn)品表現(xiàn)差別很大。是選用一款能在容器場(chǎng)景下基本可以使用的存儲(chǔ),還是一款完全符合容器化場(chǎng)景容器持久化存儲(chǔ),是每個(gè)IT決策者面臨的問(wèn)題。
海量小文件處理和性能
對(duì)于容器持久化存儲(chǔ)來(lái)說(shuō),容器存儲(chǔ)熱點(diǎn)分析、可視化展現(xiàn)、K8S資源可視化管理、QoS性能管控、存儲(chǔ)卷彈性伸縮等,這些都是衡量容器持久化存儲(chǔ)功能的指標(biāo)。
另一方面,海量小文件處理、海量小文件訪問(wèn)熱點(diǎn),有狀態(tài)Pod跨節(jié)點(diǎn)的秒級(jí)重建,以及跨數(shù)據(jù)中心的雙活解決方案等,也是容器持久化存儲(chǔ)重要的性能及可靠性指標(biāo)。
海量小文件是很多應(yīng)用場(chǎng)景經(jīng)常面臨的問(wèn)題,以機(jī)器學(xué)習(xí)AI為例,數(shù)據(jù)訓(xùn)練中需要依賴大量的小文件,規(guī)模會(huì)達(dá)到幾十億;此外,高性能計(jì)算也將涉及到海量文件的處理。
海量小文件會(huì)導(dǎo)致元數(shù)據(jù)管理瓶頸,最終拖累數(shù)據(jù)存儲(chǔ)的性能。為了應(yīng)對(duì)海量小文件處理,YRCloudFile采用元數(shù)據(jù)集群,借助橫向擴(kuò)展的方式來(lái)消除元數(shù)據(jù)管理的瓶頸。
測(cè)試結(jié)果顯示,從10億~70億小文件,YRCloudFile始終能夠保持元數(shù)據(jù)處理能力的持續(xù)穩(wěn)定。
熱點(diǎn)目錄是另一個(gè)造成性能瓶頸的來(lái)源,也就是多臺(tái)服務(wù)器集中訪問(wèn)某個(gè)單一目錄下的文件,形成熱點(diǎn)目錄,如果系統(tǒng)對(duì)于熱點(diǎn)目錄并行處理能力不足,就會(huì)導(dǎo)致系統(tǒng)崩潰,或者性能低下。
針對(duì)熱點(diǎn)目錄,YRCloudFile提供虛擬目錄的技術(shù),對(duì)于文件名(filename)進(jìn)行Hash運(yùn)算后放置在虛擬目錄中,虛擬目錄數(shù)據(jù)分布在不同的元數(shù)據(jù)節(jié)點(diǎn),對(duì)上層應(yīng)用透明,從而增強(qiáng)熱點(diǎn)目錄的并行處理能力。
與此同時(shí),借助4k小文件的內(nèi)聯(lián),YRCloudFile進(jìn)一步提升了小文件訪問(wèn)處理的性能。
海量小文件處理不限于容器持久化存儲(chǔ),對(duì)AI等非結(jié)構(gòu)化數(shù)據(jù)規(guī)模巨大的新型應(yīng)用而言至關(guān)重要,這也是YRCloudFile瞄準(zhǔn)的主要場(chǎng)景。
塊數(shù)據(jù)的話題
在存儲(chǔ)的傳統(tǒng)認(rèn)知中,有NAS和SAN之分。其中,NAS主要應(yīng)用于文件存儲(chǔ),分布式文件存儲(chǔ)因此被解讀為分布式NAS,既然如此,它能夠支持MySQL容器Pod跨節(jié)點(diǎn)塊數(shù)據(jù)重建嗎?
對(duì)此,焱融科技CTO王鵬飛指出:“通常認(rèn)為數(shù)據(jù)庫(kù)要使用塊存儲(chǔ)。但我們的實(shí)測(cè),分布式文件系統(tǒng)依然可以滿足數(shù)據(jù)庫(kù)需求,焱融科技有很多獨(dú)特的優(yōu)化技術(shù)和最佳實(shí)踐?!?/p>
“分布式文件系統(tǒng)支持?jǐn)?shù)據(jù)庫(kù)應(yīng)用,本質(zhì)上也很容易理解。在容器內(nèi)(MySQL) 都支持掛載一個(gè)數(shù)據(jù)目錄做為MySQL的存儲(chǔ)空間,因此從分布式文件系統(tǒng)內(nèi)申請(qǐng)一個(gè)目錄即可滿足應(yīng)用。”王鵬飛說(shuō)。
目前YRCloudFile能夠支持有狀態(tài)Pod跨節(jié)點(diǎn)的秒級(jí)數(shù)據(jù)重建,如此,就解決了當(dāng)容器節(jié)點(diǎn)出現(xiàn)故障,容器快速重建、數(shù)據(jù)快速恢復(fù)的問(wèn)題。
同樣的,跨數(shù)據(jù)中心容器雙活的問(wèn)題也容易實(shí)現(xiàn)。
數(shù)據(jù)中心雙活的本質(zhì)是數(shù)據(jù)問(wèn)題,分布式存儲(chǔ)副本機(jī)制,確保了不同數(shù)據(jù)中心數(shù)據(jù)的一致性,優(yōu)先讀取本地副本,實(shí)現(xiàn)應(yīng)用跨數(shù)據(jù)中心的雙活,并有效降低讀延時(shí)。
小結(jié)
從海量小文件處理,到容器應(yīng)用的數(shù)據(jù)持久化,服務(wù)于新型的云原生應(yīng)用,涉及業(yè)務(wù)自動(dòng)化部署和資源彈性伸縮管理,這恰恰也是用戶數(shù)字化轉(zhuǎn)型,云計(jì)算應(yīng)用的關(guān)鍵。
這是一個(gè)云原生化轉(zhuǎn)變的時(shí)代,到了做出改變的時(shí)候了!