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