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