大數(shù)據(jù)時(shí)代,數(shù)據(jù)成爆炸式增長,數(shù)據(jù)總量ZB級(jí),對(duì)我們的IT系統(tǒng)提出了更大的容量存儲(chǔ)能力和更高的系統(tǒng)性能要求。華為OceanStor MVX存儲(chǔ)系統(tǒng)(以下簡(jiǎn)稱MVX系統(tǒng))采用Scale-Out架構(gòu),通過服務(wù)器的集群方式構(gòu)建,可自由橫向擴(kuò)展,提供統(tǒng)一命名空間,這個(gè)統(tǒng)一的命名空間可以提供高達(dá)170GBps的總帶寬,超過300萬的OPS,以及很低的時(shí)延。MVX系統(tǒng)是如何達(dá)到這樣的卓越性能的呢?
SSD加速
在一個(gè)系統(tǒng)中,我們把用來描述數(shù)據(jù)的數(shù)據(jù)稱為元數(shù)據(jù),元數(shù)據(jù)管理真正的數(shù)據(jù)。元數(shù)據(jù)的特征是數(shù)據(jù)量不大,但訪問頻繁且離散。我們?cè)诓l(fā)訪問數(shù)據(jù)的時(shí)候,需要先訪問元數(shù)據(jù),以獲得數(shù)據(jù)的大小,路徑等信息再通過這些信息訪問數(shù)據(jù)的內(nèi)容。傳統(tǒng)機(jī)械硬盤,順序訪問性能可達(dá)100MB級(jí)別,但小文件隨機(jī)訪問的性能極低。用傳統(tǒng)機(jī)械硬盤來存儲(chǔ)元數(shù)據(jù),元數(shù)據(jù)往往就成為了整個(gè)系統(tǒng)的性能瓶頸。
近幾年固態(tài)硬盤(SSD)技術(shù)突飛猛進(jìn),SSD存儲(chǔ)小文件隨機(jī)訪問的性能有目共睹。就存儲(chǔ)介質(zhì)而言,SSD以其高性能引領(lǐng)著存儲(chǔ)行業(yè)的變革方向。但它同時(shí)也面臨著高成本和低容量的尷尬困境,而這恰恰是傳統(tǒng)硬盤的長項(xiàng)。就目前SSD的發(fā)展程度,在大數(shù)據(jù)時(shí)代,面對(duì)大容量和低成本的要求,所有場(chǎng)景全部采用SSD的方案是不現(xiàn)實(shí)的。
MVX系統(tǒng)基于分布式架構(gòu),數(shù)據(jù)和元數(shù)據(jù)分開管理,系統(tǒng)智能控制元數(shù)據(jù)的分布位置。同時(shí),MVX系統(tǒng)的高性能節(jié)點(diǎn)配置SSD。這樣,MVX系統(tǒng)把元數(shù)據(jù)存放在SSD上,數(shù)據(jù)放在機(jī)械硬盤上,既能提升整系統(tǒng)性能,又能提供大容量空間,還能保持低TCO。
MVX系統(tǒng)不僅僅可以把元數(shù)據(jù)放在SSD上,加速元數(shù)據(jù)訪問速度,還能自動(dòng)識(shí)別小文件,和熱門數(shù)據(jù),并自動(dòng)把部分小文件和熱數(shù)據(jù)放在SSD上。當(dāng)SSD空間滿的時(shí)候,MVX通過自動(dòng)的冷熱文件識(shí)別,把一部分近期被訪問可能性較低的文件轉(zhuǎn)移到SATA或SAS盤上。這樣的設(shè)計(jì)可以讓資源得到充分的利用。
SSD的空間容量畢竟有限,只能放置部分元數(shù)據(jù)和數(shù)據(jù),絕大部分?jǐn)?shù)據(jù)都放在傳統(tǒng)的,讀寫性能比SSD低很多的機(jī)械硬盤上。如果要保證整系統(tǒng)的高性能,僅僅依靠SSD加速還不夠。緩存,一直以來,也是用來提升性能的一大法寶。
全局緩存
在一個(gè)系統(tǒng)中,數(shù)據(jù)通常情況下讀要比寫的頻率高,提升數(shù)據(jù)的讀性能,能顯著提升整系統(tǒng)性能。數(shù)據(jù)從緩存中讀出,比從硬盤讀出快很多倍。傳統(tǒng)的做法是盡可能加大節(jié)點(diǎn)的緩存,但單節(jié)點(diǎn)的緩存總是有上限的。而且傳統(tǒng)集群服務(wù)器的緩存往往是各自為政,同一塊數(shù)據(jù)有可能被多個(gè)節(jié)點(diǎn)的緩存分別進(jìn)行緩存處理,隨著節(jié)點(diǎn)的增加,緩存命中率不會(huì)得到提高,磁盤的讀性能得不到改善,數(shù)據(jù)的一致性保證機(jī)制也會(huì)非常復(fù)雜,進(jìn)而消耗過多的系統(tǒng)資源。
MVX系統(tǒng)作為一個(gè)分布式,share nothing架構(gòu)的系統(tǒng),每個(gè)節(jié)點(diǎn)都對(duì)外提供服務(wù)。MVX系統(tǒng)采用全局緩存模式,把所有單節(jié)點(diǎn)的緩存聯(lián)合起來,整合成一個(gè)大緩存池,從任一節(jié)點(diǎn)訪問,讀寫均可以在全局緩存池中作統(tǒng)一的命中處理。MVX最高可以擁有超過4TB的超大緩存,大大提高緩存命中率,減少讀盤次數(shù),降低訪問時(shí)延,提升系統(tǒng)并發(fā)度、進(jìn)而提升整系統(tǒng)性能。
把所有單節(jié)點(diǎn)的緩存整合成一個(gè)統(tǒng)一的全局緩存池,需要通過系統(tǒng)的內(nèi)部網(wǎng)絡(luò)來完成數(shù)據(jù)的交換,如果內(nèi)部網(wǎng)絡(luò)性能差,時(shí)延大,必然影響整體的系統(tǒng)性能。