上周太忙,幾乎沒(méi)有和大家分享過(guò)技術(shù)文章。現(xiàn)在放假了,正好補(bǔ)上。雖然我知道小長(zhǎng)假發(fā)文章閱讀量不高,但還是把我的學(xué)習(xí)心得記錄下來(lái),不為別的,就算做個(gè)筆記罷了。 上周,IBM發(fā)布了三款全閃存陣列產(chǎn)品,F(xiàn)lashSystem A9000和A9000R,還有DS8888。DS8888以前我們就劇透過(guò)一些,是DS8880的全閃存版本。不過(guò),奇怪的是,IBM只是把DS8888定位為大型機(jī)專(zhuān)用全閃存陣列,因?yàn)橛辛薃9000R,其已經(jīng)成為開(kāi)放環(huán)境的高端AFA的優(yōu)選。 今天勞動(dòng)節(jié),我們主要來(lái)聊聊FlashSystem A9000和A9000R,看看IBM的包裝技術(shù)是否又長(zhǎng)進(jìn)了。 要了解A9000和A9000R,首先要了解其架構(gòu)的起源。話(huà)說(shuō)IBM在2012年收購(gòu)了TMS,獲得了全閃存陣列的技術(shù),最新的產(chǎn)品就是FlashSystem 900。但900采用的是硬件定義閃存的思路,其特點(diǎn)是利用硬件的設(shè)計(jì),把不太可靠的cMLC顆粒變成可靠的企業(yè)閃存。900的最大特點(diǎn)就是超低時(shí)延,100us左右,是所有的非NVMe AFA里面時(shí)延最低的AFA之一。但900也有自己最大的硬傷,其數(shù)據(jù)服務(wù)基本沒(méi)有。因此,IBM把自己的SVC技術(shù)和FlashSystem 900組合在一起,包裝出了一個(gè)FlashSystem V9000。但是,隨著IBM的轉(zhuǎn)型,認(rèn)知計(jì)算和云是IBM的主力方向,IBM需要一款擴(kuò)展性更強(qiáng),對(duì)云架構(gòu)支持更加理想的AFA產(chǎn)品。但是,TMS剛剛收購(gòu)不久,不太可能再收購(gòu)一個(gè)Startup公司了。因此,兩年前,IBM思前想后,認(rèn)為XIV的網(wǎng)格軟件技術(shù)結(jié)合FlashSystem的硬件閃存是一個(gè)最佳的組合。經(jīng)過(guò)TMS和XIV的跨國(guó)合作(XIV是2008年收購(gòu)的以色列公司),休斯頓和特拉維夫的研發(fā)人員飛越大西洋和地中海,緊密合作,終于誕生了A9000這個(gè)產(chǎn)品。 網(wǎng)格存儲(chǔ)系統(tǒng),是XIV采用的技術(shù)。后來(lái)IBM把XIV軟件化,叫做Spectrum Accelerate,現(xiàn)在又有了A9000(西瓜哥懷疑A9000的A的命名就是來(lái)自Accelerate的首字母)。這三款產(chǎn)品,都是采用網(wǎng)格存儲(chǔ)系統(tǒng)的原理,即數(shù)據(jù)進(jìn)入系統(tǒng)會(huì)切成固定大小的數(shù)據(jù)塊,然后隨機(jī)分布到所有的節(jié)點(diǎn),避免熱點(diǎn)問(wèn)題。而節(jié)點(diǎn)也是AA負(fù)載分擔(dān)。節(jié)點(diǎn)和節(jié)點(diǎn)之間采用以太網(wǎng)或者Infiniband高速網(wǎng)絡(luò)互連。節(jié)點(diǎn)可以帶主機(jī)接口,也可以不帶主機(jī)接口。 大家了解XIV的特點(diǎn)后,其實(shí)理解A9000就so easy了。A9000采用了三個(gè)網(wǎng)格控制器,然后再加一個(gè)后端存儲(chǔ)框FlashSystem 900。網(wǎng)格控制器是一個(gè)2U的服務(wù)器,而900也是2U。因此,A9000就是一個(gè)8U的一個(gè)設(shè)備。 三個(gè)網(wǎng)格控制器之間采用Infiniband進(jìn)行兩兩互聯(lián),由于只有三個(gè)設(shè)備,因此,可以不用IB交換機(jī)。但是,IBM連接閃存框900的時(shí)候,沒(méi)有采用SAS方式,而是采用IB,因此,網(wǎng)格控制器上需要兩塊IB HCA卡。至于為什么采用IB,西瓜哥分析900它不是一個(gè)普通的SAS磁盤(pán)框,實(shí)際上900就是一個(gè)AFA,因此,采用IB連接實(shí)現(xiàn)對(duì)等通訊肯定是比較合適。而SAS一般只是I/O的交換。IBM的紅皮書(shū)寫(xiě)節(jié)點(diǎn)通訊采用IP over IB技術(shù),但沒(méi)有說(shuō)是否采用RDMA。 這種三節(jié)點(diǎn)環(huán)形直連的方式,大家知道高端存儲(chǔ)Infinidat的Infinibox就是這樣做的,唯一不同就是其后端磁盤(pán)框用SAS連接。由于XIV的團(tuán)隊(duì)和Infinidat團(tuán)隊(duì)曾經(jīng)都是高端存儲(chǔ)之父Moshe Yanai的人,也都在以色列,相信很多人都認(rèn)識(shí),互通有無(wú),因此,這個(gè)思路就被A9000借鑒過(guò)來(lái)了。 A9000是固定配置,也就是不能再擴(kuò)展節(jié)點(diǎn)了。如果用戶(hù)覺(jué)得擴(kuò)展性不夠,那么就需要采用A9000R了。A9000R的R指的是Rack的意思,也就是可以擴(kuò)展到一個(gè)機(jī)柜。 A9000R其內(nèi)部的基本組成單元叫網(wǎng)格元素(grid element),包含兩個(gè)網(wǎng)格控制器和一個(gè)FlashSystem 900閃存柜。 網(wǎng)格模塊采用兩塊HDD來(lái)作為系統(tǒng)盤(pán),但采用兩個(gè)SSD來(lái)做保險(xiǎn)箱,實(shí)現(xiàn)掉電保護(hù)功能。 由于采用IB交換機(jī),因此,節(jié)點(diǎn)上只需要插一塊IB HCA卡。為了支持實(shí)時(shí)壓縮,和XIV一樣,采用兩塊數(shù)據(jù)壓縮加速卡。 系統(tǒng)從兩個(gè)網(wǎng)格元素可以橫向擴(kuò)展到六個(gè)網(wǎng)格元素,剛好裝滿(mǎn)一個(gè)42U的機(jī)柜。為什么需要4控起配,是由于其寫(xiě)cache采用了三副本的方式。 機(jī)柜里面配置2個(gè)56G的IB交換機(jī)連接各個(gè)節(jié)點(diǎn),包括網(wǎng)格控制器和閃存柜。 而且,A9000/A9000R采用了全新的HyperScale的GUI,而不是原來(lái)熟悉的XIV的界面,好像更COOL了一些。當(dāng)然,A9000也是支持HyperScale的了。 A9000/A9000R最大最大的改進(jìn)就是補(bǔ)全了FlashSystem一直欠缺的在線(xiàn)重刪特性。由于采用網(wǎng)格架構(gòu),因此重刪也是分布到各個(gè)控制器并行處理的。而且,重刪是在Cache之后進(jìn)行。 A9000/A9000R還有一個(gè)巨大的改變是寫(xiě)Cache采用三副本的方式,正常情況Cache保存在三個(gè)網(wǎng)格控制器,因此可以容忍同時(shí)壞2個(gè)控制器的情況出現(xiàn)(由于A9000只有3個(gè)控制器,因此如果壞2個(gè),系統(tǒng)會(huì)自動(dòng)關(guān)機(jī))。 所有的主機(jī)寫(xiě)數(shù)據(jù)被分割為8KB的數(shù)據(jù)塊(這個(gè)粒度和XtremIO最新的版本一樣,但XtremIO最初用的是4KB),第一步先做模式匹配,然后第二步是重刪,然后才是壓縮。這個(gè)模式匹配指系統(tǒng)預(yù)先指定的某些數(shù)據(jù)類(lèi)型,在IBM的紅皮書(shū)里并沒(méi)有進(jìn)一步的描述。西瓜哥猜想,應(yīng)該是一些常見(jiàn)的格式,如全0,全1,全10,全01式的填充。這些格式是程序常用的,如格式化,初始化等。第一步先進(jìn)行模式匹配,由于元數(shù)據(jù)少,速度應(yīng)該是極快的。 重刪的數(shù)據(jù)在cache里采用segment內(nèi)存結(jié)構(gòu)進(jìn)行順序保存,segment內(nèi)包含數(shù)據(jù),也包含指針。數(shù)據(jù)和指針混在一起,有時(shí)序特性,據(jù)說(shuō)這樣查找的速度更快。 雖然A9000采用8KB固定塊重刪,但支持4KB對(duì)齊。也就是其Hash是以4KB粒度進(jìn)行的。 這樣會(huì)提高重刪率,特別是在VDI場(chǎng)景下。IBM提供的數(shù)據(jù)顯示,VDI場(chǎng)景,其重刪高達(dá)25:1。 重刪完成后就是壓縮了。壓縮的算法是gzip,采用硬件加速。我們把這三個(gè)數(shù)據(jù)縮減流程匯總一下,就是下圖。大家注意,一個(gè)數(shù)據(jù)塊只要前面匹配成功,后面的流程就不再進(jìn)行了。 IBM的紅皮書(shū)并沒(méi)有說(shuō)重刪是否是無(wú)損的,也就是發(fā)生指紋匹配是否還要進(jìn)行bit to bit的檢驗(yàn)。 從紅皮書(shū)里面也沒(méi)有看到數(shù)據(jù)縮減是可以關(guān)閉,也就是和XtremIO一樣,是Always on的方式。IBM說(shuō),A9000可以做到250us的時(shí)延。 A9000為了保證低時(shí)延,數(shù)據(jù)寫(xiě)到Cache時(shí)并沒(méi)有進(jìn)行縮減。而是事后在Cache里進(jìn)行數(shù)據(jù)的縮減的工作,縮減完成后再回寫(xiě)Cache。這個(gè)機(jī)制雖然時(shí)延較好(I/O負(fù)載比較輕的時(shí)候),但內(nèi)存的利用率顯然不高,需要專(zhuān)門(mén)的空間進(jìn)行重刪壓縮,而且重刪壓縮是異步的,I/O量大的時(shí)候不一定處理得過(guò)來(lái)。不過(guò),IBM的紅皮書(shū)說(shuō)90%的cache容量都留給讀寫(xiě)I/O,而數(shù)據(jù)縮減只占用10%的cache空間。 A9000/A9000R的數(shù)據(jù)在Cache里面做完數(shù)據(jù)縮減后,最后落盤(pán)到閃存框里。我們知道XIV的數(shù)據(jù)切片是1M分區(qū)大小,采用兩副本的方式。但A9000/A9000R采用的數(shù)據(jù)切片是16MB分區(qū)大小,但沒(méi)有再做兩副本冗余,而是直接分散到各個(gè)閃存柜里。因?yàn)殚W存柜就是一臺(tái)FlashSystem 900,里面已經(jīng)采用IBM的二維RAID進(jìn)行了數(shù)據(jù)保護(hù),和XIV不同。不過(guò),A9000只有一個(gè)閃存柜,因此物理上也談不上打散了。但西瓜哥猜想16MB的切片應(yīng)該是隨機(jī)歸屬到三個(gè)網(wǎng)格控制器的,因此,從主機(jī)視角來(lái)看,這些數(shù)據(jù)切片是隨機(jī)打散到三個(gè)網(wǎng)格控制器上的。 最后,我們看一下A9000的規(guī)格。IBM的壓縮宣傳是2:1,加上這次多了一個(gè)重刪特性,宣傳整體的數(shù)據(jù)縮減率是5:1,和業(yè)界廠(chǎng)商宣傳的指標(biāo)基本一樣。不過(guò),我們看到其整機(jī)的最大有效容量只有1200TB,IBM說(shuō)這是設(shè)計(jì)限制。這個(gè)有點(diǎn)像EMC VMAX3,其最大可用容量是固定的4PB,因?yàn)樵獢?shù)據(jù)都在內(nèi)存里,內(nèi)存的容量規(guī)格決定了這個(gè)值,而不是支持的磁盤(pán)數(shù)量。A9000估計(jì)也是類(lèi)似情況。 介紹完A9000/A9000R,西瓜哥最后來(lái)點(diǎn)評(píng)一下IBM的新產(chǎn)品。 先說(shuō)優(yōu)點(diǎn): 1、補(bǔ)上重刪特性,閃存效率進(jìn)一步提升,在關(guān)鍵特性上和業(yè)界主流AFA對(duì)齊; 2、繼承了XIV的豐富特性,特別是對(duì)云環(huán)境的支持更加完善; 3、雖然時(shí)延從FlashSystem 900的100us增加到250us,但任然是主流AFA里面最低時(shí)延的產(chǎn)品之一; 4、Cache采用三副本的方式,可以支持同時(shí)故障兩個(gè)控制器,可用性進(jìn)一步提高。這個(gè)特點(diǎn)也是區(qū)別于市場(chǎng)其他產(chǎn)品的最大特點(diǎn)之一。 4、A9000三控直連,可靠性高,而且省去了2臺(tái)IB交換機(jī),性?xún)r(jià)比突出。 再看不足: 1、A9000不能擴(kuò)展,而A9000R雖然能夠擴(kuò)展,但是以網(wǎng)格元素為單位,靈活性不足; 2、重刪壓縮采取異步方式,內(nèi)存管理復(fù)雜,Cache的使用效率不高。加上寫(xiě)Cache采用三副本方式,Cache使用率進(jìn)一步下降; 3、相比V9000,少了異構(gòu)虛擬化,也不支持雙活。 不管怎樣,A9000/A9000R補(bǔ)齊了重刪特性,3控起步,加上XIV強(qiáng)大的云環(huán)境支持能力,還是大大增強(qiáng)了FlashSystem的競(jìng)爭(zhēng)力。A9000R也可以理解為XIV的全閃存版本,這樣也可以認(rèn)為是全閃存的高端存儲(chǔ)了。而DS8888只支持大型機(jī),開(kāi)放環(huán)境的高端場(chǎng)景應(yīng)該就是由A9000R來(lái)承擔(dān)了。由于A9000不支持SVC那樣的異構(gòu)虛擬化和雙活,因此V9000產(chǎn)品IBM估計(jì)還是會(huì)保留,滿(mǎn)足市場(chǎng)的不同需求,而不是一個(gè)替代的關(guān)系。但大多數(shù)場(chǎng)景,A9000應(yīng)該是主推的形態(tài),只有A9000無(wú)法滿(mǎn)足的場(chǎng)景,V9000才會(huì)被考慮。 總結(jié)一下,西瓜哥畫(huà)了一個(gè)圖來(lái)總結(jié)一下IBM的4款全閃存陣列的定位。 好了,今天就這來(lái)。今天的分享,僅代表西瓜哥個(gè)人的理解,錯(cuò)誤之處,請(qǐng)IBMer在評(píng)論里指出,謝謝。 祝福高端存儲(chǔ)知識(shí)的讀者5.1勞動(dòng)節(jié)快樂(lè)! |