引言
我在一家銀行的科技公司做運維工程師,前幾天和北極熊一起吃飯,聊到我們在存儲選擇方面踩到的一些坑,北極熊建議我寫一篇文章和讀者分享下。經(jīng)常讀云技術(shù)上的技術(shù)文章,這次記錄下我們在選擇存儲方面踩的一些坑,也算是回饋。因為行里有要求,所以隱去了我們行的名稱和具體運行的業(yè)務,請大家見諒。
一、存儲的挑戰(zhàn):多場景,高可靠,高性能
先簡單介紹下基本情況,我們屬于銀行的科技公司,移動支付及新金融的發(fā)展給銀行帶來了極大的挑戰(zhàn)??萍脊揪褪倾y行的創(chuàng)新部門,基于銀行的資源,用互聯(lián)網(wǎng)的方式來創(chuàng)新。
我們經(jīng)過大概一年多緊張的研發(fā),在去年暑期的時候,準備上線一項新業(yè)務,這時候碰到一個調(diào)整,就是生產(chǎn)環(huán)境的存儲選型。
我們的業(yè)務情況是這樣的:
數(shù)據(jù)庫:和計費相關(guān)的使用Oracle,其他模塊使用MySQL;
開發(fā)語言:Java;
虛擬化:測試環(huán)境有VMware vSphere 6.7及某品牌的商業(yè)存儲,也有一個OpenStack+Ceph的集群;
容器:開源的Kubernetes,存儲使用的Ceph。
因為是新項目,一開始就是容器加微服務,發(fā)布用的是Jenkins,但是因為復用了一部分老組件(主要是計費),還需要使用虛擬化。
現(xiàn)在要上生產(chǎn)環(huán)境,發(fā)現(xiàn)存儲遇到難題,生產(chǎn)環(huán)境畢竟不同于測試環(huán)境,必須高可靠,不能丟失數(shù)據(jù);性能也要滿足要求,峰值的時候,要能撐的??;另外,必須支持Oracle數(shù)據(jù)庫,支持VMware虛擬化,最好能支持容器環(huán)境。
當時有兩個思路:
1、使用商業(yè)存儲;
2、使用開源的Ceph。
使用商業(yè)的集中式存儲陣列,我們測算了下,不光費用驚人,核心數(shù)據(jù)庫需要一套存儲,VMware虛擬化需要一套存儲。還有兩個難題搞不定,第一個難題是容器的存儲如何解決,商業(yè)集中式存儲陣列和云原生的Kubernetes平臺技術(shù)架構(gòu)上明顯不搭,雖然有些陣列廠家也能提供一些插件給到容器平臺使用,但從技術(shù)架構(gòu)選型的角度看,不能作為未來架構(gòu)長期使用。
第二難題是商業(yè)存儲的擴容問題,我們測算了數(shù)據(jù)量,如果業(yè)務發(fā)展順利的話,存儲的數(shù)據(jù)量可能增長比較快,加上快照、備份等,存儲的空間可能半年時間就不夠用了。解決辦法只能是再加一套存儲,雖然商業(yè)存儲也支持幾套存儲級聯(lián),但是級聯(lián)的能力有限,如果兩三年時間就達到級聯(lián)的上限,會比較麻煩。類似的情況在我們行里也碰到過,解決辦法只能是在業(yè)務層進行拆分,影響過大。
生產(chǎn)環(huán)境使用Ceph方案,可靠性能否達到生產(chǎn)環(huán)境的要求,我們心里沒有底。Ceph對運維能力要求比較高,在測試環(huán)境中,不時會碰到一些問題。使用Ceph方案,很快就被我們部長否定了,部長要求穩(wěn)定第一,讓我們再找?guī)追N方案試試。
這時候,一家保險公司做運維的朋友,推薦了他們使用的分布式存儲,說他們已經(jīng)用了小半年了,數(shù)據(jù)庫、VMware、Kubernetes都跑了,性能不錯,也沒有出過問題。
他推薦的是青云QingCloud旗下的QingStor NeonSAN企業(yè)級分布式塊存儲,我初步調(diào)研了下,發(fā)現(xiàn)是一個不錯的方案。
二、初步調(diào)研:QingStor NeonSAN支持數(shù)據(jù)庫、虛擬化、容器多場景
簡單介紹下QingStor NeonSAN,它定位為面向核心業(yè)務的全閃分布式塊存儲。
1. 可靠性、性能、擴展性滿足要求
QingStor NeonSAN誕生在閃存時代,一開始就定位為全閃架構(gòu),沒有歷史包袱,軟件棧對閃存做了全面的優(yōu)化。
QingStor NeonSAN經(jīng)過近7年的技術(shù)積累,在可靠性和性能方面已經(jīng)達到傳統(tǒng)中高端存儲的水平,并且可擴展性更好。在架構(gòu)方面,通過對數(shù)據(jù)、軟件架構(gòu)和硬件組網(wǎng)的高可靠設(shè)計,QingStor NeonSAN的可靠性可以達到9個9。
在節(jié)點擴容方面,繼承分布式架構(gòu)的優(yōu)點,1個集群最大可擴容至4096節(jié)點,并且可以保證性能和容量隨節(jié)點增加而線性增長。
2. 支持場景滿足要求
QingStor NeonSAN可以應用于多種業(yè)務場景:
容器和云、虛擬化場景
QingStor NeonSAN在容器上也做了很多適配工作,可以通過CSI插件對接原生Kubernetes平臺,也可以支持青云QingCloud旗下KubeSphere容器平臺。
QingStor NeonSAN不僅僅支持青云QingCloud自己的云平臺,還支持常見的VMware、OpenStack、Hyper-V等虛擬化平臺。針對VMware的客戶,QingStor NeonSAN通過了VMware Storage Ready認證,支持VMware VAAI-Block功能。
數(shù)據(jù)庫場景
QingStor NeonSAN在數(shù)據(jù)庫場景上,不僅可以滿足容量、性能、可靠性需求,而且很好地提供了雙活和異地容災的能力,通過部署全閃QingStor NeonSAN,多個Oracle RAC可以掛載同一個QingStor NeonSAN,作為共享存儲。
通過使用QingStor NeonSAN,不僅僅滿足了業(yè)務需求,而且獲得了以下兩個額外的好處:
實現(xiàn)了一套存儲通過靈活的配置,滿足不同業(yè)務的存儲需求,能夠有效降低各類存儲系統(tǒng)的投資和管理成本。
平滑擴容,讓業(yè)務無感知,并且擴容時間更短、效率更高。
三、真刀實槍測試:極端壓測、多業(yè)務場景、斷電拔網(wǎng)線
我向部長匯報了QingStor NeonSAN的初步調(diào)研情況,并決定先在PoC環(huán)境測試下,聯(lián)系了青云QingCloud的工程師,一起搭建了一個測試環(huán)境。
PoC環(huán)境為三臺全閃服務器,存儲網(wǎng)絡為RDMA,數(shù)據(jù)網(wǎng)絡為全萬兆。
1. 功能測試
Oracle測試:可以順利的完成單數(shù)據(jù)庫支持、RAC集群數(shù)據(jù)庫支持等。
VMware測試:QingStor NeonSAN是通過VMware兼容性認證的,這里測試沒有碰到問題。而且QingStor NeonSAN支持VMware VAAI-Block功能,這是高端傳統(tǒng)存儲才有的功能,說明QingStor NeonSAN在虛擬化的支持上已經(jīng)非常細粒度,考慮到了用戶實際使用場景的許多細節(jié)需求。
OpenStack測試:通過Cinder直接對接,順利完成。
容器測試:通過Kubernetes CSI插件對接,順利完成。
當然,并不是功能測試對接起來就完了,我們還嚴格的進行了各種場景下的功能測試,比如Oracle模擬數(shù)據(jù)庫的創(chuàng)建、備份等場景。VMware、OpenStack模擬了全生命周期的虛擬機管理,也將我們的業(yè)務測試用例在容器上全部跑了一遍,這里就不贅述了??傊?,功能測試層面,達到了我們的預期。
2. 性能測試
先用FIO進行了基本的性能測試,并且和傳統(tǒng)存儲做了對比,三臺全閃配置的情況下,IOPS可以達到60萬以上。
隨后又測試了各種業(yè)務場景,對極端情況進行了測試。測試環(huán)境只有3臺,正式環(huán)境準備上9臺,但是按照正式環(huán)境來打壓力,最終發(fā)現(xiàn),即使只使用3臺性能上也能夠滿足要求,只是容量不夠。當然,分布式存儲隨著節(jié)點增加,性能會隨著上升。
3. 破壞性測試
考慮到生產(chǎn)環(huán)境有可能碰到的極端情況,我們也進行了一系列破壞性測試:
拔插硬盤:模擬硬盤故障,觀察對性能和穩(wěn)定性的影響,結(jié)果為對業(yè)務無影響。
拔插網(wǎng)線:模擬網(wǎng)線故障,觀察對性能和穩(wěn)定性的影響,結(jié)果為對業(yè)務無影響。
關(guān)閉一臺存儲交換機:因為存儲交換機使用的雙冗余,關(guān)閉一臺交換機后,存儲間通信的多路徑機制會進行路徑切換,保證業(yè)務的繼續(xù)正常運行。
斷電:拔掉一臺服務器電源,模擬服務器故障,性能有短暫抖動,很快穩(wěn)定,穩(wěn)定后性能無明顯變化,業(yè)務運行無中斷。
順便說下,一般分布式存儲在擴容的時候,對性能都有影響,QingStor NeonSAN提供了定時擴容的功能,可以靈活選擇在晚上業(yè)務低峰時,啟動數(shù)據(jù)再平衡。再平衡還可以限速,最大程度保證業(yè)務穩(wěn)定。
四、正式上線大半年,穩(wěn)定
基于嚴格的測試,我們比較有信心,決定生產(chǎn)環(huán)境使用QingStor NeonSAN,同時傳統(tǒng)存儲作為應急備份。
業(yè)務上線比較順利,推廣效果也不錯,整個系統(tǒng)經(jīng)過大半年運行,比較穩(wěn)定,沒有出過大問題。尤其是QingStor NeonSAN存儲,一套存儲支持數(shù)據(jù)庫、虛擬化、容器多套場景,中間還因為業(yè)務發(fā)展需要,擴容了兩次,一直很穩(wěn)定。
五、傳統(tǒng)存儲無可奈何花落去,SDS不盡長江滾滾來
因為深度使用了QingStor NeonSAN存儲后,我特意調(diào)研了軟件定義存儲,也和大家分享下這方面收集到的一些數(shù)據(jù)和我的分析。最近幾年的存儲市場可以用一升一降來形容,傳統(tǒng)存儲市場份額不斷下降,軟件定義存儲(SDS)的市場份額飆升,SDS已形成星星燎原之勢。
1. SDS迅猛發(fā)展背后的三大原因
SDS之所以能夠獲得迅猛增長,主要是三大原因:技術(shù)的迭代發(fā)展,云計算的加速落地,用戶數(shù)據(jù)指數(shù)級的增長。
硬件方面,SSD、網(wǎng)絡技術(shù)突飛猛進。2017年SSD市場規(guī)模首次超過HDD,根據(jù)研究機構(gòu)Mordor Intelligence統(tǒng)計,2019年,固態(tài)硬盤(SSD)市場份額為348.6億美元,預計在2020年至2025年,復合年增長率為14.94%,到2025年將達到803.4億美元。
網(wǎng)絡方面,隨著萬兆網(wǎng)絡、RDMA技術(shù)及InfiniBand架構(gòu)的普及,網(wǎng)絡沿著10Gb、25Gb、100Gb的路徑演進,未來甚至可達到400Gb。
根據(jù)Gartner發(fā)布的最新云計算市場追蹤數(shù)據(jù)顯示,2019年全球云計算IaaS市場持續(xù)快速增長,同比增長37.3%,總體市場規(guī)模達445億美元。根據(jù)IDC的統(tǒng)計,2025年全球的數(shù)據(jù)量達到163ZB。
閃存和網(wǎng)絡技術(shù)的迭代,為SDS的發(fā)展打下了很好的硬件技術(shù)基礎(chǔ)。云計算的底層存儲基本都是SDS的方式,為SDS積累了豐富的經(jīng)驗。用戶大量的數(shù)據(jù)存儲需求,刺激了SDS的發(fā)展。
2. QingStor NeonSAN表現(xiàn)優(yōu)異
在IDC最新發(fā)布的《中國軟件定義存儲及超融合市場跟蹤研究報告,2019Q4》中,青云QingCloud旗下QingStor企業(yè)級分布式存儲和青立方超融合憑借優(yōu)異的技術(shù)和市場表現(xiàn)雙雙入圍核心廠商。其中,QingStor NeonSAN連續(xù)兩年入圍,躋身軟件定義塊存儲市場四強,并且成功帶動QingStor企業(yè)級分布式存儲近三年復合增長率超600%。
NeonSAN的命名也很有寓意,NeonSAN名字來自于元素周期表中的Ne。Ne是一種惰性氣體,特質(zhì)是穩(wěn)定,意為NeonSAN在可靠性、穩(wěn)定性上達到比較高的水準。
軟件定義存儲經(jīng)過不斷的積累,在硬件迭代,用戶需求的推動下,已經(jīng)日趨成熟,而傳統(tǒng)存儲昂貴,擴展性差的短板,已經(jīng)不能滿足海量的數(shù)據(jù)存儲需求。滄海濁流方顯英雄本色,SDS在高可靠性,高性能方面已經(jīng)能夠滿足核心業(yè)務需求,特別是QingStor NeonSAN,不僅可靠性能達到9個9,性能優(yōu)異,可擴展性強,而且有快照、克隆、加密、QoS、異步/同步復制、容災等多種企業(yè)存儲特性,是企業(yè)核心業(yè)務值得選擇的存儲。
基于第二代英特爾?至強?可擴展平臺打造的QingStor NeonSAN,可確保在計算、存儲、網(wǎng)絡、軟件等多層面為企業(yè)客戶帶來性能強勁、安全可靠、簡單易用的軟件定義存儲解決方案,從而顯著降低系統(tǒng)部署的復雜度和TCO,與企業(yè)現(xiàn)有重要業(yè)務快速無縫銜接。除此之外, QingStor NeonSAN適配英特爾?傲騰?固態(tài)盤(Optane)和英特爾?高速緩存加速軟件(Intel Cache Acceleration Sotware)等多項新技術(shù),實現(xiàn)超高吞吐與極低延時,并且和英特爾共同對整體方案進行了性能優(yōu)化,能夠充分應對企業(yè)應用的嚴苛挑戰(zhàn)。