云計(jì)算加速發(fā)展的勢(shì)頭愈演愈烈,企業(yè)IT人員聊的已經(jīng)不是“我們要不要上云計(jì)算?”,而是“怎樣上云?如何用好云?”那么當(dāng)企業(yè)張開(kāi)雙臂擁抱云計(jì)算的時(shí)候,對(duì)原有的傳統(tǒng)IT架構(gòu)會(huì)造成多大沖擊?原有的傳統(tǒng)IT架構(gòu)能不能滿(mǎn)足上云的這些需求?從存儲(chǔ)架構(gòu)來(lái)說(shuō),無(wú)疑是不小的考驗(yàn)。
通常來(lái)講,主流的存儲(chǔ)類(lèi)型可以分為塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)。當(dāng)然今天主要講的是塊存儲(chǔ)。傳統(tǒng)SAN存儲(chǔ)是過(guò)去人們經(jīng)常在討論的一種集中式塊存儲(chǔ),其交付給客戶(hù)的時(shí)候通常是以一種雙控架構(gòu)的形式出現(xiàn),可理解為背板專(zhuān)有硬件集成了兩個(gè)控制節(jié)點(diǎn),緊密耦合在一起,這使得在業(yè)務(wù)部署的時(shí)候會(huì)以“成對(duì)”的形式出現(xiàn),并且一對(duì)雙控和另一對(duì)雙控之間要互相通信,對(duì)網(wǎng)絡(luò)環(huán)境有著較高要求,企業(yè)不同業(yè)務(wù)部門(mén)的存儲(chǔ)系統(tǒng)難以發(fā)揮協(xié)同作用。
傳統(tǒng)的集中式塊存儲(chǔ)計(jì)算能力還是主要由控制器提供,所以計(jì)算力是受限的。打個(gè)比喻,傳統(tǒng)的綠皮火車(chē),只有一個(gè)火車(chē)頭在跑,加容量只是不停的在后面一節(jié)一節(jié)的掛火車(chē)皮,它的性能無(wú)法得到線(xiàn)性的增長(zhǎng),可能你掛的越多,最后平均下來(lái)整個(gè)系統(tǒng)運(yùn)行的效率越慢。
此外,其需要專(zhuān)有的硬件設(shè)計(jì)以及專(zhuān)業(yè)的硬件架構(gòu),這也造成了其本身?yè)碛械挠布杀久黠@高于x86服務(wù)器,運(yùn)維起來(lái)也比較復(fù)雜。一般這種存儲(chǔ)出問(wèn)題的話(huà),基本上需要專(zhuān)業(yè)廠商派專(zhuān)業(yè)的服務(wù)人員來(lái)解決。由此可以看到,傳統(tǒng)的存儲(chǔ)如果想適應(yīng)云時(shí)代的需求,面臨著比較明顯的局限。
想讓存儲(chǔ)滿(mǎn)足云時(shí)代的要求,要滿(mǎn)足哪些特點(diǎn)?首先,要基于標(biāo)準(zhǔn)x86硬件、軟件/硬件冗余設(shè)計(jì),整體架構(gòu)高可用,存儲(chǔ)是數(shù)據(jù)的一個(gè)終點(diǎn),要通過(guò)計(jì)算、網(wǎng)絡(luò)最終把數(shù)據(jù)保存在存儲(chǔ)上。其次,根據(jù)業(yè)務(wù)架構(gòu)與規(guī)模進(jìn)行存儲(chǔ)架構(gòu)的調(diào)整。存儲(chǔ)能夠根據(jù)業(yè)務(wù)架構(gòu)的調(diào)整、業(yè)務(wù)規(guī)模的變化相應(yīng)的做靈活的調(diào)整。
再有,容量和性能擁有完整的Scale Out能力,讓性能和容量可以隨著節(jié)點(diǎn)線(xiàn)性增長(zhǎng)。同時(shí),開(kāi)放的API、支持與業(yè)務(wù)耦合。需要做到軟件定義,需要提供開(kāi)放的API,可以為不同的業(yè)務(wù)做耦合,不需要綁得那么緊。此外,統(tǒng)一管理、統(tǒng)一運(yùn)維。在管理和運(yùn)維方面,一定盡量簡(jiǎn)化運(yùn)維人員參與的復(fù)雜度,降低運(yùn)維成本,盡量讓存儲(chǔ)系統(tǒng)自己去運(yùn)維。
對(duì)于企業(yè)的核心業(yè)務(wù)系統(tǒng)來(lái)講,數(shù)據(jù)庫(kù)算是典型的應(yīng)用場(chǎng)景之一,這里面包括了傳統(tǒng)的業(yè)務(wù)系統(tǒng),比如Oracle、SQL Server、SAP,大部分的金融行業(yè)客戶(hù)或者傳統(tǒng)企業(yè)一定會(huì)用這種數(shù)據(jù)庫(kù),當(dāng)然也有一些面向分布式的解決方案,比如基于MySQL的分布式數(shù)據(jù)庫(kù),MySQL是目前比較流行的或者大多數(shù)客戶(hù)在新業(yè)務(wù)系統(tǒng)部署時(shí)候使用的開(kāi)源數(shù)據(jù)庫(kù)。
舉個(gè)例子,某家保險(xiǎn)巨頭需要的存儲(chǔ)系統(tǒng)要具備足夠的穩(wěn)定性、足夠的性能,才放心讓它支撐核心業(yè)務(wù)系統(tǒng)。核心業(yè)務(wù)系統(tǒng)里面數(shù)據(jù)庫(kù)是最關(guān)鍵的,比如最常見(jiàn)的Oracle數(shù)據(jù)庫(kù),傳統(tǒng)企業(yè)用什么跑Oracle?基本上都是國(guó)外廠商的品牌,比如EMC、IBM或者Oracle一體機(jī)來(lái)跑Oracle數(shù)據(jù)庫(kù)。
為什么數(shù)據(jù)庫(kù)非常關(guān)鍵呢?比如說(shuō)這個(gè)保險(xiǎn)客戶(hù),所有的保單,客戶(hù)支付的保費(fèi)、賠付的金額,都要放在這個(gè)數(shù)據(jù)庫(kù)里面。如果這個(gè)數(shù)據(jù)庫(kù)出現(xiàn)任何問(wèn)題,哪怕丟一筆數(shù)據(jù),如果這個(gè)客戶(hù)要做理賠,服務(wù)商不清楚他到底繳了多少錢(qián)、需要賠付他多少錢(qián),這個(gè)產(chǎn)生的問(wèn)題就非常大了。銀行更是一樣,存一筆錢(qián)進(jìn)去之后,這個(gè)數(shù)據(jù)丟了,對(duì)銀行和客戶(hù)都有很?chē)?yán)重的影響。另外一個(gè)層面來(lái)講,新的業(yè)務(wù)系統(tǒng)要能夠基于當(dāng)前較為流行的Serverless、服務(wù)網(wǎng)格、容器K8S,可以將新的業(yè)務(wù)系統(tǒng)采用最新的架構(gòu)來(lái)做承載和部署。
如果剖析一些新的分布式存儲(chǔ)架構(gòu)的網(wǎng)絡(luò)拓?fù)洌梢钥吹角岸说臉I(yè)務(wù)集群沒(méi)有任何變更,數(shù)據(jù)庫(kù)的服務(wù)集群,比如說(shuō)三節(jié)點(diǎn)的Oracle RAC系統(tǒng),也沒(méi)有太大的變化。變化在哪?在整個(gè)萬(wàn)兆網(wǎng)絡(luò)和存儲(chǔ)服務(wù)集群。傳統(tǒng)業(yè)務(wù)里,存儲(chǔ)是基于FC的存儲(chǔ),網(wǎng)絡(luò)是兩套網(wǎng)絡(luò),一套網(wǎng)絡(luò)是基于業(yè)務(wù)的傳統(tǒng)萬(wàn)兆以太網(wǎng)絡(luò)或者千兆以太網(wǎng)絡(luò);另一套網(wǎng)絡(luò)是專(zhuān)門(mén)跑存儲(chǔ)的FC網(wǎng)絡(luò)。
當(dāng)做了存儲(chǔ)技術(shù)架構(gòu)的變更之后,從網(wǎng)絡(luò)層面來(lái)看就是統(tǒng)一架構(gòu)了,基于一套萬(wàn)兆的以太網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)的。存儲(chǔ)的網(wǎng)絡(luò)和業(yè)務(wù)的網(wǎng)絡(luò)整合,對(duì)運(yùn)維來(lái)說(shuō)復(fù)雜度降低了,因?yàn)樗峭惶准軜?gòu)。此外,在存儲(chǔ)服務(wù)集群上可以看到網(wǎng)絡(luò)拓?fù)湎鄬?duì)比較復(fù)雜,因?yàn)橐粋€(gè)節(jié)點(diǎn)上面有四根網(wǎng)線(xiàn)來(lái)做業(yè)務(wù)的傳輸和網(wǎng)絡(luò)的傳輸,不過(guò)網(wǎng)絡(luò)的流量是可以做平均分配的,因?yàn)槠錄](méi)有一個(gè)統(tǒng)一的入口,不像傳統(tǒng)的集中式存儲(chǔ),而是有兩個(gè)存儲(chǔ)網(wǎng)關(guān),所有的流量都要通過(guò)存儲(chǔ)網(wǎng)關(guān)與后端存儲(chǔ)來(lái)做通信。
分布式存儲(chǔ)的網(wǎng)絡(luò)流量、業(yè)務(wù)流量是均勻分布到所有存儲(chǔ)節(jié)點(diǎn)的,會(huì)將網(wǎng)絡(luò)流量和網(wǎng)絡(luò)壓力做了平均分配,可以實(shí)現(xiàn)對(duì)業(yè)務(wù)流量的分擔(dān),具備很大的容量擴(kuò)展和網(wǎng)絡(luò)并發(fā)能力的??梢哉f(shuō),是一個(gè)比較典型的傳統(tǒng)金融行業(yè)客戶(hù)對(duì)存儲(chǔ)和數(shù)據(jù)庫(kù)的使用架構(gòu)。
結(jié)語(yǔ)
總體來(lái)說(shuō),高性能、高可用、快速交付、業(yè)務(wù)連續(xù)性、工作負(fù)載管理是云時(shí)代分布式存儲(chǔ)需要具備的五個(gè)特性,而只有這樣才能滿(mǎn)足對(duì)企業(yè)核心業(yè)務(wù)系統(tǒng)的支持需求。